summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--doc/contributing/contributing-to-documentation.chapter.md14
-rw-r--r--lib/meta.nix11
-rw-r--r--lib/systems/inspect.nix19
-rw-r--r--nixos/doc/manual/default.nix15
-rw-r--r--nixos/doc/manual/development/meta-attributes.section.md26
-rw-r--r--nixos/doc/manual/from_md/development/meta-attributes.section.xml29
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2305.section.xml7
-rwxr-xr-xnixos/doc/manual/md-to-db.sh18
-rw-r--r--nixos/doc/manual/release-notes/rl-2305.section.md2
-rw-r--r--nixos/lib/make-options-doc/default.nix39
-rw-r--r--nixos/lib/make-options-doc/optionsToDocbook.py343
-rw-r--r--nixos/modules/i18n/input-method/default.nix2
-rw-r--r--nixos/modules/i18n/input-method/default.xml275
-rw-r--r--nixos/modules/misc/meta.nix2
-rw-r--r--nixos/modules/programs/digitalbitbox/default.nix2
-rw-r--r--nixos/modules/programs/digitalbitbox/default.xml70
-rw-r--r--nixos/modules/programs/plotinus.nix2
-rw-r--r--nixos/modules/programs/plotinus.xml30
-rw-r--r--nixos/modules/programs/zsh/oh-my-zsh.nix2
-rw-r--r--nixos/modules/programs/zsh/oh-my-zsh.xml154
-rw-r--r--nixos/modules/security/acme/default.nix2
-rw-r--r--nixos/modules/security/acme/default.xml395
-rw-r--r--nixos/modules/services/backup/borgbackup.nix2
-rw-r--r--nixos/modules/services/backup/borgbackup.xml215
-rw-r--r--nixos/modules/services/databases/foundationdb.nix2
-rw-r--r--nixos/modules/services/databases/foundationdb.xml425
-rw-r--r--nixos/modules/services/databases/postgresql.nix2
-rw-r--r--nixos/modules/services/databases/postgresql.xml250
-rw-r--r--nixos/modules/services/desktops/flatpak.nix2
-rw-r--r--nixos/modules/services/desktops/flatpak.xml59
-rw-r--r--nixos/modules/services/development/blackfire.nix2
-rw-r--r--nixos/modules/services/development/blackfire.xml61
-rw-r--r--nixos/modules/services/editors/emacs.nix2
-rw-r--r--nixos/modules/services/editors/emacs.xml490
-rw-r--r--nixos/modules/services/hardware/trezord.nix2
-rw-r--r--nixos/modules/services/hardware/trezord.xml29
-rw-r--r--nixos/modules/services/mail/mailman.nix2
-rw-r--r--nixos/modules/services/mail/mailman.xml112
-rw-r--r--nixos/modules/services/matrix/mjolnir.nix2
-rw-r--r--nixos/modules/services/matrix/mjolnir.xml148
-rw-r--r--nixos/modules/services/matrix/synapse.nix2
-rw-r--r--nixos/modules/services/matrix/synapse.xml263
-rw-r--r--nixos/modules/services/misc/gitlab.nix2
-rw-r--r--nixos/modules/services/misc/gitlab.xml143
-rw-r--r--nixos/modules/services/misc/sourcehut/default.nix2
-rw-r--r--nixos/modules/services/misc/sourcehut/default.xml113
-rw-r--r--nixos/modules/services/misc/taskserver/default.nix2
-rw-r--r--nixos/modules/services/misc/taskserver/default.xml130
-rw-r--r--nixos/modules/services/misc/weechat.nix2
-rw-r--r--nixos/modules/services/misc/weechat.xml63
-rw-r--r--nixos/modules/services/monitoring/parsedmarc.nix2
-rw-r--r--nixos/modules/services/monitoring/parsedmarc.xml126
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters.nix2
-rw-r--r--nixos/modules/services/monitoring/prometheus/exporters.xml245
-rw-r--r--nixos/modules/services/network-filesystems/litestream/default.nix2
-rw-r--r--nixos/modules/services/network-filesystems/litestream/default.xml62
-rw-r--r--nixos/modules/services/networking/firefox-syncserver.nix2
-rw-r--r--nixos/modules/services/networking/firefox-syncserver.xml79
-rw-r--r--nixos/modules/services/networking/mosquitto.nix2
-rw-r--r--nixos/modules/services/networking/mosquitto.xml149
-rw-r--r--nixos/modules/services/networking/pleroma.nix2
-rw-r--r--nixos/modules/services/networking/pleroma.xml244
-rw-r--r--nixos/modules/services/networking/prosody.nix2
-rw-r--r--nixos/modules/services/networking/prosody.xml92
-rw-r--r--nixos/modules/services/networking/yggdrasil.nix2
-rw-r--r--nixos/modules/services/networking/yggdrasil.xml157
-rw-r--r--nixos/modules/services/search/meilisearch.nix2
-rw-r--r--nixos/modules/services/search/meilisearch.xml87
-rw-r--r--nixos/modules/services/web-apps/akkoma.nix2
-rw-r--r--nixos/modules/services/web-apps/akkoma.xml398
-rw-r--r--nixos/modules/services/web-apps/discourse.nix2
-rw-r--r--nixos/modules/services/web-apps/discourse.xml331
-rw-r--r--nixos/modules/services/web-apps/grocy.nix2
-rw-r--r--nixos/modules/services/web-apps/grocy.xml84
-rw-r--r--nixos/modules/services/web-apps/jitsi-meet.nix2
-rw-r--r--nixos/modules/services/web-apps/jitsi-meet.xml55
-rw-r--r--nixos/modules/services/web-apps/keycloak.nix2
-rw-r--r--nixos/modules/services/web-apps/keycloak.xml177
-rw-r--r--nixos/modules/services/web-apps/lemmy.nix2
-rw-r--r--nixos/modules/services/web-apps/lemmy.xml53
-rw-r--r--nixos/modules/services/web-apps/matomo.nix2
-rw-r--r--nixos/modules/services/web-apps/matomo.xml107
-rw-r--r--nixos/modules/services/web-apps/nextcloud.nix2
-rw-r--r--nixos/modules/services/web-apps/nextcloud.xml333
-rw-r--r--nixos/modules/services/web-apps/pict-rs.nix2
-rw-r--r--nixos/modules/services/web-apps/pict-rs.xml185
-rw-r--r--nixos/modules/services/web-apps/plausible.nix2
-rw-r--r--nixos/modules/services/web-apps/plausible.xml45
-rw-r--r--nixos/modules/services/web-servers/garage.nix2
-rw-r--r--nixos/modules/services/web-servers/garage.xml206
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/gnome.xml261
-rw-r--r--nixos/modules/services/x11/desktop-managers/pantheon.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/pantheon.xml171
-rw-r--r--nixos/modules/system/boot/loader/external/external.nix2
-rw-r--r--nixos/modules/system/boot/loader/external/external.xml43
-rw-r--r--nixos/modules/system/boot/systemd/coredump.nix16
-rw-r--r--pkgs/applications/audio/tidal-hifi/default.nix11
-rw-r--r--pkgs/applications/gis/qgis/unwrapped-ltr.nix4
-rw-r--r--pkgs/applications/gis/qgis/unwrapped.nix4
-rw-r--r--pkgs/applications/misc/obsidian/default.nix4
-rw-r--r--pkgs/applications/science/misc/cwltool/default.nix4
-rw-r--r--pkgs/applications/video/ani-cli/default.nix10
-rw-r--r--pkgs/data/fonts/font-awesome/default.nix33
-rw-r--r--pkgs/data/fonts/open-sans/default.nix26
-rw-r--r--pkgs/development/libraries/libde265/default.nix3
-rw-r--r--pkgs/development/libraries/mesa/default.nix6
-rw-r--r--pkgs/development/mobile/maestro/default.nix4
-rw-r--r--pkgs/development/node-packages/node-packages.json2
-rw-r--r--pkgs/development/node-packages/node-packages.nix10129
-rw-r--r--pkgs/development/python-modules/agate-sql/default.nix4
-rw-r--r--pkgs/development/python-modules/aio-geojson-generic-client/default.nix4
-rw-r--r--pkgs/development/python-modules/aliyun-python-sdk-dbfs/default.nix4
-rw-r--r--pkgs/development/python-modules/blinkpy/default.nix13
-rw-r--r--pkgs/development/python-modules/dictpath/default.nix36
-rw-r--r--pkgs/development/python-modules/evdev/default.nix28
-rw-r--r--pkgs/development/python-modules/fakeredis/default.nix4
-rw-r--r--pkgs/development/python-modules/fritzconnection/default.nix6
-rw-r--r--pkgs/development/python-modules/goodwe/default.nix4
-rw-r--r--pkgs/development/python-modules/identify/default.nix4
-rw-r--r--pkgs/development/python-modules/insteon-frontend-home-assistant/default.nix23
-rw-r--r--pkgs/development/python-modules/pathable/default.nix1
-rw-r--r--pkgs/development/python-modules/py-sr25519-bindings/Cargo.lock235
-rw-r--r--pkgs/development/python-modules/py-synologydsm-api/default.nix24
-rw-r--r--pkgs/development/python-modules/pyaftership/default.nix7
-rw-r--r--pkgs/development/python-modules/pydaikin/default.nix4
-rw-r--r--pkgs/development/python-modules/pyisy/default.nix18
-rw-r--r--pkgs/development/python-modules/pyquil/default.nix27
-rw-r--r--pkgs/development/python-modules/pytautulli/default.nix4
-rw-r--r--pkgs/development/python-modules/qcs-api-client/default.nix50
-rw-r--r--pkgs/development/tools/coder/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/drone/default.nix3
-rw-r--r--pkgs/development/tools/ginkgo/default.nix6
-rw-r--r--pkgs/development/tools/metal-cli/default.nix4
-rw-r--r--pkgs/development/tools/misc/slint-lsp/default.nix6
-rw-r--r--pkgs/development/tools/pscale/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-semver-checks/default.nix6
-rw-r--r--pkgs/development/web/flyctl/default.nix6
-rw-r--r--pkgs/games/runescape-launcher/default.nix4
-rw-r--r--pkgs/os-specific/darwin/DarwinTools/default.nix4
-rw-r--r--pkgs/os-specific/darwin/xattr/default.nix15
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix3
-rw-r--r--pkgs/servers/code-server/default.nix17
-rw-r--r--pkgs/servers/invidious/versions.json6
-rw-r--r--pkgs/servers/openvscode-server/default.nix19
-rw-r--r--pkgs/stdenv/generic/check-meta.nix2
-rw-r--r--pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--pkgs/tools/filesystems/hfsprogs/default.nix11
-rw-r--r--pkgs/tools/misc/grub/pvgrub_image/default.nix3
-rw-r--r--pkgs/tools/networking/burpsuite/default.nix4
-rw-r--r--pkgs/tools/nix/nixos-render-docs/default.nix63
-rw-r--r--pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/__init__.py24
-rw-r--r--pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/docbook.py254
-rw-r--r--pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py143
-rw-r--r--pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/md.py385
-rw-r--r--pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py284
-rw-r--r--pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/types.py13
-rw-r--r--pkgs/tools/nix/nixos-render-docs/src/pyproject.toml15
-rw-r--r--pkgs/tools/nix/nixos-render-docs/src/tests/test_headings.py102
-rw-r--r--pkgs/tools/nix/nixos-render-docs/src/tests/test_lists.py182
-rw-r--r--pkgs/tools/nix/nixos-render-docs/src/tests/test_options.py14
-rw-r--r--pkgs/tools/nix/nixos-render-docs/src/tests/test_plugins.py279
-rw-r--r--pkgs/tools/security/tlsx/default.nix6
-rw-r--r--pkgs/tools/system/pdisk/default.nix10
-rw-r--r--pkgs/top-level/all-packages.nix2
-rw-r--r--pkgs/top-level/pkg-config/test-defaultPkgConfigPackages.nix2
-rw-r--r--pkgs/top-level/python-aliases.nix1
-rw-r--r--pkgs/top-level/python-packages.nix2
169 files changed, 7187 insertions, 13213 deletions
diff --git a/doc/contributing/contributing-to-documentation.chapter.md b/doc/contributing/contributing-to-documentation.chapter.md
index 889b4114acc..a732eee4b96 100644
--- a/doc/contributing/contributing-to-documentation.chapter.md
+++ b/doc/contributing/contributing-to-documentation.chapter.md
@@ -27,7 +27,7 @@ If the build succeeds, the manual will be in `./result/share/doc/nixpkgs/manual.
 
 As per [RFC 0072](https://github.com/NixOS/rfcs/pull/72), all new documentation content should be written in [CommonMark](https://commonmark.org/) Markdown dialect.
 
-Additional syntax extensions are available, though not all extensions can be used in NixOS option documentation. The following extensions are currently used:
+Additional syntax extensions are available, all of which can be used in NixOS option documentation. The following extensions are currently used:
 
 - []{#ssec-contributing-markup-anchors}
   Explicitly defined **anchors** on headings, to allow linking to sections. These should be always used, to ensure the anchors can be linked even when the heading text changes, and to prevent conflicts between [automatically assigned identifiers](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/auto_identifiers.md).
@@ -38,6 +38,10 @@ Additional syntax extensions are available, though not all extensions can be use
   ## Syntax {#sec-contributing-markup}
   ```
 
+  ::: {.note}
+  NixOS option documentation does not support headings in general.
+  :::
+
 - []{#ssec-contributing-markup-anchors-inline}
   **Inline anchors**, which allow linking arbitrary place in the text (e.g. individual list items, sentences…).
 
@@ -67,10 +71,6 @@ Additional syntax extensions are available, though not all extensions can be use
 
   This syntax is taken from [MyST](https://myst-parser.readthedocs.io/en/latest/syntax/syntax.html#roles-an-in-line-extension-point). Though, the feature originates from [reStructuredText](https://www.sphinx-doc.org/en/master/usage/restructuredtext/roles.html#role-manpage) with slightly different syntax.
 
-  ::: {.note}
-  Inline roles are available for option documentation.
-  :::
-
 - []{#ssec-contributing-markup-admonitions}
   **Admonitions**, set off from the text to bring attention to something.
 
@@ -96,10 +96,6 @@ Additional syntax extensions are available, though not all extensions can be use
     - [`tip`](https://tdg.docbook.org/tdg/5.0/tip.html)
     - [`warning`](https://tdg.docbook.org/tdg/5.0/warning.html)
 
-  ::: {.note}
-  Admonitions are available for option documentation.
-  :::
-
 - []{#ssec-contributing-markup-definition-lists}
   [**Definition lists**](https://github.com/jgm/commonmark-hs/blob/master/commonmark-extensions/test/definition_lists.md), for defining a group of terms:
 
diff --git a/lib/meta.nix b/lib/meta.nix
index cdd3e1d596c..5fd55c4e90d 100644
--- a/lib/meta.nix
+++ b/lib/meta.nix
@@ -76,20 +76,19 @@ rec {
 
        1. (legacy) a system string.
 
-       2. (modern) a pattern for the platform `parsed` field.
+       2. (modern) a pattern for the entire platform structure (see `lib.systems.inspect.platformPatterns`).
 
-       3. (functional) a predicate function returning a boolean.
+       3. (modern) a pattern for the platform `parsed` field (see `lib.systems.inspect.patterns`).
 
      We can inject these into a pattern for the whole of a structured platform,
      and then match that.
   */
-  platformMatch = platform: elem:
-    if builtins.isFunction elem
-    then elem platform
-    else let
+  platformMatch = platform: elem: let
       pattern =
         if builtins.isString elem
         then { system = elem; }
+        else if elem?parsed
+        then elem
         else { parsed = elem; };
     in lib.matchAttrs pattern platform;
 
diff --git a/lib/systems/inspect.nix b/lib/systems/inspect.nix
index b40a82b3321..30615c9fde3 100644
--- a/lib/systems/inspect.nix
+++ b/lib/systems/inspect.nix
@@ -7,6 +7,7 @@ let abis_ = abis; in
 let abis = lib.mapAttrs (_: abi: builtins.removeAttrs abi [ "assertions" ]) abis_; in
 
 rec {
+  # these patterns are to be matched against {host,build,target}Platform.parsed
   patterns = rec {
     isi686         = { cpu = cpuTypes.i686; };
     isx86_32       = { cpu = { family = "x86"; bits = 32; }; };
@@ -81,8 +82,13 @@ rec {
     isMusl         = with abis; map (a: { abi = a; }) [ musl musleabi musleabihf muslabin32 muslabi64 ];
     isUClibc       = with abis; map (a: { abi = a; }) [ uclibc uclibceabi uclibceabihf ];
 
-    isEfi          = map (family: { cpu.family = family; })
-                       [ "x86" "arm" "riscv" ];
+    isEfi = [
+      { cpu = { family = "arm"; version = "6"; }; }
+      { cpu = { family = "arm"; version = "7"; }; }
+      { cpu = { family = "arm"; version = "8"; }; }
+      { cpu = { family = "riscv"; }; }
+      { cpu = { family = "x86"; }; }
+    ];
   };
 
   matchAnyAttrs = patterns:
@@ -90,4 +96,13 @@ rec {
     else matchAttrs patterns;
 
   predicates = mapAttrs (_: matchAnyAttrs) patterns;
+
+  # these patterns are to be matched against the entire
+  # {host,build,target}Platform structure; they include a `parsed={}` marker so
+  # that `lib.meta.availableOn` can distinguish them from the patterns which
+  # apply only to the `parsed` field.
+
+  platformPatterns = mapAttrs (_: p: { parsed = {}; } // p) {
+    isStatic = { isStatic = true; };
+  };
 }
diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix
index 0ddb3fa7fbe..913058746b3 100644
--- a/nixos/doc/manual/default.nix
+++ b/nixos/doc/manual/default.nix
@@ -68,12 +68,15 @@ let
 
   sources = lib.sourceFilesBySuffices ./. [".xml"];
 
-  modulesDoc = builtins.toFile "modules.xml" ''
-    <section xmlns:xi="http://www.w3.org/2001/XInclude" id="modules">
-    ${(lib.concatMapStrings (path: ''
-      <xi:include href="${path}" />
-    '') (lib.catAttrs "value" config.meta.doc))}
-    </section>
+  modulesDoc = runCommand "modules.xml" {
+    nativeBuildInputs = [ pkgs.nixos-render-docs ];
+  } ''
+    nixos-render-docs manual docbook \
+      --manpage-urls ${pkgs.path + "/doc/manpage-urls.json"} \
+      "$out" \
+      --section \
+        --section-id modules \
+        --chapters ${lib.concatMapStrings (p: "${p.value} ") config.meta.doc}
   '';
 
   generatedSources = runCommand "generated-docbook" {} ''
diff --git a/nixos/doc/manual/development/meta-attributes.section.md b/nixos/doc/manual/development/meta-attributes.section.md
index 7129cf8723e..33b41fe74d2 100644
--- a/nixos/doc/manual/development/meta-attributes.section.md
+++ b/nixos/doc/manual/development/meta-attributes.section.md
@@ -23,7 +23,7 @@ file.
 
   meta = {
     maintainers = with lib.maintainers; [ ericsagnes ];
-    doc = ./default.xml;
+    doc = ./default.md;
     buildDocsInSandbox = true;
   };
 }
@@ -31,7 +31,9 @@ file.
 
 -   `maintainers` contains a list of the module maintainers.
 
--   `doc` points to a valid DocBook file containing the module
+-   `doc` points to a valid [Nixpkgs-flavored CommonMark](
+      https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup
+    ) file containing the module
     documentation. Its contents is automatically added to
     [](#ch-configuration). Changes to a module documentation have to
     be checked to not break building the NixOS manual:
@@ -40,26 +42,6 @@ file.
     $ nix-build nixos/release.nix -A manual.x86_64-linux
     ```
 
-    This file should *not* usually be written by hand. Instead it is preferred
-    to write documentation using CommonMark and converting it to CommonMark
-    using pandoc. The simplest documentation can be converted using just
-
-    ```ShellSession
-    $ pandoc doc.md -t docbook --top-level-division=chapter -f markdown+smart > doc.xml
-    ```
-
-    More elaborate documentation may wish to add one or more of the pandoc
-    filters used to build the remainder of the manual, for example the GNOME
-    desktop uses
-
-    ```ShellSession
-    $ pandoc gnome.md -t docbook --top-level-division=chapter \
-        --extract-media=media -f markdown+smart \
-        --lua-filter ../../../../../doc/build-aux/pandoc-filters/myst-reader/roles.lua \
-        --lua-filter ../../../../../doc/build-aux/pandoc-filters/docbook-writer/rst-roles.lua \
-        > gnome.xml
-    ```
-
 -  `buildDocsInSandbox` indicates whether the option documentation for the
    module can be built in a derivation sandbox. This option is currently only
    honored for modules shipped by nixpkgs. User modules and modules taken from
diff --git a/nixos/doc/manual/from_md/development/meta-attributes.section.xml b/nixos/doc/manual/from_md/development/meta-attributes.section.xml
index 450a5f670f3..64234f1cc0d 100644
--- a/nixos/doc/manual/from_md/development/meta-attributes.section.xml
+++ b/nixos/doc/manual/from_md/development/meta-attributes.section.xml
@@ -28,7 +28,7 @@
 
   meta = {
     maintainers = with lib.maintainers; [ ericsagnes ];
-    doc = ./default.xml;
+    doc = ./default.md;
     buildDocsInSandbox = true;
   };
 }
@@ -42,8 +42,10 @@
     </listitem>
     <listitem>
       <para>
-        <literal>doc</literal> points to a valid DocBook file containing
-        the module documentation. Its contents is automatically added to
+        <literal>doc</literal> points to a valid
+        <link xlink:href="https://nixos.org/manual/nixpkgs/unstable/#sec-contributing-markup">Nixpkgs-flavored
+        CommonMark</link> file containing the module documentation. Its
+        contents is automatically added to
         <xref linkend="ch-configuration" />. Changes to a module
         documentation have to be checked to not break building the NixOS
         manual:
@@ -51,27 +53,6 @@
       <programlisting>
 $ nix-build nixos/release.nix -A manual.x86_64-linux
 </programlisting>
-      <para>
-        This file should <emphasis>not</emphasis> usually be written by
-        hand. Instead it is preferred to write documentation using
-        CommonMark and converting it to CommonMark using pandoc. The
-        simplest documentation can be converted using just
-      </para>
-      <programlisting>
-$ pandoc doc.md -t docbook --top-level-division=chapter -f markdown+smart &gt; doc.xml
-</programlisting>
-      <para>
-        More elaborate documentation may wish to add one or more of the
-        pandoc filters used to build the remainder of the manual, for
-        example the GNOME desktop uses
-      </para>
-      <programlisting>
-$ pandoc gnome.md -t docbook --top-level-division=chapter \
-    --extract-media=media -f markdown+smart \
-    --lua-filter ../../../../../doc/build-aux/pandoc-filters/myst-reader/roles.lua \
-    --lua-filter ../../../../../doc/build-aux/pandoc-filters/docbook-writer/rst-roles.lua \
-    &gt; gnome.xml
-</programlisting>
     </listitem>
     <listitem>
       <para>
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
index eefefa31fd7..dd0e6a5d068 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2305.section.xml
@@ -721,6 +721,13 @@
       </listitem>
       <listitem>
         <para>
+          <literal>services.nginx.recommendedProxySettings</literal> now
+          removes the <literal>Connection</literal> header preventing
+          clients from closing backend connections.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           Resilio sync secret keys can now be provided using a secrets
           file at runtime, preventing these secrets from ending up in
           the Nix store.
diff --git a/nixos/doc/manual/md-to-db.sh b/nixos/doc/manual/md-to-db.sh
index a7421bed532..4698e94f508 100755
--- a/nixos/doc/manual/md-to-db.sh
+++ b/nixos/doc/manual/md-to-db.sh
@@ -50,21 +50,3 @@ for mf in ${MD_FILES[*]}; do
 done
 
 popd
-
-# now handle module chapters. we'll need extra checks to ensure that we don't process
-# markdown files we're not interested in, so we'll require an x.nix file for ever x.md
-# that we'll convert to xml.
-pushd "$DIR/../../modules"
-
-mapfile -t MD_FILES < <(find . -type f -regex '.*\.md$')
-
-for mf in ${MD_FILES[*]}; do
-  [ -f "${mf%.md}.nix" ] || continue
-
-  pandoc --top-level-division=chapter "$mf" "${pandoc_flags[@]}" -o "${mf%.md}.xml"
-  sed -i -e '1 i <!-- Do not edit this file directly, edit its companion .md instead\
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->' \
-    "${mf%.md}.xml"
-done
-
-popd
diff --git a/nixos/doc/manual/release-notes/rl-2305.section.md b/nixos/doc/manual/release-notes/rl-2305.section.md
index 14c02a0e8f2..de455c1293b 100644
--- a/nixos/doc/manual/release-notes/rl-2305.section.md
+++ b/nixos/doc/manual/release-notes/rl-2305.section.md
@@ -183,6 +183,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - `hip` has been separated into `hip`, `hip-common` and `hipcc`.
 
+- `services.nginx.recommendedProxySettings` now removes the `Connection` header preventing clients from closing backend connections.
+
 - Resilio sync secret keys can now be provided using a secrets file at runtime, preventing these secrets from ending up in the Nix store.
 
 - The `firewall` and `nat` module now has a nftables based implementation. Enable `networking.nftables` to use it.
diff --git a/nixos/lib/make-options-doc/default.nix b/nixos/lib/make-options-doc/default.nix
index 01db7bcbee9..271af9ba180 100644
--- a/nixos/lib/make-options-doc/default.nix
+++ b/nixos/lib/make-options-doc/default.nix
@@ -148,42 +148,19 @@ in rec {
   '';
 
   optionsDocBook = pkgs.runCommand "options-docbook.xml" {
-    MANPAGE_URLS = pkgs.path + "/doc/manpage-urls.json";
-    OTD_DOCUMENT_TYPE = documentType;
-    OTD_VARIABLE_LIST_ID = variablelistId;
-    OTD_OPTION_ID_PREFIX = optionIdPrefix;
-    OTD_REVISION = revision;
-
     nativeBuildInputs = [
-      (let
-        # python3Minimal can't be overridden with packages on Darwin, due to a missing framework.
-        # Instead of modifying stdenv, we take the easy way out, since most people on Darwin will
-        # just be hacking on the Nixpkgs manual (which also uses make-options-doc).
-        python = if pkgs.stdenv.isDarwin then pkgs.python3 else pkgs.python3Minimal;
-        self = (python.override {
-          inherit self;
-          includeSiteCustomize = true;
-        });
-      in self.withPackages (p:
-        let
-          # TODO add our own small test suite when rendering is split out into a new tool
-          markdown-it-py = p.markdown-it-py.override {
-            disableTests = true;
-          };
-          mdit-py-plugins = p.mdit-py-plugins.override {
-            inherit markdown-it-py;
-            disableTests = true;
-          };
-        in [
-          markdown-it-py
-          mdit-py-plugins
-        ]))
+      pkgs.nixos-render-docs
     ];
   } ''
-    python ${./optionsToDocbook.py} \
+    nixos-render-docs options docbook \
+      --manpage-urls ${pkgs.path + "/doc/manpage-urls.json"} \
+      --revision ${lib.escapeShellArg revision} \
+      --document-type ${lib.escapeShellArg documentType} \
+      --varlist-id ${lib.escapeShellArg variablelistId} \
+      --id-prefix ${lib.escapeShellArg optionIdPrefix} \
       ${lib.optionalString markdownByDefault "--markdown-by-default"} \
       ${optionsJSON}/share/doc/nixos/options.json \
-      > options.xml
+      options.xml
 
     if grep /nixpkgs/nixos/modules options.xml; then
       echo "The manual appears to depend on the location of Nixpkgs, which is bad"
diff --git a/nixos/lib/make-options-doc/optionsToDocbook.py b/nixos/lib/make-options-doc/optionsToDocbook.py
deleted file mode 100644
index 021623d10a7..00000000000
--- a/nixos/lib/make-options-doc/optionsToDocbook.py
+++ /dev/null
@@ -1,343 +0,0 @@
-import collections
-import json
-import os
-import sys
-from typing import Any, Dict, List
-from collections.abc import MutableMapping, Sequence
-import inspect
-
-# for MD conversion
-import markdown_it
-import markdown_it.renderer
-from markdown_it.token import Token
-from markdown_it.utils import OptionsDict
-from mdit_py_plugins.container import container_plugin
-from mdit_py_plugins.deflist import deflist_plugin
-from mdit_py_plugins.myst_role import myst_role_plugin
-from xml.sax.saxutils import escape, quoteattr
-
-manpage_urls = json.load(open(os.getenv('MANPAGE_URLS')))
-
-class Renderer(markdown_it.renderer.RendererProtocol):
-    __output__ = "docbook"
-    def __init__(self, parser=None):
-        self.rules = {
-            k: v
-            for k, v in inspect.getmembers(self, predicate=inspect.ismethod)
-            if not (k.startswith("render") or k.startswith("_"))
-        } | {
-            "container_{.note}_open": self._note_open,
-            "container_{.note}_close": self._note_close,
-            "container_{.important}_open": self._important_open,
-            "container_{.important}_close": self._important_close,
-            "container_{.warning}_open": self._warning_open,
-            "container_{.warning}_close": self._warning_close,
-        }
-    def render(self, tokens: Sequence[Token], options: OptionsDict, env: MutableMapping) -> str:
-        assert '-link-tag-stack' not in env
-        env['-link-tag-stack'] = []
-        assert '-deflist-stack' not in env
-        env['-deflist-stack'] = []
-        def do_one(i, token):
-            if token.type == "inline":
-                assert token.children is not None
-                return self.renderInline(token.children, options, env)
-            elif token.type in self.rules:
-                return self.rules[token.type](tokens[i], tokens, i, options, env)
-            else:
-                raise NotImplementedError("md token not supported yet", token)
-        return "".join(map(lambda arg: do_one(*arg), enumerate(tokens)))
-    def renderInline(self, tokens: Sequence[Token], options: OptionsDict, env: MutableMapping) -> str:
-        # HACK to support docbook links and xrefs. link handling is only necessary because the docbook
-        # manpage stylesheet converts - in urls to a mathematical minus, which may be somewhat incorrect.
-        for i, token in enumerate(tokens):
-            if token.type != 'link_open':
-                continue
-            token.tag = 'link'
-            # turn [](#foo) into xrefs
-            if token.attrs['href'][0:1] == '#' and tokens[i + 1].type == 'link_close':
-                token.tag = "xref"
-            # turn <x> into links without contents
-            if tokens[i + 1].type == 'text' and tokens[i + 1].content == token.attrs['href']:
-                tokens[i + 1].content = ''
-
-        def do_one(i, token):
-            if token.type in self.rules:
-                return self.rules[token.type](tokens[i], tokens, i, options, env)
-            else:
-                raise NotImplementedError("md node not supported yet", token)
-        return "".join(map(lambda arg: do_one(*arg), enumerate(tokens)))
-
-    def text(self, token, tokens, i, options, env):
-        return escape(token.content)
-    def paragraph_open(self, token, tokens, i, options, env):
-        return "<para>"
-    def paragraph_close(self, token, tokens, i, options, env):
-        return "</para>"
-    def hardbreak(self, token, tokens, i, options, env):
-        return "<literallayout>\n</literallayout>"
-    def softbreak(self, token, tokens, i, options, env):
-        # should check options.breaks() and emit hard break if so
-        return "\n"
-    def code_inline(self, token, tokens, i, options, env):
-        return f"<literal>{escape(token.content)}</literal>"
-    def code_block(self, token, tokens, i, options, env):
-        return f"<programlisting>{escape(token.content)}</programlisting>"
-    def link_open(self, token, tokens, i, options, env):
-        env['-link-tag-stack'].append(token.tag)
-        (attr, start) = ('linkend', 1) if token.attrs['href'][0] == '#' else ('xlink:href', 0)
-        return f"<{token.tag} {attr}={quoteattr(token.attrs['href'][start:])}>"
-    def link_close(self, token, tokens, i, options, env):
-        return f"</{env['-link-tag-stack'].pop()}>"
-    def list_item_open(self, token, tokens, i, options, env):
-        return "<listitem>"
-    def list_item_close(self, token, tokens, i, options, env):
-        return "</listitem>\n"
-    # HACK open and close para for docbook change size. remove soon.
-    def bullet_list_open(self, token, tokens, i, options, env):
-        return "<para><itemizedlist>\n"
-    def bullet_list_close(self, token, tokens, i, options, env):
-        return "\n</itemizedlist></para>"
-    def em_open(self, token, tokens, i, options, env):
-        return "<emphasis>"
-    def em_close(self, token, tokens, i, options, env):
-        return "</emphasis>"
-    def strong_open(self, token, tokens, i, options, env):
-        return "<emphasis role=\"strong\">"
-    def strong_close(self, token, tokens, i, options, env):
-        return "</emphasis>"
-    def fence(self, token, tokens, i, options, env):
-        info = f" language={quoteattr(token.info)}" if token.info != "" else ""
-        return f"<programlisting{info}>{escape(token.content)}</programlisting>"
-    def blockquote_open(self, token, tokens, i, options, env):
-        return "<para><blockquote>"
-    def blockquote_close(self, token, tokens, i, options, env):
-        return "</blockquote></para>"
-    def _note_open(self, token, tokens, i, options, env):
-        return "<para><note>"
-    def _note_close(self, token, tokens, i, options, env):
-        return "</note></para>"
-    def _important_open(self, token, tokens, i, options, env):
-        return "<para><important>"
-    def _important_close(self, token, tokens, i, options, env):
-        return "</important></para>"
-    def _warning_open(self, token, tokens, i, options, env):
-        return "<para><warning>"
-    def _warning_close(self, token, tokens, i, options, env):
-        return "</warning></para>"
-    # markdown-it emits tokens based on the html syntax tree, but docbook is
-    # slightly different. html has <dl>{<dt/>{<dd/>}}</dl>,
-    # docbook has <variablelist>{<varlistentry><term/><listitem/></varlistentry>}<variablelist>
-    # we have to reject multiple definitions for the same term for time being.
-    def dl_open(self, token, tokens, i, options, env):
-        env['-deflist-stack'].append({})
-        return "<para><variablelist>"
-    def dl_close(self, token, tokens, i, options, env):
-        env['-deflist-stack'].pop()
-        return "</variablelist></para>"
-    def dt_open(self, token, tokens, i, options, env):
-        env['-deflist-stack'][-1]['has-dd'] = False
-        return "<varlistentry><term>"
-    def dt_close(self, token, tokens, i, options, env):
-        return "</term>"
-    def dd_open(self, token, tokens, i, options, env):
-        if env['-deflist-stack'][-1]['has-dd']:
-            raise Exception("multiple definitions per term not supported")
-        env['-deflist-stack'][-1]['has-dd'] = True
-        return "<listitem>"
-    def dd_close(self, token, tokens, i, options, env):
-        return "</listitem></varlistentry>"
-    def myst_role(self, token, tokens, i, options, env):
-        if token.meta['name'] == 'command':
-            return f"<command>{escape(token.content)}</command>"
-        if token.meta['name'] == 'file':
-            return f"<filename>{escape(token.content)}</filename>"
-        if token.meta['name'] == 'var':
-            return f"<varname>{escape(token.content)}</varname>"
-        if token.meta['name'] == 'env':
-            return f"<envar>{escape(token.content)}</envar>"
-        if token.meta['name'] == 'option':
-            return f"<option>{escape(token.content)}</option>"
-        if token.meta['name'] == 'manpage':
-            [page, section] = [ s.strip() for s in token.content.rsplit('(', 1) ]
-            section = section[:-1]
-            man = f"{page}({section})"
-            title = f"<refentrytitle>{escape(page)}</refentrytitle>"
-            vol = f"<manvolnum>{escape(section)}</manvolnum>"
-            ref = f"<citerefentry>{title}{vol}</citerefentry>"
-            if man in manpage_urls:
-                return f"<link xlink:href={quoteattr(manpage_urls[man])}>{ref}</link>"
-            else:
-                return ref
-        raise NotImplementedError("md node not supported yet", token)
-
-md = (
-    markdown_it.MarkdownIt(renderer_cls=Renderer)
-    # TODO maybe fork the plugin and have only a single rule for all?
-    .use(container_plugin, name="{.note}")
-    .use(container_plugin, name="{.important}")
-    .use(container_plugin, name="{.warning}")
-    .use(deflist_plugin)
-    .use(myst_role_plugin)
-)
-
-# converts in-place!
-def convertMD(options: Dict[str, Any]) -> str:
-    def optionIs(option: Dict[str, Any], key: str, typ: str) -> bool:
-        if key not in option: return False
-        if type(option[key]) != dict: return False
-        if '_type' not in option[key]: return False
-        return option[key]['_type'] == typ
-
-    def convertCode(name: str, option: Dict[str, Any], key: str):
-        if optionIs(option, key, 'literalMD'):
-            option[key] = md.render(f"*{key.capitalize()}:*\n{option[key]['text']}")
-        elif optionIs(option, key, 'literalExpression'):
-            code = option[key]['text']
-            # for multi-line code blocks we only have to count ` runs at the beginning
-            # of a line, but this is much easier.
-            multiline = '\n' in code
-            longest, current = (0, 0)
-            for c in code:
-                current = current + 1 if c == '`' else 0
-                longest = max(current, longest)
-            # inline literals need a space to separate ticks from content, code blocks
-            # need newlines. inline literals need one extra tick, code blocks need three.
-            ticks, sep = ('`' * (longest + (3 if multiline else 1)), '\n' if multiline else ' ')
-            code = f"{ticks}{sep}{code}{sep}{ticks}"
-            option[key] = md.render(f"*{key.capitalize()}:*\n{code}")
-        elif optionIs(option, key, 'literalDocBook'):
-            option[key] = f"<para><emphasis>{key.capitalize()}:</emphasis> {option[key]['text']}</para>"
-        elif key in option:
-            raise Exception(f"{name} {key} has unrecognized type", option[key])
-
-    for (name, option) in options.items():
-        try:
-            if optionIs(option, 'description', 'mdDoc'):
-                option['description'] = md.render(option['description']['text'])
-            elif markdownByDefault:
-                option['description'] = md.render(option['description'])
-            else:
-                option['description'] = ("<nixos:option-description><para>" +
-                                         option['description'] +
-                                         "</para></nixos:option-description>")
-
-            convertCode(name, option, 'example')
-            convertCode(name, option, 'default')
-
-            if 'relatedPackages' in option:
-                option['relatedPackages'] = md.render(option['relatedPackages'])
-        except Exception as e:
-            raise Exception(f"Failed to render option {name}") from e
-
-    return options
-
-id_translate_table = {
-    ord('*'): ord('_'),
-    ord('<'): ord('_'),
-    ord(' '): ord('_'),
-    ord('>'): ord('_'),
-    ord('['): ord('_'),
-    ord(']'): ord('_'),
-    ord(':'): ord('_'),
-    ord('"'): ord('_'),
-}
-
-def need_env(n):
-    if n not in os.environ:
-        raise RuntimeError("required environment variable not set", n)
-    return os.environ[n]
-
-OTD_REVISION = need_env('OTD_REVISION')
-OTD_DOCUMENT_TYPE = need_env('OTD_DOCUMENT_TYPE')
-OTD_VARIABLE_LIST_ID = need_env('OTD_VARIABLE_LIST_ID')
-OTD_OPTION_ID_PREFIX = need_env('OTD_OPTION_ID_PREFIX')
-
-def print_decl_def(header, locs):
-    print(f"""<para><emphasis>{header}:</emphasis></para>""")
-    print(f"""<simplelist>""")
-    for loc in locs:
-        # locations can be either plain strings (specific to nixpkgs), or attrsets
-        # { name = "foo/bar.nix"; url = "https://github.com/....."; }
-        if isinstance(loc, str):
-            # Hyperlink the filename either to the NixOS github
-            # repository (if it’s a module and we have a revision number),
-            # or to the local filesystem.
-            if not loc.startswith('/'):
-                if OTD_REVISION == 'local':
-                    href = f"https://github.com/NixOS/nixpkgs/blob/master/{loc}"
-                else:
-                    href = f"https://github.com/NixOS/nixpkgs/blob/{OTD_REVISION}/{loc}"
-            else:
-                href = f"file://{loc}"
-            # Print the filename and make it user-friendly by replacing the
-            # /nix/store/<hash> prefix by the default location of nixos
-            # sources.
-            if not loc.startswith('/'):
-                name = f"<nixpkgs/{loc}>"
-            elif loc.contains('nixops') and loc.contains('/nix/'):
-                name = f"<nixops/{loc[loc.find('/nix/') + 5:]}>"
-            else:
-                name = loc
-            print(f"""<member><filename xlink:href={quoteattr(href)}>""")
-            print(escape(name))
-            print(f"""</filename></member>""")
-        else:
-            href = f" xlink:href={quoteattr(loc['url'])}" if 'url' in loc else ""
-            print(f"""<member><filename{href}>{escape(loc['name'])}</filename></member>""")
-    print(f"""</simplelist>""")
-
-markdownByDefault = False
-optOffset = 0
-for arg in sys.argv[1:]:
-    if arg == "--markdown-by-default":
-        optOffset += 1
-        markdownByDefault = True
-
-options = convertMD(json.load(open(sys.argv[1 + optOffset], 'r')))
-
-keys = list(options.keys())
-keys.sort(key=lambda opt: [ (0 if p.startswith("enable") else 1 if p.startswith("package") else 2, p)
-                            for p in options[opt]['loc'] ])
-
-print(f"""<?xml version="1.0" encoding="UTF-8"?>""")
-if OTD_DOCUMENT_TYPE == 'appendix':
-    print("""<appendix xmlns="http://docbook.org/ns/docbook" xml:id="appendix-configuration-options">""")
-    print("""  <title>Configuration Options</title>""")
-print(f"""<variablelist xmlns:xlink="http://www.w3.org/1999/xlink"
-                        xmlns:nixos="tag:nixos.org"
-                        xmlns="http://docbook.org/ns/docbook"
-             xml:id="{OTD_VARIABLE_LIST_ID}">""")
-
-for name in keys:
-    opt = options[name]
-    id = OTD_OPTION_ID_PREFIX + name.translate(id_translate_table)
-    print(f"""<varlistentry>""")
-    # NOTE adding extra spaces here introduces spaces into xref link expansions
-    print(f"""<term xlink:href={quoteattr("#" + id)} xml:id={quoteattr(id)}>""", end='')
-    print(f"""<option>{escape(name)}</option>""", end='')
-    print(f"""</term>""")
-    print(f"""<listitem>""")
-    print(opt['description'])
-    if typ := opt.get('type'):
-        ro = " <emphasis>(read only)</emphasis>" if opt.get('readOnly', False) else ""
-        print(f"""<para><emphasis>Type:</emphasis> {escape(typ)}{ro}</para>""")
-    if default := opt.get('default'):
-        print(default)
-    if example := opt.get('example'):
-        print(example)
-    if related := opt.get('relatedPackages'):
-        print(f"""<para>""")
-        print(f"""  <emphasis>Related packages:</emphasis>""")
-        print(f"""</para>""")
-        print(related)
-    if decl := opt.get('declarations'):
-        print_decl_def("Declared by", decl)
-    if defs := opt.get('definitions'):
-        print_decl_def("Defined by", defs)
-    print(f"""</listitem>""")
-    print(f"""</varlistentry>""")
-
-print("""</variablelist>""")
-if OTD_DOCUMENT_TYPE == 'appendix':
-    print("""</appendix>""")
diff --git a/nixos/modules/i18n/input-method/default.nix b/nixos/modules/i18n/input-method/default.nix
index 07fb86bcc25..5f803b4f2ee 100644
--- a/nixos/modules/i18n/input-method/default.nix
+++ b/nixos/modules/i18n/input-method/default.nix
@@ -66,7 +66,7 @@ in
 
   meta = {
     maintainers = with lib.maintainers; [ ericsagnes ];
-    doc = ./default.xml;
+    doc = ./default.md;
   };
 
 }
diff --git a/nixos/modules/i18n/input-method/default.xml b/nixos/modules/i18n/input-method/default.xml
deleted file mode 100644
index 7b7907cd32a..00000000000
--- a/nixos/modules/i18n/input-method/default.xml
+++ /dev/null
@@ -1,275 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-input-methods">
-  <title>Input Methods</title>
-  <para>
-    Input methods are an operating system component that allows any
-    data, such as keyboard strokes or mouse movements, to be received as
-    input. In this way users can enter characters and symbols not found
-    on their input devices. Using an input method is obligatory for any
-    language that has more graphemes than there are keys on the
-    keyboard.
-  </para>
-  <para>
-    The following input methods are available in NixOS:
-  </para>
-  <itemizedlist spacing="compact">
-    <listitem>
-      <para>
-        IBus: The intelligent input bus.
-      </para>
-    </listitem>
-    <listitem>
-      <para>
-        Fcitx: A customizable lightweight input method.
-      </para>
-    </listitem>
-    <listitem>
-      <para>
-        Nabi: A Korean input method based on XIM.
-      </para>
-    </listitem>
-    <listitem>
-      <para>
-        Uim: The universal input method, is a library with a XIM bridge.
-      </para>
-    </listitem>
-    <listitem>
-      <para>
-        Hime: An extremely easy-to-use input method framework.
-      </para>
-    </listitem>
-    <listitem>
-      <para>
-        Kime: Korean IME
-      </para>
-    </listitem>
-  </itemizedlist>
-  <section xml:id="module-services-input-methods-ibus">
-    <title>IBus</title>
-    <para>
-      IBus is an Intelligent Input Bus. It provides full featured and
-      user friendly input method user interface.
-    </para>
-    <para>
-      The following snippet can be used to configure IBus:
-    </para>
-    <programlisting>
-i18n.inputMethod = {
-  enabled = &quot;ibus&quot;;
-  ibus.engines = with pkgs.ibus-engines; [ anthy hangul mozc ];
-};
-</programlisting>
-    <para>
-      <literal>i18n.inputMethod.ibus.engines</literal> is optional and
-      can be used to add extra IBus engines.
-    </para>
-    <para>
-      Available extra IBus engines are:
-    </para>
-    <itemizedlist>
-      <listitem>
-        <para>
-          Anthy (<literal>ibus-engines.anthy</literal>): Anthy is a
-          system for Japanese input method. It converts Hiragana text to
-          Kana Kanji mixed text.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Hangul (<literal>ibus-engines.hangul</literal>): Korean input
-          method.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          m17n (<literal>ibus-engines.m17n</literal>): m17n is an input
-          method that uses input methods and corresponding icons in the
-          m17n database.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          mozc (<literal>ibus-engines.mozc</literal>): A Japanese input
-          method from Google.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Table (<literal>ibus-engines.table</literal>): An input method
-          that load tables of input methods.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          table-others (<literal>ibus-engines.table-others</literal>):
-          Various table-based input methods. To use this, and any other
-          table-based input methods, it must appear in the list of
-          engines along with <literal>table</literal>. For example:
-        </para>
-        <programlisting>
-ibus.engines = with pkgs.ibus-engines; [ table table-others ];
-</programlisting>
-      </listitem>
-    </itemizedlist>
-    <para>
-      To use any input method, the package must be added in the
-      configuration, as shown above, and also (after running
-      <literal>nixos-rebuild</literal>) the input method must be added
-      from IBus’ preference dialog.
-    </para>
-    <section xml:id="module-services-input-methods-troubleshooting">
-      <title>Troubleshooting</title>
-      <para>
-        If IBus works in some applications but not others, a likely
-        cause of this is that IBus is depending on a different version
-        of <literal>glib</literal> to what the applications are
-        depending on. This can be checked by running
-        <literal>nix-store -q --requisites &lt;path&gt; | grep glib</literal>,
-        where <literal>&lt;path&gt;</literal> is the path of either IBus
-        or an application in the Nix store. The <literal>glib</literal>
-        packages must match exactly. If they do not, uninstalling and
-        reinstalling the application is a likely fix.
-      </para>
-    </section>
-  </section>
-  <section xml:id="module-services-input-methods-fcitx">
-    <title>Fcitx</title>
-    <para>
-      Fcitx is an input method framework with extension support. It has
-      three built-in Input Method Engine, Pinyin, QuWei and Table-based
-      input methods.
-    </para>
-    <para>
-      The following snippet can be used to configure Fcitx:
-    </para>
-    <programlisting>
-i18n.inputMethod = {
-  enabled = &quot;fcitx&quot;;
-  fcitx.engines = with pkgs.fcitx-engines; [ mozc hangul m17n ];
-};
-</programlisting>
-    <para>
-      <literal>i18n.inputMethod.fcitx.engines</literal> is optional and
-      can be used to add extra Fcitx engines.
-    </para>
-    <para>
-      Available extra Fcitx engines are:
-    </para>
-    <itemizedlist spacing="compact">
-      <listitem>
-        <para>
-          Anthy (<literal>fcitx-engines.anthy</literal>): Anthy is a
-          system for Japanese input method. It converts Hiragana text to
-          Kana Kanji mixed text.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Chewing (<literal>fcitx-engines.chewing</literal>): Chewing is
-          an intelligent Zhuyin input method. It is one of the most
-          popular input methods among Traditional Chinese Unix users.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Hangul (<literal>fcitx-engines.hangul</literal>): Korean input
-          method.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Unikey (<literal>fcitx-engines.unikey</literal>): Vietnamese
-          input method.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          m17n (<literal>fcitx-engines.m17n</literal>): m17n is an input
-          method that uses input methods and corresponding icons in the
-          m17n database.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          mozc (<literal>fcitx-engines.mozc</literal>): A Japanese input
-          method from Google.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          table-others (<literal>fcitx-engines.table-others</literal>):
-          Various table-based input methods.
-        </para>
-      </listitem>
-    </itemizedlist>
-  </section>
-  <section xml:id="module-services-input-methods-nabi">
-    <title>Nabi</title>
-    <para>
-      Nabi is an easy to use Korean X input method. It allows you to
-      enter phonetic Korean characters (hangul) and pictographic Korean
-      characters (hanja).
-    </para>
-    <para>
-      The following snippet can be used to configure Nabi:
-    </para>
-    <programlisting>
-i18n.inputMethod = {
-  enabled = &quot;nabi&quot;;
-};
-</programlisting>
-  </section>
-  <section xml:id="module-services-input-methods-uim">
-    <title>Uim</title>
-    <para>
-      Uim (short for <quote>universal input method</quote>) is a
-      multilingual input method framework. Applications can use it
-      through so-called bridges.
-    </para>
-    <para>
-      The following snippet can be used to configure uim:
-    </para>
-    <programlisting>
-i18n.inputMethod = {
-  enabled = &quot;uim&quot;;
-};
-</programlisting>
-    <para>
-      Note: The <xref linkend="opt-i18n.inputMethod.uim.toolbar" />
-      option can be used to choose uim toolbar.
-    </para>
-  </section>
-  <section xml:id="module-services-input-methods-hime">
-    <title>Hime</title>
-    <para>
-      Hime is an extremely easy-to-use input method framework. It is
-      lightweight, stable, powerful and supports many commonly used
-      input methods, including Cangjie, Zhuyin, Dayi, Rank, Shrimp,
-      Greek, Korean Pinyin, Latin Alphabet, etc…
-    </para>
-    <para>
-      The following snippet can be used to configure Hime:
-    </para>
-    <programlisting>
-i18n.inputMethod = {
-  enabled = &quot;hime&quot;;
-};
-</programlisting>
-  </section>
-  <section xml:id="module-services-input-methods-kime">
-    <title>Kime</title>
-    <para>
-      Kime is Korean IME. it’s built with Rust language and let you get
-      simple, safe, fast Korean typing
-    </para>
-    <para>
-      The following snippet can be used to configure Kime:
-    </para>
-    <programlisting>
-i18n.inputMethod = {
-  enabled = &quot;kime&quot;;
-};
-</programlisting>
-  </section>
-</chapter>
diff --git a/nixos/modules/misc/meta.nix b/nixos/modules/misc/meta.nix
index e1d16f802ce..95f2765aff1 100644
--- a/nixos/modules/misc/meta.nix
+++ b/nixos/modules/misc/meta.nix
@@ -47,7 +47,7 @@ in
       doc = mkOption {
         type = docFile;
         internal = true;
-        example = "./meta.chapter.xml";
+        example = "./meta.chapter.md";
         description = lib.mdDoc ''
           Documentation prologue for the set of options of each module.  This
           option should be defined at most once per module.
diff --git a/nixos/modules/programs/digitalbitbox/default.nix b/nixos/modules/programs/digitalbitbox/default.nix
index 054110fe5df..5ee6cdafe63 100644
--- a/nixos/modules/programs/digitalbitbox/default.nix
+++ b/nixos/modules/programs/digitalbitbox/default.nix
@@ -33,7 +33,7 @@ in
   };
 
   meta = {
-    doc = ./default.xml;
+    doc = ./default.md;
     maintainers = with lib.maintainers; [ vidbina ];
   };
 }
diff --git a/nixos/modules/programs/digitalbitbox/default.xml b/nixos/modules/programs/digitalbitbox/default.xml
deleted file mode 100644
index ee892523223..00000000000
--- a/nixos/modules/programs/digitalbitbox/default.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-programs-digitalbitbox">
-  <title>Digital Bitbox</title>
-  <para>
-    Digital Bitbox is a hardware wallet and second-factor authenticator.
-  </para>
-  <para>
-    The <literal>digitalbitbox</literal> programs module may be
-    installed by setting <literal>programs.digitalbitbox</literal> to
-    <literal>true</literal> in a manner similar to
-  </para>
-  <programlisting>
-programs.digitalbitbox.enable = true;
-</programlisting>
-  <para>
-    and bundles the <literal>digitalbitbox</literal> package (see
-    <xref linkend="sec-digitalbitbox-package" />), which contains the
-    <literal>dbb-app</literal> and <literal>dbb-cli</literal> binaries,
-    along with the hardware module (see
-    <xref linkend="sec-digitalbitbox-hardware-module" />) which sets up
-    the necessary udev rules to access the device.
-  </para>
-  <para>
-    Enabling the digitalbitbox module is pretty much the easiest way to
-    get a Digital Bitbox device working on your system.
-  </para>
-  <para>
-    For more information, see
-    <link xlink:href="https://digitalbitbox.com/start_linux">https://digitalbitbox.com/start_linux</link>.
-  </para>
-  <section xml:id="sec-digitalbitbox-package">
-    <title>Package</title>
-    <para>
-      The binaries, <literal>dbb-app</literal> (a GUI tool) and
-      <literal>dbb-cli</literal> (a CLI tool), are available through the
-      <literal>digitalbitbox</literal> package which could be installed
-      as follows:
-    </para>
-    <programlisting>
-environment.systemPackages = [
-  pkgs.digitalbitbox
-];
-</programlisting>
-  </section>
-  <section xml:id="sec-digitalbitbox-hardware-module">
-    <title>Hardware</title>
-    <para>
-      The digitalbitbox hardware package enables the udev rules for
-      Digital Bitbox devices and may be installed as follows:
-    </para>
-    <programlisting>
-hardware.digitalbitbox.enable = true;
-</programlisting>
-    <para>
-      In order to alter the udev rules, one may provide different values
-      for the <literal>udevRule51</literal> and
-      <literal>udevRule52</literal> attributes by means of overriding as
-      follows:
-    </para>
-    <programlisting>
-programs.digitalbitbox = {
-  enable = true;
-  package = pkgs.digitalbitbox.override {
-    udevRule51 = &quot;something else&quot;;
-  };
-};
-</programlisting>
-  </section>
-</chapter>
diff --git a/nixos/modules/programs/plotinus.nix b/nixos/modules/programs/plotinus.nix
index a011bb862ae..c2b6884d649 100644
--- a/nixos/modules/programs/plotinus.nix
+++ b/nixos/modules/programs/plotinus.nix
@@ -8,7 +8,7 @@ in
 {
   meta = {
     maintainers = pkgs.plotinus.meta.maintainers;
-    doc = ./plotinus.xml;
+    doc = ./plotinus.md;
   };
 
   ###### interface
diff --git a/nixos/modules/programs/plotinus.xml b/nixos/modules/programs/plotinus.xml
deleted file mode 100644
index 2d4db028514..00000000000
--- a/nixos/modules/programs/plotinus.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-program-plotinus">
-  <title>Plotinus</title>
-  <para>
-    <emphasis>Source:</emphasis>
-    <filename>modules/programs/plotinus.nix</filename>
-  </para>
-  <para>
-    <emphasis>Upstream documentation:</emphasis>
-    <link xlink:href="https://github.com/p-e-w/plotinus">https://github.com/p-e-w/plotinus</link>
-  </para>
-  <para>
-    Plotinus is a searchable command palette in every modern GTK
-    application.
-  </para>
-  <para>
-    When in a GTK 3 application and Plotinus is enabled, you can press
-    <literal>Ctrl+Shift+P</literal> to open the command palette. The
-    command palette provides a searchable list of of all menu items in
-    the application.
-  </para>
-  <para>
-    To enable Plotinus, add the following to your
-    <filename>configuration.nix</filename>:
-  </para>
-  <programlisting>
-programs.plotinus.enable = true;
-</programlisting>
-</chapter>
diff --git a/nixos/modules/programs/zsh/oh-my-zsh.nix b/nixos/modules/programs/zsh/oh-my-zsh.nix
index 41ea31b0f12..83eee1c88b3 100644
--- a/nixos/modules/programs/zsh/oh-my-zsh.nix
+++ b/nixos/modules/programs/zsh/oh-my-zsh.nix
@@ -142,5 +142,5 @@ in
 
     };
 
-    meta.doc = ./oh-my-zsh.xml;
+    meta.doc = ./oh-my-zsh.md;
   }
diff --git a/nixos/modules/programs/zsh/oh-my-zsh.xml b/nixos/modules/programs/zsh/oh-my-zsh.xml
deleted file mode 100644
index 2a2bba96b85..00000000000
--- a/nixos/modules/programs/zsh/oh-my-zsh.xml
+++ /dev/null
@@ -1,154 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-programs-zsh-ohmyzsh">
-  <title>Oh my ZSH</title>
-  <para>
-    <link xlink:href="https://ohmyz.sh/"><literal>oh-my-zsh</literal></link>
-    is a framework to manage your
-    <link xlink:href="https://www.zsh.org/">ZSH</link> configuration
-    including completion scripts for several CLI tools or custom prompt
-    themes.
-  </para>
-  <section xml:id="module-programs-oh-my-zsh-usage">
-    <title>Basic usage</title>
-    <para>
-      The module uses the <literal>oh-my-zsh</literal> package with all
-      available features. The initial setup using Nix expressions is
-      fairly similar to the configuration format of
-      <literal>oh-my-zsh</literal>.
-    </para>
-    <programlisting>
-{
-  programs.zsh.ohMyZsh = {
-    enable = true;
-    plugins = [ &quot;git&quot; &quot;python&quot; &quot;man&quot; ];
-    theme = &quot;agnoster&quot;;
-  };
-}
-</programlisting>
-    <para>
-      For a detailed explanation of these arguments please refer to the
-      <link xlink:href="https://github.com/robbyrussell/oh-my-zsh/wiki"><literal>oh-my-zsh</literal>
-      docs</link>.
-    </para>
-    <para>
-      The expression generates the needed configuration and writes it
-      into your <literal>/etc/zshrc</literal>.
-    </para>
-  </section>
-  <section xml:id="module-programs-oh-my-zsh-additions">
-    <title>Custom additions</title>
-    <para>
-      Sometimes third-party or custom scripts such as a modified theme
-      may be needed. <literal>oh-my-zsh</literal> provides the
-      <link xlink:href="https://github.com/robbyrussell/oh-my-zsh/wiki/Customization#overriding-internals"><literal>ZSH_CUSTOM</literal></link>
-      environment variable for this which points to a directory with
-      additional scripts.
-    </para>
-    <para>
-      The module can do this as well:
-    </para>
-    <programlisting>
-{
-  programs.zsh.ohMyZsh.custom = &quot;~/path/to/custom/scripts&quot;;
-}
-</programlisting>
-  </section>
-  <section xml:id="module-programs-oh-my-zsh-environments">
-    <title>Custom environments</title>
-    <para>
-      There are several extensions for <literal>oh-my-zsh</literal>
-      packaged in <literal>nixpkgs</literal>. One of them is
-      <link xlink:href="https://github.com/spwhitt/nix-zsh-completions">nix-zsh-completions</link>
-      which bundles completion scripts and a plugin for
-      <literal>oh-my-zsh</literal>.
-    </para>
-    <para>
-      Rather than using a single mutable path for
-      <literal>ZSH_CUSTOM</literal>, it’s also possible to generate this
-      path from a list of Nix packages:
-    </para>
-    <programlisting>
-{ pkgs, ... }:
-{
-  programs.zsh.ohMyZsh.customPkgs = [
-    pkgs.nix-zsh-completions
-    # and even more...
-  ];
-}
-</programlisting>
-    <para>
-      Internally a single store path will be created using
-      <literal>buildEnv</literal>. Please refer to the docs of
-      <link xlink:href="https://nixos.org/nixpkgs/manual/#sec-building-environment"><literal>buildEnv</literal></link>
-      for further reference.
-    </para>
-    <para>
-      <emphasis>Please keep in mind that this is not compatible with
-      <literal>programs.zsh.ohMyZsh.custom</literal> as it requires an
-      immutable store path while <literal>custom</literal> shall remain
-      mutable! An evaluation failure will be thrown if both
-      <literal>custom</literal> and <literal>customPkgs</literal> are
-      set.</emphasis>
-    </para>
-  </section>
-  <section xml:id="module-programs-oh-my-zsh-packaging-customizations">
-    <title>Package your own customizations</title>
-    <para>
-      If third-party customizations (e.g. new themes) are supposed to be
-      added to <literal>oh-my-zsh</literal> there are several pitfalls
-      to keep in mind:
-    </para>
-    <itemizedlist>
-      <listitem>
-        <para>
-          To comply with the default structure of <literal>ZSH</literal>
-          the entire output needs to be written to
-          <literal>$out/share/zsh.</literal>
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Completion scripts are supposed to be stored at
-          <literal>$out/share/zsh/site-functions</literal>. This
-          directory is part of the
-          <link xlink:href="http://zsh.sourceforge.net/Doc/Release/Functions.html"><literal>fpath</literal></link>
-          and the package should be compatible with pure
-          <literal>ZSH</literal> setups. The module will automatically
-          link the contents of <literal>site-functions</literal> to
-          completions directory in the proper store path.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          The <literal>plugins</literal> directory needs the structure
-          <literal>pluginname/pluginname.plugin.zsh</literal> as
-          structured in the
-          <link xlink:href="https://github.com/robbyrussell/oh-my-zsh/tree/91b771914bc7c43dd7c7a43b586c5de2c225ceb7/plugins">upstream
-          repo.</link>
-        </para>
-      </listitem>
-    </itemizedlist>
-    <para>
-      A derivation for <literal>oh-my-zsh</literal> may look like this:
-    </para>
-    <programlisting>
-{ stdenv, fetchFromGitHub }:
-
-stdenv.mkDerivation rec {
-  name = &quot;exemplary-zsh-customization-${version}&quot;;
-  version = &quot;1.0.0&quot;;
-  src = fetchFromGitHub {
-    # path to the upstream repository
-  };
-
-  dontBuild = true;
-  installPhase = ''
-    mkdir -p $out/share/zsh/site-functions
-    cp {themes,plugins} $out/share/zsh
-    cp completions $out/share/zsh/site-functions
-  '';
-}
-</programlisting>
-  </section>
-</chapter>
diff --git a/nixos/modules/security/acme/default.nix b/nixos/modules/security/acme/default.nix
index eb4f11f7dcd..ef063625899 100644
--- a/nixos/modules/security/acme/default.nix
+++ b/nixos/modules/security/acme/default.nix
@@ -916,6 +916,6 @@ in {
 
   meta = {
     maintainers = lib.teams.acme.members;
-    doc = ./default.xml;
+    doc = ./default.md;
   };
 }
diff --git a/nixos/modules/security/acme/default.xml b/nixos/modules/security/acme/default.xml
deleted file mode 100644
index e80ce3b6a49..00000000000
--- a/nixos/modules/security/acme/default.xml
+++ /dev/null
@@ -1,395 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-security-acme">
-  <title>SSL/TLS Certificates with ACME</title>
-  <para>
-    NixOS supports automatic domain validation &amp; certificate
-    retrieval and renewal using the ACME protocol. Any provider can be
-    used, but by default NixOS uses Let’s Encrypt. The alternative ACME
-    client
-    <link xlink:href="https://go-acme.github.io/lego/">lego</link> is
-    used under the hood.
-  </para>
-  <para>
-    Automatic cert validation and configuration for Apache and Nginx
-    virtual hosts is included in NixOS, however if you would like to
-    generate a wildcard cert or you are not using a web server you will
-    have to configure DNS based validation.
-  </para>
-  <section xml:id="module-security-acme-prerequisites">
-    <title>Prerequisites</title>
-    <para>
-      To use the ACME module, you must accept the provider’s terms of
-      service by setting
-      <xref linkend="opt-security.acme.acceptTerms" /> to
-      <literal>true</literal>. The Let’s Encrypt ToS can be found
-      <link xlink:href="https://letsencrypt.org/repository/">here</link>.
-    </para>
-    <para>
-      You must also set an email address to be used when creating
-      accounts with Let’s Encrypt. You can set this for all certs with
-      <xref linkend="opt-security.acme.defaults.email" /> and/or on a
-      per-cert basis with
-      <xref linkend="opt-security.acme.certs._name_.email" />. This
-      address is only used for registration and renewal reminders, and
-      cannot be used to administer the certificates in any way.
-    </para>
-    <para>
-      Alternatively, you can use a different ACME server by changing the
-      <xref linkend="opt-security.acme.defaults.server" /> option to a
-      provider of your choosing, or just change the server for one cert
-      with <xref linkend="opt-security.acme.certs._name_.server" />.
-    </para>
-    <para>
-      You will need an HTTP server or DNS server for verification. For
-      HTTP, the server must have a webroot defined that can serve
-      <filename>.well-known/acme-challenge</filename>. This directory
-      must be writeable by the user that will run the ACME client. For
-      DNS, you must set up credentials with your provider/server for use
-      with lego.
-    </para>
-  </section>
-  <section xml:id="module-security-acme-nginx">
-    <title>Using ACME certificates in Nginx</title>
-    <para>
-      NixOS supports fetching ACME certificates for you by setting
-      <literal>enableACME = true;</literal> in a virtualHost config. We
-      first create self-signed placeholder certificates in place of the
-      real ACME certs. The placeholder certs are overwritten when the
-      ACME certs arrive. For <literal>foo.example.com</literal> the
-      config would look like this:
-    </para>
-    <programlisting>
-security.acme.acceptTerms = true;
-security.acme.defaults.email = &quot;admin+acme@example.com&quot;;
-services.nginx = {
-  enable = true;
-  virtualHosts = {
-    &quot;foo.example.com&quot; = {
-      forceSSL = true;
-      enableACME = true;
-      # All serverAliases will be added as extra domain names on the certificate.
-      serverAliases = [ &quot;bar.example.com&quot; ];
-      locations.&quot;/&quot; = {
-        root = &quot;/var/www&quot;;
-      };
-    };
-
-    # We can also add a different vhost and reuse the same certificate
-    # but we have to append extraDomainNames manually beforehand:
-    # security.acme.certs.&quot;foo.example.com&quot;.extraDomainNames = [ &quot;baz.example.com&quot; ];
-    &quot;baz.example.com&quot; = {
-      forceSSL = true;
-      useACMEHost = &quot;foo.example.com&quot;;
-      locations.&quot;/&quot; = {
-        root = &quot;/var/www&quot;;
-      };
-    };
-  };
-}
-</programlisting>
-  </section>
-  <section xml:id="module-security-acme-httpd">
-    <title>Using ACME certificates in Apache/httpd</title>
-    <para>
-      Using ACME certificates with Apache virtual hosts is identical to
-      using them with Nginx. The attribute names are all the same, just
-      replace <quote>nginx</quote> with <quote>httpd</quote> where
-      appropriate.
-    </para>
-  </section>
-  <section xml:id="module-security-acme-configuring">
-    <title>Manual configuration of HTTP-01 validation</title>
-    <para>
-      First off you will need to set up a virtual host to serve the
-      challenges. This example uses a vhost called
-      <literal>certs.example.com</literal>, with the intent that you
-      will generate certs for all your vhosts and redirect everyone to
-      HTTPS.
-    </para>
-    <programlisting>
-security.acme.acceptTerms = true;
-security.acme.defaults.email = &quot;admin+acme@example.com&quot;;
-
-# /var/lib/acme/.challenges must be writable by the ACME user
-# and readable by the Nginx user. The easiest way to achieve
-# this is to add the Nginx user to the ACME group.
-users.users.nginx.extraGroups = [ &quot;acme&quot; ];
-
-services.nginx = {
-  enable = true;
-  virtualHosts = {
-    &quot;acmechallenge.example.com&quot; = {
-      # Catchall vhost, will redirect users to HTTPS for all vhosts
-      serverAliases = [ &quot;*.example.com&quot; ];
-      locations.&quot;/.well-known/acme-challenge&quot; = {
-        root = &quot;/var/lib/acme/.challenges&quot;;
-      };
-      locations.&quot;/&quot; = {
-        return = &quot;301 https://$host$request_uri&quot;;
-      };
-    };
-  };
-}
-# Alternative config for Apache
-users.users.wwwrun.extraGroups = [ &quot;acme&quot; ];
-services.httpd = {
-  enable = true;
-  virtualHosts = {
-    &quot;acmechallenge.example.com&quot; = {
-      # Catchall vhost, will redirect users to HTTPS for all vhosts
-      serverAliases = [ &quot;*.example.com&quot; ];
-      # /var/lib/acme/.challenges must be writable by the ACME user and readable by the Apache user.
-      # By default, this is the case.
-      documentRoot = &quot;/var/lib/acme/.challenges&quot;;
-      extraConfig = ''
-        RewriteEngine On
-        RewriteCond %{HTTPS} off
-        RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge [NC]
-        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301]
-      '';
-    };
-  };
-}
-</programlisting>
-    <para>
-      Now you need to configure ACME to generate a certificate.
-    </para>
-    <programlisting>
-security.acme.certs.&quot;foo.example.com&quot; = {
-  webroot = &quot;/var/lib/acme/.challenges&quot;;
-  email = &quot;foo@example.com&quot;;
-  # Ensure that the web server you use can read the generated certs
-  # Take a look at the group option for the web server you choose.
-  group = &quot;nginx&quot;;
-  # Since we have a wildcard vhost to handle port 80,
-  # we can generate certs for anything!
-  # Just make sure your DNS resolves them.
-  extraDomainNames = [ &quot;mail.example.com&quot; ];
-};
-</programlisting>
-    <para>
-      The private key <filename>key.pem</filename> and certificate
-      <filename>fullchain.pem</filename> will be put into
-      <filename>/var/lib/acme/foo.example.com</filename>.
-    </para>
-    <para>
-      Refer to <xref linkend="ch-options" /> for all available
-      configuration options for the
-      <link linkend="opt-security.acme.certs">security.acme</link>
-      module.
-    </para>
-  </section>
-  <section xml:id="module-security-acme-config-dns">
-    <title>Configuring ACME for DNS validation</title>
-    <para>
-      This is useful if you want to generate a wildcard certificate,
-      since ACME servers will only hand out wildcard certs over DNS
-      validation. There are a number of supported DNS providers and
-      servers you can utilise, see the
-      <link xlink:href="https://go-acme.github.io/lego/dns/">lego
-      docs</link> for provider/server specific configuration values. For
-      the sake of these docs, we will provide a fully self-hosted
-      example using bind.
-    </para>
-    <programlisting>
-services.bind = {
-  enable = true;
-  extraConfig = ''
-    include &quot;/var/lib/secrets/dnskeys.conf&quot;;
-  '';
-  zones = [
-    rec {
-      name = &quot;example.com&quot;;
-      file = &quot;/var/db/bind/${name}&quot;;
-      master = true;
-      extraConfig = &quot;allow-update { key rfc2136key.example.com.; };&quot;;
-    }
-  ];
-}
-
-# Now we can configure ACME
-security.acme.acceptTerms = true;
-security.acme.defaults.email = &quot;admin+acme@example.com&quot;;
-security.acme.certs.&quot;example.com&quot; = {
-  domain = &quot;*.example.com&quot;;
-  dnsProvider = &quot;rfc2136&quot;;
-  credentialsFile = &quot;/var/lib/secrets/certs.secret&quot;;
-  # We don't need to wait for propagation since this is a local DNS server
-  dnsPropagationCheck = false;
-};
-</programlisting>
-    <para>
-      The <filename>dnskeys.conf</filename> and
-      <filename>certs.secret</filename> must be kept secure and thus you
-      should not keep their contents in your Nix config. Instead,
-      generate them one time with a systemd service:
-    </para>
-    <programlisting>
-systemd.services.dns-rfc2136-conf = {
-  requiredBy = [&quot;acme-example.com.service&quot; &quot;bind.service&quot;];
-  before = [&quot;acme-example.com.service&quot; &quot;bind.service&quot;];
-  unitConfig = {
-    ConditionPathExists = &quot;!/var/lib/secrets/dnskeys.conf&quot;;
-  };
-  serviceConfig = {
-    Type = &quot;oneshot&quot;;
-    UMask = 0077;
-  };
-  path = [ pkgs.bind ];
-  script = ''
-    mkdir -p /var/lib/secrets
-    chmod 755 /var/lib/secrets
-    tsig-keygen rfc2136key.example.com &gt; /var/lib/secrets/dnskeys.conf
-    chown named:root /var/lib/secrets/dnskeys.conf
-    chmod 400 /var/lib/secrets/dnskeys.conf
-
-    # extract secret value from the dnskeys.conf
-    while read x y; do if [ &quot;$x&quot; = &quot;secret&quot; ]; then secret=&quot;''${y:1:''${#y}-3}&quot;; fi; done &lt; /var/lib/secrets/dnskeys.conf
-
-    cat &gt; /var/lib/secrets/certs.secret &lt;&lt; EOF
-    RFC2136_NAMESERVER='127.0.0.1:53'
-    RFC2136_TSIG_ALGORITHM='hmac-sha256.'
-    RFC2136_TSIG_KEY='rfc2136key.example.com'
-    RFC2136_TSIG_SECRET='$secret'
-    EOF
-    chmod 400 /var/lib/secrets/certs.secret
-  '';
-};
-</programlisting>
-    <para>
-      Now you’re all set to generate certs! You should monitor the first
-      invocation by running
-      <literal>systemctl start acme-example.com.service &amp; journalctl -fu acme-example.com.service</literal>
-      and watching its log output.
-    </para>
-  </section>
-  <section xml:id="module-security-acme-config-dns-with-vhosts">
-    <title>Using DNS validation with web server virtual hosts</title>
-    <para>
-      It is possible to use DNS-01 validation with all certificates,
-      including those automatically configured via the Nginx/Apache
-      <link linkend="opt-services.nginx.virtualHosts._name_.enableACME"><literal>enableACME</literal></link>
-      option. This configuration pattern is fully supported and part of
-      the module’s test suite for Nginx + Apache.
-    </para>
-    <para>
-      You must follow the guide above on configuring DNS-01 validation
-      first, however instead of setting the options for one certificate
-      (e.g.
-      <xref linkend="opt-security.acme.certs._name_.dnsProvider" />) you
-      will set them as defaults (e.g.
-      <xref linkend="opt-security.acme.defaults.dnsProvider" />).
-    </para>
-    <programlisting>
-# Configure ACME appropriately
-security.acme.acceptTerms = true;
-security.acme.defaults.email = &quot;admin+acme@example.com&quot;;
-security.acme.defaults = {
-  dnsProvider = &quot;rfc2136&quot;;
-  credentialsFile = &quot;/var/lib/secrets/certs.secret&quot;;
-  # We don't need to wait for propagation since this is a local DNS server
-  dnsPropagationCheck = false;
-};
-
-# For each virtual host you would like to use DNS-01 validation with,
-# set acmeRoot = null
-services.nginx = {
-  enable = true;
-  virtualHosts = {
-    &quot;foo.example.com&quot; = {
-      enableACME = true;
-      acmeRoot = null;
-    };
-  };
-}
-</programlisting>
-    <para>
-      And that’s it! Next time your configuration is rebuilt, or when
-      you add a new virtualHost, it will be DNS-01 validated.
-    </para>
-  </section>
-  <section xml:id="module-security-acme-root-owned">
-    <title>Using ACME with services demanding root owned
-    certificates</title>
-    <para>
-      Some services refuse to start if the configured certificate files
-      are not owned by root. PostgreSQL and OpenSMTPD are examples of
-      these. There is no way to change the user the ACME module uses (it
-      will always be <literal>acme</literal>), however you can use
-      systemd’s <literal>LoadCredential</literal> feature to resolve
-      this elegantly. Below is an example configuration for OpenSMTPD,
-      but this pattern can be applied to any service.
-    </para>
-    <programlisting>
-# Configure ACME however you like (DNS or HTTP validation), adding
-# the following configuration for the relevant certificate.
-# Note: You cannot use `systemctl reload` here as that would mean
-# the LoadCredential configuration below would be skipped and
-# the service would continue to use old certificates.
-security.acme.certs.&quot;mail.example.com&quot;.postRun = ''
-  systemctl restart opensmtpd
-'';
-
-# Now you must augment OpenSMTPD's systemd service to load
-# the certificate files.
-systemd.services.opensmtpd.requires = [&quot;acme-finished-mail.example.com.target&quot;];
-systemd.services.opensmtpd.serviceConfig.LoadCredential = let
-  certDir = config.security.acme.certs.&quot;mail.example.com&quot;.directory;
-in [
-  &quot;cert.pem:${certDir}/cert.pem&quot;
-  &quot;key.pem:${certDir}/key.pem&quot;
-];
-
-# Finally, configure OpenSMTPD to use these certs.
-services.opensmtpd = let
-  credsDir = &quot;/run/credentials/opensmtpd.service&quot;;
-in {
-  enable = true;
-  setSendmail = false;
-  serverConfiguration = ''
-    pki mail.example.com cert &quot;${credsDir}/cert.pem&quot;
-    pki mail.example.com key &quot;${credsDir}/key.pem&quot;
-    listen on localhost tls pki mail.example.com
-    action act1 relay host smtp://127.0.0.1:10027
-    match for local action act1
-  '';
-};
-</programlisting>
-  </section>
-  <section xml:id="module-security-acme-regenerate">
-    <title>Regenerating certificates</title>
-    <para>
-      Should you need to regenerate a particular certificate in a hurry,
-      such as when a vulnerability is found in Let’s Encrypt, there is
-      now a convenient mechanism for doing so. Running
-      <literal>systemctl clean --what=state acme-example.com.service</literal>
-      will remove all certificate files and the account data for the
-      given domain, allowing you to then
-      <literal>systemctl start acme-example.com.service</literal> to
-      generate fresh ones.
-    </para>
-  </section>
-  <section xml:id="module-security-acme-fix-jws">
-    <title>Fixing JWS Verification error</title>
-    <para>
-      It is possible that your account credentials file may become
-      corrupt and need to be regenerated. In this scenario lego will
-      produce the error <literal>JWS verification error</literal>. The
-      solution is to simply delete the associated accounts file and
-      re-run the affected service(s).
-    </para>
-    <programlisting>
-# Find the accounts folder for the certificate
-systemctl cat acme-example.com.service | grep -Po 'accounts/[^:]*'
-export accountdir=&quot;$(!!)&quot;
-# Move this folder to some place else
-mv /var/lib/acme/.lego/$accountdir{,.bak}
-# Recreate the folder using systemd-tmpfiles
-systemd-tmpfiles --create
-# Get a new account and reissue certificates
-# Note: Do this for all certs that share the same account email address
-systemctl start acme-example.com.service
-</programlisting>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/backup/borgbackup.nix b/nixos/modules/services/backup/borgbackup.nix
index c5fc09dcea0..bc2d79ac10a 100644
--- a/nixos/modules/services/backup/borgbackup.nix
+++ b/nixos/modules/services/backup/borgbackup.nix
@@ -226,7 +226,7 @@ let
 
 in {
   meta.maintainers = with maintainers; [ dotlambda ];
-  meta.doc = ./borgbackup.xml;
+  meta.doc = ./borgbackup.md;
 
   ###### interface
 
diff --git a/nixos/modules/services/backup/borgbackup.xml b/nixos/modules/services/backup/borgbackup.xml
deleted file mode 100644
index 2b9e0baa6d0..00000000000
--- a/nixos/modules/services/backup/borgbackup.xml
+++ /dev/null
@@ -1,215 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-borgbase">
-  <title>BorgBackup</title>
-  <para>
-    <emphasis>Source:</emphasis>
-    <filename>modules/services/backup/borgbackup.nix</filename>
-  </para>
-  <para>
-    <emphasis>Upstream documentation:</emphasis>
-    <link xlink:href="https://borgbackup.readthedocs.io/">https://borgbackup.readthedocs.io/</link>
-  </para>
-  <para>
-    <link xlink:href="https://www.borgbackup.org/">BorgBackup</link>
-    (short: Borg) is a deduplicating backup program. Optionally, it
-    supports compression and authenticated encryption.
-  </para>
-  <para>
-    The main goal of Borg is to provide an efficient and secure way to
-    backup data. The data deduplication technique used makes Borg
-    suitable for daily backups since only changes are stored. The
-    authenticated encryption technique makes it suitable for backups to
-    not fully trusted targets.
-  </para>
-  <section xml:id="module-services-backup-borgbackup-configuring">
-    <title>Configuring</title>
-    <para>
-      A complete list of options for the Borgbase module may be found
-      <link linkend="opt-services.borgbackup.jobs">here</link>.
-    </para>
-  </section>
-  <section xml:id="opt-services-backup-borgbackup-local-directory">
-    <title>Basic usage for a local backup</title>
-    <para>
-      A very basic configuration for backing up to a locally accessible
-      directory is:
-    </para>
-    <programlisting>
-{
-    opt.services.borgbackup.jobs = {
-      { rootBackup = {
-          paths = &quot;/&quot;;
-          exclude = [ &quot;/nix&quot; &quot;/path/to/local/repo&quot; ];
-          repo = &quot;/path/to/local/repo&quot;;
-          doInit = true;
-          encryption = {
-            mode = &quot;repokey&quot;;
-            passphrase = &quot;secret&quot;;
-          };
-          compression = &quot;auto,lzma&quot;;
-          startAt = &quot;weekly&quot;;
-        };
-      }
-    };
-}
-</programlisting>
-    <warning>
-      <para>
-        If you do not want the passphrase to be stored in the
-        world-readable Nix store, use passCommand. You find an example
-        below.
-      </para>
-    </warning>
-  </section>
-  <section xml:id="opt-services-backup-create-server">
-    <title>Create a borg backup server</title>
-    <para>
-      You should use a different SSH key for each repository you write
-      to, because the specified keys are restricted to running borg
-      serve and can only access this single repository. You need the
-      output of the generate pub file.
-    </para>
-    <programlisting>
-# sudo ssh-keygen -N '' -t ed25519 -f /run/keys/id_ed25519_my_borg_repo
-# cat /run/keys/id_ed25519_my_borg_repo
-ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID78zmOyA+5uPG4Ot0hfAy+sLDPU1L4AiIoRYEIVbbQ/ root@nixos
-</programlisting>
-    <para>
-      Add the following snippet to your NixOS configuration:
-    </para>
-    <programlisting>
-{
-  services.borgbackup.repos = {
-    my_borg_repo = {
-      authorizedKeys = [
-        &quot;ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID78zmOyA+5uPG4Ot0hfAy+sLDPU1L4AiIoRYEIVbbQ/ root@nixos&quot;
-      ] ;
-      path = &quot;/var/lib/my_borg_repo&quot; ;
-    };
-  };
-}
-</programlisting>
-  </section>
-  <section xml:id="opt-services-backup-borgbackup-remote-server">
-    <title>Backup to the borg repository server</title>
-    <para>
-      The following NixOS snippet creates an hourly backup to the
-      service (on the host nixos) as created in the section above. We
-      assume that you have stored a secret passphrasse in the file
-      <filename>/run/keys/borgbackup_passphrase</filename>, which should
-      be only accessible by root
-    </para>
-    <programlisting>
-{
-  services.borgbackup.jobs = {
-    backupToLocalServer = {
-      paths = [ &quot;/etc/nixos&quot; ];
-      doInit = true;
-      repo =  &quot;borg@nixos:.&quot; ;
-      encryption = {
-        mode = &quot;repokey-blake2&quot;;
-        passCommand = &quot;cat /run/keys/borgbackup_passphrase&quot;;
-      };
-      environment = { BORG_RSH = &quot;ssh -i /run/keys/id_ed25519_my_borg_repo&quot;; };
-      compression = &quot;auto,lzma&quot;;
-      startAt = &quot;hourly&quot;;
-    };
-  };
-};
-</programlisting>
-    <para>
-      The following few commands (run as root) let you test your backup.
-    </para>
-    <programlisting>
-&gt; nixos-rebuild switch
-...restarting the following units: polkit.service
-&gt; systemctl restart borgbackup-job-backupToLocalServer
-&gt; sleep 10
-&gt; systemctl restart borgbackup-job-backupToLocalServer
-&gt; export BORG_PASSPHRASE=topSecrect
-&gt; borg list --rsh='ssh -i /run/keys/id_ed25519_my_borg_repo' borg@nixos:.
-nixos-backupToLocalServer-2020-03-30T21:46:17 Mon, 2020-03-30 21:46:19 [84feb97710954931ca384182f5f3cb90665f35cef214760abd7350fb064786ac]
-nixos-backupToLocalServer-2020-03-30T21:46:30 Mon, 2020-03-30 21:46:32 [e77321694ecd160ca2228611747c6ad1be177d6e0d894538898de7a2621b6e68]
-</programlisting>
-  </section>
-  <section xml:id="opt-services-backup-borgbackup-borgbase">
-    <title>Backup to a hosting service</title>
-    <para>
-      Several companies offer
-      <link xlink:href="https://www.borgbackup.org/support/commercial.html">(paid)
-      hosting services</link> for Borg repositories.
-    </para>
-    <para>
-      To backup your home directory to borgbase you have to:
-    </para>
-    <itemizedlist>
-      <listitem>
-        <para>
-          Generate a SSH key without a password, to access the remote
-          server. E.g.
-        </para>
-        <programlisting>
-sudo ssh-keygen -N '' -t ed25519 -f /run/keys/id_ed25519_borgbase
-</programlisting>
-      </listitem>
-      <listitem>
-        <para>
-          Create the repository on the server by following the
-          instructions for your hosting server.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Initialize the repository on the server. Eg.
-        </para>
-        <programlisting>
-sudo borg init --encryption=repokey-blake2  \
-    -rsh &quot;ssh -i /run/keys/id_ed25519_borgbase&quot; \
-    zzz2aaaaa@zzz2aaaaa.repo.borgbase.com:repo
-</programlisting>
-      </listitem>
-      <listitem>
-        <para>
-          Add it to your NixOS configuration, e.g.
-        </para>
-        <programlisting>
-{
-    services.borgbackup.jobs = {
-    my_Remote_Backup = {
-        paths = [ &quot;/&quot; ];
-        exclude = [ &quot;/nix&quot; &quot;'**/.cache'&quot; ];
-        repo =  &quot;zzz2aaaaa@zzz2aaaaa.repo.borgbase.com:repo&quot;;
-          encryption = {
-          mode = &quot;repokey-blake2&quot;;
-          passCommand = &quot;cat /run/keys/borgbackup_passphrase&quot;;
-        };
-        environment = { BORG_RSH = &quot;ssh -i /run/keys/id_ed25519_borgbase&quot;; };
-        compression = &quot;auto,lzma&quot;;
-        startAt = &quot;daily&quot;;
-    };
-  };
-}}
-</programlisting>
-      </listitem>
-    </itemizedlist>
-  </section>
-  <section xml:id="opt-services-backup-borgbackup-vorta">
-    <title>Vorta backup client for the desktop</title>
-    <para>
-      Vorta is a backup client for macOS and Linux desktops. It
-      integrates the mighty BorgBackup with your desktop environment to
-      protect your data from disk failure, ransomware and theft.
-    </para>
-    <para>
-      It can be installed in NixOS e.g. by adding
-      <literal>pkgs.vorta</literal> to
-      <xref linkend="opt-environment.systemPackages" />.
-    </para>
-    <para>
-      Details about using Vorta can be found under
-      <link xlink:href="https://vorta.borgbase.com/usage">https://vorta.borgbase.com</link>
-      .
-    </para>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/databases/foundationdb.nix b/nixos/modules/services/databases/foundationdb.nix
index 16d539b661e..48e9898a68c 100644
--- a/nixos/modules/services/databases/foundationdb.nix
+++ b/nixos/modules/services/databases/foundationdb.nix
@@ -424,6 +424,6 @@ in
     };
   };
 
-  meta.doc         = ./foundationdb.xml;
+  meta.doc         = ./foundationdb.md;
   meta.maintainers = with lib.maintainers; [ thoughtpolice ];
 }
diff --git a/nixos/modules/services/databases/foundationdb.xml b/nixos/modules/services/databases/foundationdb.xml
deleted file mode 100644
index 611535a9eb8..00000000000
--- a/nixos/modules/services/databases/foundationdb.xml
+++ /dev/null
@@ -1,425 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-foundationdb">
-  <title>FoundationDB</title>
-  <para>
-    <emphasis>Source:</emphasis>
-    <filename>modules/services/databases/foundationdb.nix</filename>
-  </para>
-  <para>
-    <emphasis>Upstream documentation:</emphasis>
-    <link xlink:href="https://apple.github.io/foundationdb/">https://apple.github.io/foundationdb/</link>
-  </para>
-  <para>
-    <emphasis>Maintainer:</emphasis> Austin Seipp
-  </para>
-  <para>
-    <emphasis>Available version(s):</emphasis> 5.1.x, 5.2.x, 6.0.x
-  </para>
-  <para>
-    FoundationDB (or <quote>FDB</quote>) is an open source, distributed,
-    transactional key-value store.
-  </para>
-  <section xml:id="module-services-foundationdb-configuring">
-    <title>Configuring and basic setup</title>
-    <para>
-      To enable FoundationDB, add the following to your
-      <filename>configuration.nix</filename>:
-    </para>
-    <programlisting>
-services.foundationdb.enable = true;
-services.foundationdb.package = pkgs.foundationdb52; # FoundationDB 5.2.x
-</programlisting>
-    <para>
-      The <option>services.foundationdb.package</option> option is
-      required, and must always be specified. Due to the fact
-      FoundationDB network protocols and on-disk storage formats may
-      change between (major) versions, and upgrades must be explicitly
-      handled by the user, you must always manually specify this
-      yourself so that the NixOS module will use the proper version.
-      Note that minor, bugfix releases are always compatible.
-    </para>
-    <para>
-      After running <command>nixos-rebuild</command>, you can verify
-      whether FoundationDB is running by executing
-      <command>fdbcli</command> (which is added to
-      <option>environment.systemPackages</option>):
-    </para>
-    <programlisting>
-$ sudo -u foundationdb fdbcli
-Using cluster file `/etc/foundationdb/fdb.cluster'.
-
-The database is available.
-
-Welcome to the fdbcli. For help, type `help'.
-fdb&gt; status
-
-Using cluster file `/etc/foundationdb/fdb.cluster'.
-
-Configuration:
-  Redundancy mode        - single
-  Storage engine         - memory
-  Coordinators           - 1
-
-Cluster:
-  FoundationDB processes - 1
-  Machines               - 1
-  Memory availability    - 5.4 GB per process on machine with least available
-  Fault Tolerance        - 0 machines
-  Server time            - 04/20/18 15:21:14
-
-...
-
-fdb&gt;
-</programlisting>
-    <para>
-      You can also write programs using the available client libraries.
-      For example, the following Python program can be run in order to
-      grab the cluster status, as a quick example. (This example uses
-      <command>nix-shell</command> shebang support to automatically
-      supply the necessary Python modules).
-    </para>
-    <programlisting>
-a@link&gt; cat fdb-status.py
-#! /usr/bin/env nix-shell
-#! nix-shell -i python -p python pythonPackages.foundationdb52
-
-import fdb
-import json
-
-def main():
-    fdb.api_version(520)
-    db = fdb.open()
-
-    @fdb.transactional
-    def get_status(tr):
-        return str(tr['\xff\xff/status/json'])
-
-    obj = json.loads(get_status(db))
-    print('FoundationDB available: %s' % obj['client']['database_status']['available'])
-
-if __name__ == &quot;__main__&quot;:
-    main()
-a@link&gt; chmod +x fdb-status.py
-a@link&gt; ./fdb-status.py
-FoundationDB available: True
-a@link&gt;
-</programlisting>
-    <para>
-      FoundationDB is run under the <command>foundationdb</command> user
-      and group by default, but this may be changed in the NixOS
-      configuration. The systemd unit
-      <command>foundationdb.service</command> controls the
-      <command>fdbmonitor</command> process.
-    </para>
-    <para>
-      By default, the NixOS module for FoundationDB creates a single
-      SSD-storage based database for development and basic usage. This
-      storage engine is designed for SSDs and will perform poorly on
-      HDDs; however it can handle far more data than the alternative
-      <quote>memory</quote> engine and is a better default choice for
-      most deployments. (Note that you can change the storage backend
-      on-the-fly for a given FoundationDB cluster using
-      <command>fdbcli</command>.)
-    </para>
-    <para>
-      Furthermore, only 1 server process and 1 backup agent are started
-      in the default configuration. See below for more on scaling to
-      increase this.
-    </para>
-    <para>
-      FoundationDB stores all data for all server processes under
-      <filename>/var/lib/foundationdb</filename>. You can override this
-      using <option>services.foundationdb.dataDir</option>, e.g.
-    </para>
-    <programlisting>
-services.foundationdb.dataDir = &quot;/data/fdb&quot;;
-</programlisting>
-    <para>
-      Similarly, logs are stored under
-      <filename>/var/log/foundationdb</filename> by default, and there
-      is a corresponding <option>services.foundationdb.logDir</option>
-      as well.
-    </para>
-  </section>
-  <section xml:id="module-services-foundationdb-scaling">
-    <title>Scaling processes and backup agents</title>
-    <para>
-      Scaling the number of server processes is quite easy; simply
-      specify <option>services.foundationdb.serverProcesses</option> to
-      be the number of FoundationDB worker processes that should be
-      started on the machine.
-    </para>
-    <para>
-      FoundationDB worker processes typically require 4GB of RAM
-      per-process at minimum for good performance, so this option is set
-      to 1 by default since the maximum amount of RAM is unknown. You’re
-      advised to abide by this restriction, so pick a number of
-      processes so that each has 4GB or more.
-    </para>
-    <para>
-      A similar option exists in order to scale backup agent processes,
-      <option>services.foundationdb.backupProcesses</option>. Backup
-      agents are not as performance/RAM sensitive, so feel free to
-      experiment with the number of available backup processes.
-    </para>
-  </section>
-  <section xml:id="module-services-foundationdb-clustering">
-    <title>Clustering</title>
-    <para>
-      FoundationDB on NixOS works similarly to other Linux systems, so
-      this section will be brief. Please refer to the full FoundationDB
-      documentation for more on clustering.
-    </para>
-    <para>
-      FoundationDB organizes clusters using a set of
-      <emphasis>coordinators</emphasis>, which are just
-      specially-designated worker processes. By default, every
-      installation of FoundationDB on NixOS will start as its own
-      individual cluster, with a single coordinator: the first worker
-      process on <command>localhost</command>.
-    </para>
-    <para>
-      Coordinators are specified globally using the
-      <command>/etc/foundationdb/fdb.cluster</command> file, which all
-      servers and client applications will use to find and join
-      coordinators. Note that this file <emphasis>can not</emphasis> be
-      managed by NixOS so easily: FoundationDB is designed so that it
-      will rewrite the file at runtime for all clients and nodes when
-      cluster coordinators change, with clients transparently handling
-      this without intervention. It is fundamentally a mutable file, and
-      you should not try to manage it in any way in NixOS.
-    </para>
-    <para>
-      When dealing with a cluster, there are two main things you want to
-      do:
-    </para>
-    <itemizedlist spacing="compact">
-      <listitem>
-        <para>
-          Add a node to the cluster for storage/compute.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Promote an ordinary worker to a coordinator.
-        </para>
-      </listitem>
-    </itemizedlist>
-    <para>
-      A node must already be a member of the cluster in order to
-      properly be promoted to a coordinator, so you must always add it
-      first if you wish to promote it.
-    </para>
-    <para>
-      To add a machine to a FoundationDB cluster:
-    </para>
-    <itemizedlist spacing="compact">
-      <listitem>
-        <para>
-          Choose one of the servers to start as the initial coordinator.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Copy the <command>/etc/foundationdb/fdb.cluster</command> file
-          from this server to all the other servers. Restart
-          FoundationDB on all of these other servers, so they join the
-          cluster.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          All of these servers are now connected and working together in
-          the cluster, under the chosen coordinator.
-        </para>
-      </listitem>
-    </itemizedlist>
-    <para>
-      At this point, you can add as many nodes as you want by just
-      repeating the above steps. By default there will still be a single
-      coordinator: you can use <command>fdbcli</command> to change this
-      and add new coordinators.
-    </para>
-    <para>
-      As a convenience, FoundationDB can automatically assign
-      coordinators based on the redundancy mode you wish to achieve for
-      the cluster. Once all the nodes have been joined, simply set the
-      replication policy, and then issue the
-      <command>coordinators auto</command> command
-    </para>
-    <para>
-      For example, assuming we have 3 nodes available, we can enable
-      double redundancy mode, then auto-select coordinators. For double
-      redundancy, 3 coordinators is ideal: therefore FoundationDB will
-      make <emphasis>every</emphasis> node a coordinator automatically:
-    </para>
-    <programlisting>
-fdbcli&gt; configure double ssd
-fdbcli&gt; coordinators auto
-</programlisting>
-    <para>
-      This will transparently update all the servers within seconds, and
-      appropriately rewrite the <command>fdb.cluster</command> file, as
-      well as informing all client processes to do the same.
-    </para>
-  </section>
-  <section xml:id="module-services-foundationdb-connectivity">
-    <title>Client connectivity</title>
-    <para>
-      By default, all clients must use the current
-      <command>fdb.cluster</command> file to access a given FoundationDB
-      cluster. This file is located by default in
-      <command>/etc/foundationdb/fdb.cluster</command> on all machines
-      with the FoundationDB service enabled, so you may copy the active
-      one from your cluster to a new node in order to connect, if it is
-      not part of the cluster.
-    </para>
-  </section>
-  <section xml:id="module-services-foundationdb-authorization">
-    <title>Client authorization and TLS</title>
-    <para>
-      By default, any user who can connect to a FoundationDB process
-      with the correct cluster configuration can access anything.
-      FoundationDB uses a pluggable design to transport security, and
-      out of the box it supports a LibreSSL-based plugin for TLS
-      support. This plugin not only does in-flight encryption, but also
-      performs client authorization based on the given endpoint’s
-      certificate chain. For example, a FoundationDB server may be
-      configured to only accept client connections over TLS, where the
-      client TLS certificate is from organization <emphasis>Acme
-      Co</emphasis> in the <emphasis>Research and Development</emphasis>
-      unit.
-    </para>
-    <para>
-      Configuring TLS with FoundationDB is done using the
-      <option>services.foundationdb.tls</option> options in order to
-      control the peer verification string, as well as the certificate
-      and its private key.
-    </para>
-    <para>
-      Note that the certificate and its private key must be accessible
-      to the FoundationDB user account that the server runs under. These
-      files are also NOT managed by NixOS, as putting them into the
-      store may reveal private information.
-    </para>
-    <para>
-      After you have a key and certificate file in place, it is not
-      enough to simply set the NixOS module options – you must also
-      configure the <command>fdb.cluster</command> file to specify that
-      a given set of coordinators use TLS. This is as simple as adding
-      the suffix <command>:tls</command> to your cluster coordinator
-      configuration, after the port number. For example, assuming you
-      have a coordinator on localhost with the default configuration,
-      simply specifying:
-    </para>
-    <programlisting>
-XXXXXX:XXXXXX@127.0.0.1:4500:tls
-</programlisting>
-    <para>
-      will configure all clients and server processes to use TLS from
-      now on.
-    </para>
-  </section>
-  <section xml:id="module-services-foundationdb-disaster-recovery">
-    <title>Backups and Disaster Recovery</title>
-    <para>
-      The usual rules for doing FoundationDB backups apply on NixOS as
-      written in the FoundationDB manual. However, one important
-      difference is the security profile for NixOS: by default, the
-      <command>foundationdb</command> systemd unit uses <emphasis>Linux
-      namespaces</emphasis> to restrict write access to the system,
-      except for the log directory, data directory, and the
-      <command>/etc/foundationdb/</command> directory. This is enforced
-      by default and cannot be disabled.
-    </para>
-    <para>
-      However, a side effect of this is that the
-      <command>fdbbackup</command> command doesn’t work properly for
-      local filesystem backups: FoundationDB uses a server process
-      alongside the database processes to perform backups and copy the
-      backups to the filesystem. As a result, this process is put under
-      the restricted namespaces above: the backup process can only write
-      to a limited number of paths.
-    </para>
-    <para>
-      In order to allow flexible backup locations on local disks, the
-      FoundationDB NixOS module supports a
-      <option>services.foundationdb.extraReadWritePaths</option> option.
-      This option takes a list of paths, and adds them to the systemd
-      unit, allowing the processes inside the service to write (and
-      read) the specified directories.
-    </para>
-    <para>
-      For example, to create backups in
-      <command>/opt/fdb-backups</command>, first set up the paths in the
-      module options:
-    </para>
-    <programlisting>
-services.foundationdb.extraReadWritePaths = [ &quot;/opt/fdb-backups&quot; ];
-</programlisting>
-    <para>
-      Restart the FoundationDB service, and it will now be able to write
-      to this directory (even if it does not yet exist.) Note: this path
-      <emphasis>must</emphasis> exist before restarting the unit.
-      Otherwise, systemd will not include it in the private FoundationDB
-      namespace (and it will not add it dynamically at runtime).
-    </para>
-    <para>
-      You can now perform a backup:
-    </para>
-    <programlisting>
-$ sudo -u foundationdb fdbbackup start  -t default -d file:///opt/fdb-backups
-$ sudo -u foundationdb fdbbackup status -t default
-</programlisting>
-  </section>
-  <section xml:id="module-services-foundationdb-limitations">
-    <title>Known limitations</title>
-    <para>
-      The FoundationDB setup for NixOS should currently be considered
-      beta. FoundationDB is not new software, but the NixOS compilation
-      and integration has only undergone fairly basic testing of all the
-      available functionality.
-    </para>
-    <itemizedlist spacing="compact">
-      <listitem>
-        <para>
-          There is no way to specify individual parameters for
-          individual <command>fdbserver</command> processes. Currently,
-          all server processes inherit all the global
-          <command>fdbmonitor</command> settings.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Ruby bindings are not currently installed.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Go bindings are not currently installed.
-        </para>
-      </listitem>
-    </itemizedlist>
-  </section>
-  <section xml:id="module-services-foundationdb-options">
-    <title>Options</title>
-    <para>
-      NixOS’s FoundationDB module allows you to configure all of the
-      most relevant configuration options for
-      <command>fdbmonitor</command>, matching it quite closely. A
-      complete list of options for the FoundationDB module may be found
-      <link linkend="opt-services.foundationdb.enable">here</link>. You
-      should also read the FoundationDB documentation as well.
-    </para>
-  </section>
-  <section xml:id="module-services-foundationdb-full-docs">
-    <title>Full documentation</title>
-    <para>
-      FoundationDB is a complex piece of software, and requires careful
-      administration to properly use. Full documentation for
-      administration can be found here:
-      <link xlink:href="https://apple.github.io/foundationdb/">https://apple.github.io/foundationdb/</link>.
-    </para>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/databases/postgresql.nix b/nixos/modules/services/databases/postgresql.nix
index 6665e7a088f..7bbe1ad2259 100644
--- a/nixos/modules/services/databases/postgresql.nix
+++ b/nixos/modules/services/databases/postgresql.nix
@@ -585,6 +585,6 @@ in
 
   };
 
-  meta.doc = ./postgresql.xml;
+  meta.doc = ./postgresql.md;
   meta.maintainers = with lib.maintainers; [ thoughtpolice danbst ];
 }
diff --git a/nixos/modules/services/databases/postgresql.xml b/nixos/modules/services/databases/postgresql.xml
deleted file mode 100644
index 2f62d5d80b1..00000000000
--- a/nixos/modules/services/databases/postgresql.xml
+++ /dev/null
@@ -1,250 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-postgresql">
-  <title>PostgreSQL</title>
-  <para>
-    <emphasis>Source:</emphasis>
-    <filename>modules/services/databases/postgresql.nix</filename>
-  </para>
-  <para>
-    <emphasis>Upstream documentation:</emphasis>
-    <link xlink:href="http://www.postgresql.org/docs/">http://www.postgresql.org/docs/</link>
-  </para>
-  <para>
-    PostgreSQL is an advanced, free relational database.
-  </para>
-  <section xml:id="module-services-postgres-configuring">
-    <title>Configuring</title>
-    <para>
-      To enable PostgreSQL, add the following to your
-      <filename>configuration.nix</filename>:
-    </para>
-    <programlisting>
-services.postgresql.enable = true;
-services.postgresql.package = pkgs.postgresql_11;
-</programlisting>
-    <para>
-      Note that you are required to specify the desired version of
-      PostgreSQL (e.g. <literal>pkgs.postgresql_11</literal>). Since
-      upgrading your PostgreSQL version requires a database dump and
-      reload (see below), NixOS cannot provide a default value for
-      <xref linkend="opt-services.postgresql.package" /> such as the
-      most recent release of PostgreSQL.
-    </para>
-    <para>
-      By default, PostgreSQL stores its databases in
-      <filename>/var/lib/postgresql/$psqlSchema</filename>. You can
-      override this using
-      <xref linkend="opt-services.postgresql.dataDir" />, e.g.
-    </para>
-    <programlisting>
-services.postgresql.dataDir = &quot;/data/postgresql&quot;;
-</programlisting>
-  </section>
-  <section xml:id="module-services-postgres-upgrading">
-    <title>Upgrading</title>
-    <note>
-      <para>
-        The steps below demonstrate how to upgrade from an older version
-        to <literal>pkgs.postgresql_13</literal>. These instructions are
-        also applicable to other versions.
-      </para>
-    </note>
-    <para>
-      Major PostgreSQL upgrades require a downtime and a few imperative
-      steps to be called. This is the case because each major version
-      has some internal changes in the databases’ state during major
-      releases. Because of that, NixOS places the state into
-      <filename>/var/lib/postgresql/&lt;version&gt;</filename> where
-      each <literal>version</literal> can be obtained like this:
-    </para>
-    <programlisting>
-$ nix-instantiate --eval -A postgresql_13.psqlSchema
-&quot;13&quot;
-</programlisting>
-    <para>
-      For an upgrade, a script like this can be used to simplify the
-      process:
-    </para>
-    <programlisting>
-{ config, pkgs, ... }:
-{
-  environment.systemPackages = [
-    (let
-      # XXX specify the postgresql package you'd like to upgrade to.
-      # Do not forget to list the extensions you need.
-      newPostgres = pkgs.postgresql_13.withPackages (pp: [
-        # pp.plv8
-      ]);
-    in pkgs.writeScriptBin &quot;upgrade-pg-cluster&quot; ''
-      set -eux
-      # XXX it's perhaps advisable to stop all services that depend on postgresql
-      systemctl stop postgresql
-
-      export NEWDATA=&quot;/var/lib/postgresql/${newPostgres.psqlSchema}&quot;
-
-      export NEWBIN=&quot;${newPostgres}/bin&quot;
-
-      export OLDDATA=&quot;${config.services.postgresql.dataDir}&quot;
-      export OLDBIN=&quot;${config.services.postgresql.package}/bin&quot;
-
-      install -d -m 0700 -o postgres -g postgres &quot;$NEWDATA&quot;
-      cd &quot;$NEWDATA&quot;
-      sudo -u postgres $NEWBIN/initdb -D &quot;$NEWDATA&quot;
-
-      sudo -u postgres $NEWBIN/pg_upgrade \
-        --old-datadir &quot;$OLDDATA&quot; --new-datadir &quot;$NEWDATA&quot; \
-        --old-bindir $OLDBIN --new-bindir $NEWBIN \
-        &quot;$@&quot;
-    '')
-  ];
-}
-</programlisting>
-    <para>
-      The upgrade process is:
-    </para>
-    <orderedlist numeration="arabic">
-      <listitem>
-        <para>
-          Rebuild nixos configuration with the configuration above added
-          to your <filename>configuration.nix</filename>. Alternatively,
-          add that into separate file and reference it in
-          <literal>imports</literal> list.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Login as root (<literal>sudo su -</literal>)
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Run <literal>upgrade-pg-cluster</literal>. It will stop old
-          postgresql, initialize a new one and migrate the old one to
-          the new one. You may supply arguments like
-          <literal>--jobs 4</literal> and <literal>--link</literal> to
-          speedup migration process. See
-          <link xlink:href="https://www.postgresql.org/docs/current/pgupgrade.html">https://www.postgresql.org/docs/current/pgupgrade.html</link>
-          for details.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Change postgresql package in NixOS configuration to the one
-          you were upgrading to via
-          <xref linkend="opt-services.postgresql.package" />. Rebuild
-          NixOS. This should start new postgres using upgraded data
-          directory and all services you stopped during the upgrade.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          After the upgrade it’s advisable to analyze the new cluster.
-        </para>
-        <itemizedlist>
-          <listitem>
-            <para>
-              For PostgreSQL ≥ 14, use the <literal>vacuumdb</literal>
-              command printed by the upgrades script.
-            </para>
-          </listitem>
-          <listitem>
-            <para>
-              For PostgreSQL &lt; 14, run (as
-              <literal>su -l postgres</literal> in the
-              <xref linkend="opt-services.postgresql.dataDir" />, in
-              this example <filename>/var/lib/postgresql/13</filename>):
-            </para>
-            <programlisting>
-$ ./analyze_new_cluster.sh
-</programlisting>
-          </listitem>
-        </itemizedlist>
-        <warning>
-          <para>
-            The next step removes the old state-directory!
-          </para>
-        </warning>
-        <programlisting>
-$ ./delete_old_cluster.sh
-</programlisting>
-      </listitem>
-    </orderedlist>
-  </section>
-  <section xml:id="module-services-postgres-options">
-    <title>Options</title>
-    <para>
-      A complete list of options for the PostgreSQL module may be found
-      <link linkend="opt-services.postgresql.enable">here</link>.
-    </para>
-  </section>
-  <section xml:id="module-services-postgres-plugins">
-    <title>Plugins</title>
-    <para>
-      Plugins collection for each PostgreSQL version can be accessed
-      with <literal>.pkgs</literal>. For example, for
-      <literal>pkgs.postgresql_11</literal> package, its plugin
-      collection is accessed by
-      <literal>pkgs.postgresql_11.pkgs</literal>:
-    </para>
-    <programlisting>
-$ nix repl '&lt;nixpkgs&gt;'
-
-Loading '&lt;nixpkgs&gt;'...
-Added 10574 variables.
-
-nix-repl&gt; postgresql_11.pkgs.&lt;TAB&gt;&lt;TAB&gt;
-postgresql_11.pkgs.cstore_fdw        postgresql_11.pkgs.pg_repack
-postgresql_11.pkgs.pg_auto_failover  postgresql_11.pkgs.pg_safeupdate
-postgresql_11.pkgs.pg_bigm           postgresql_11.pkgs.pg_similarity
-postgresql_11.pkgs.pg_cron           postgresql_11.pkgs.pg_topn
-postgresql_11.pkgs.pg_hll            postgresql_11.pkgs.pgjwt
-postgresql_11.pkgs.pg_partman        postgresql_11.pkgs.pgroonga
-...
-</programlisting>
-    <para>
-      To add plugins via NixOS configuration, set
-      <literal>services.postgresql.extraPlugins</literal>:
-    </para>
-    <programlisting>
-services.postgresql.package = pkgs.postgresql_11;
-services.postgresql.extraPlugins = with pkgs.postgresql_11.pkgs; [
-  pg_repack
-  postgis
-];
-</programlisting>
-    <para>
-      You can build custom PostgreSQL-with-plugins (to be used outside
-      of NixOS) using function <literal>.withPackages</literal>. For
-      example, creating a custom PostgreSQL package in an overlay can
-      look like:
-    </para>
-    <programlisting>
-self: super: {
-  postgresql_custom = self.postgresql_11.withPackages (ps: [
-    ps.pg_repack
-    ps.postgis
-  ]);
-}
-</programlisting>
-    <para>
-      Here’s a recipe on how to override a particular plugin through an
-      overlay:
-    </para>
-    <programlisting>
-self: super: {
-  postgresql_11 = super.postgresql_11.override { this = self.postgresql_11; } // {
-    pkgs = super.postgresql_11.pkgs // {
-      pg_repack = super.postgresql_11.pkgs.pg_repack.overrideAttrs (_: {
-        name = &quot;pg_repack-v20181024&quot;;
-        src = self.fetchzip {
-          url = &quot;https://github.com/reorg/pg_repack/archive/923fa2f3c709a506e111cc963034bf2fd127aa00.tar.gz&quot;;
-          sha256 = &quot;17k6hq9xaax87yz79j773qyigm4fwk8z4zh5cyp6z0sxnwfqxxw5&quot;;
-        };
-      });
-    };
-  };
-}
-</programlisting>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/desktops/flatpak.nix b/nixos/modules/services/desktops/flatpak.nix
index 3b14ad75ab3..d99faf381e0 100644
--- a/nixos/modules/services/desktops/flatpak.nix
+++ b/nixos/modules/services/desktops/flatpak.nix
@@ -7,7 +7,7 @@ let
   cfg = config.services.flatpak;
 in {
   meta = {
-    doc = ./flatpak.xml;
+    doc = ./flatpak.md;
     maintainers = pkgs.flatpak.meta.maintainers;
   };
 
diff --git a/nixos/modules/services/desktops/flatpak.xml b/nixos/modules/services/desktops/flatpak.xml
deleted file mode 100644
index cdc3278fa99..00000000000
--- a/nixos/modules/services/desktops/flatpak.xml
+++ /dev/null
@@ -1,59 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-flatpak">
-  <title>Flatpak</title>
-  <para>
-    <emphasis>Source:</emphasis>
-    <filename>modules/services/desktop/flatpak.nix</filename>
-  </para>
-  <para>
-    <emphasis>Upstream documentation:</emphasis>
-    <link xlink:href="https://github.com/flatpak/flatpak/wiki">https://github.com/flatpak/flatpak/wiki</link>
-  </para>
-  <para>
-    Flatpak is a system for building, distributing, and running
-    sandboxed desktop applications on Linux.
-  </para>
-  <para>
-    To enable Flatpak, add the following to your
-    <filename>configuration.nix</filename>:
-  </para>
-  <programlisting>
-  services.flatpak.enable = true;
-</programlisting>
-  <para>
-    For the sandboxed apps to work correctly, desktop integration
-    portals need to be installed. If you run GNOME, this will be handled
-    automatically for you; in other cases, you will need to add
-    something like the following to your
-    <filename>configuration.nix</filename>:
-  </para>
-  <programlisting>
-  xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
-</programlisting>
-  <para>
-    Then, you will need to add a repository, for example,
-    <link xlink:href="https://github.com/flatpak/flatpak/wiki">Flathub</link>,
-    either using the following commands:
-  </para>
-  <programlisting>
-$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
-$ flatpak update
-</programlisting>
-  <para>
-    or by opening the
-    <link xlink:href="https://flathub.org/repo/flathub.flatpakrepo">repository
-    file</link> in GNOME Software.
-  </para>
-  <para>
-    Finally, you can search and install programs:
-  </para>
-  <programlisting>
-$ flatpak search bustle
-$ flatpak install flathub org.freedesktop.Bustle
-$ flatpak run org.freedesktop.Bustle
-</programlisting>
-  <para>
-    Again, GNOME Software offers graphical interface for these tasks.
-  </para>
-</chapter>
diff --git a/nixos/modules/services/development/blackfire.nix b/nixos/modules/services/development/blackfire.nix
index 054cef9ae80..3c98d7a281c 100644
--- a/nixos/modules/services/development/blackfire.nix
+++ b/nixos/modules/services/development/blackfire.nix
@@ -11,7 +11,7 @@ let
 in {
   meta = {
     maintainers = pkgs.blackfire.meta.maintainers;
-    doc = ./blackfire.xml;
+    doc = ./blackfire.md;
   };
 
   options = {
diff --git a/nixos/modules/services/development/blackfire.xml b/nixos/modules/services/development/blackfire.xml
deleted file mode 100644
index 842e5bec97d..00000000000
--- a/nixos/modules/services/development/blackfire.xml
+++ /dev/null
@@ -1,61 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-blackfire">
-  <title>Blackfire profiler</title>
-  <para>
-    <emphasis>Source:</emphasis>
-    <filename>modules/services/development/blackfire.nix</filename>
-  </para>
-  <para>
-    <emphasis>Upstream documentation:</emphasis>
-    <link xlink:href="https://blackfire.io/docs/introduction">https://blackfire.io/docs/introduction</link>
-  </para>
-  <para>
-    <link xlink:href="https://blackfire.io">Blackfire</link> is a
-    proprietary tool for profiling applications. There are several
-    languages supported by the product but currently only PHP support is
-    packaged in Nixpkgs. The back-end consists of a module that is
-    loaded into the language runtime (called <emphasis>probe</emphasis>)
-    and a service (<emphasis>agent</emphasis>) that the probe connects
-    to and that sends the profiles to the server.
-  </para>
-  <para>
-    To use it, you will need to enable the agent and the probe on your
-    server. The exact method will depend on the way you use PHP but here
-    is an example of NixOS configuration for PHP-FPM:
-  </para>
-  <programlisting>
-let
-  php = pkgs.php.withExtensions ({ enabled, all }: enabled ++ (with all; [
-    blackfire
-  ]));
-in {
-  # Enable the probe extension for PHP-FPM.
-  services.phpfpm = {
-    phpPackage = php;
-  };
-
-  # Enable and configure the agent.
-  services.blackfire-agent = {
-    enable = true;
-    settings = {
-      # You will need to get credentials at https://blackfire.io/my/settings/credentials
-      # You can also use other options described in https://blackfire.io/docs/up-and-running/configuration/agent
-      server-id = &quot;XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&quot;;
-      server-token = &quot;XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&quot;;
-    };
-  };
-
-  # Make the agent run on start-up.
-  # (WantedBy= from the upstream unit not respected: https://github.com/NixOS/nixpkgs/issues/81138)
-  # Alternately, you can start it manually with `systemctl start blackfire-agent`.
-  systemd.services.blackfire-agent.wantedBy = [ &quot;phpfpm-foo.service&quot; ];
-}
-</programlisting>
-  <para>
-    On your developer machine, you will also want to install
-    <link xlink:href="https://blackfire.io/docs/up-and-running/installation#install-a-profiling-client">the
-    client</link> (see <literal>blackfire</literal> package) or the
-    browser extension to actually trigger the profiling.
-  </para>
-</chapter>
diff --git a/nixos/modules/services/editors/emacs.nix b/nixos/modules/services/editors/emacs.nix
index 5ae28cd9bbb..2be46e47d64 100644
--- a/nixos/modules/services/editors/emacs.nix
+++ b/nixos/modules/services/editors/emacs.nix
@@ -99,5 +99,5 @@ in
     environment.variables.EDITOR = mkIf cfg.defaultEditor (mkOverride 900 "${editorScript}/bin/emacseditor");
   };
 
-  meta.doc = ./emacs.xml;
+  meta.doc = ./emacs.md;
 }
diff --git a/nixos/modules/services/editors/emacs.xml b/nixos/modules/services/editors/emacs.xml
deleted file mode 100644
index 37d7a93a12b..00000000000
--- a/nixos/modules/services/editors/emacs.xml
+++ /dev/null
@@ -1,490 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-emacs">
-  <title>Emacs</title>
-  <para>
-    <link xlink:href="https://www.gnu.org/software/emacs/">Emacs</link>
-    is an extensible, customizable, self-documenting real-time display
-    editor — and more. At its core is an interpreter for Emacs Lisp, a
-    dialect of the Lisp programming language with extensions to support
-    text editing.
-  </para>
-  <para>
-    Emacs runs within a graphical desktop environment using the X Window
-    System, but works equally well on a text terminal. Under macOS, a
-    <quote>Mac port</quote> edition is available, which uses Apple’s
-    native GUI frameworks.
-  </para>
-  <para>
-    Nixpkgs provides a superior environment for running Emacs. It’s
-    simple to create custom builds by overriding the default packages.
-    Chaotic collections of Emacs Lisp code and extensions can be brought
-    under control using declarative package management. NixOS even
-    provides a <command>systemd</command> user service for automatically
-    starting the Emacs daemon.
-  </para>
-  <section xml:id="module-services-emacs-installing">
-    <title>Installing Emacs</title>
-    <para>
-      Emacs can be installed in the normal way for Nix (see
-      <xref linkend="sec-package-management" />). In addition, a NixOS
-      <emphasis>service</emphasis> can be enabled.
-    </para>
-    <section xml:id="module-services-emacs-releases">
-      <title>The Different Releases of Emacs</title>
-      <para>
-        Nixpkgs defines several basic Emacs packages. The following are
-        attributes belonging to the <varname>pkgs</varname> set:
-      </para>
-      <variablelist spacing="compact">
-        <varlistentry>
-          <term>
-            <varname>emacs</varname>
-          </term>
-          <listitem>
-            <para>
-              The latest stable version of Emacs using the
-              <link xlink:href="http://www.gtk.org">GTK 2</link> widget
-              toolkit.
-            </para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>
-            <varname>emacs-nox</varname>
-          </term>
-          <listitem>
-            <para>
-              Emacs built without any dependency on X11 libraries.
-            </para>
-          </listitem>
-        </varlistentry>
-        <varlistentry>
-          <term>
-            <varname>emacsMacport</varname>
-          </term>
-          <listitem>
-            <para>
-              Emacs with the <quote>Mac port</quote> patches, providing
-              a more native look and feel under macOS.
-            </para>
-          </listitem>
-        </varlistentry>
-      </variablelist>
-      <para>
-        If those aren’t suitable, then the following imitation Emacs
-        editors are also available in Nixpkgs:
-        <link xlink:href="https://www.gnu.org/software/zile/">Zile</link>,
-        <link xlink:href="http://homepage.boetes.org/software/mg/">mg</link>,
-        <link xlink:href="http://yi-editor.github.io/">Yi</link>,
-        <link xlink:href="https://joe-editor.sourceforge.io/">jmacs</link>.
-      </para>
-    </section>
-    <section xml:id="module-services-emacs-adding-packages">
-      <title>Adding Packages to Emacs</title>
-      <para>
-        Emacs includes an entire ecosystem of functionality beyond text
-        editing, including a project planner, mail and news reader,
-        debugger interface, calendar, and more.
-      </para>
-      <para>
-        Most extensions are gotten with the Emacs packaging system
-        (<filename>package.el</filename>) from
-        <link xlink:href="https://elpa.gnu.org/">Emacs Lisp Package
-        Archive (ELPA)</link>,
-        <link xlink:href="https://melpa.org/">MELPA</link>,
-        <link xlink:href="https://stable.melpa.org/">MELPA
-        Stable</link>, and
-        <link xlink:href="http://orgmode.org/elpa.html">Org ELPA</link>.
-        Nixpkgs is regularly updated to mirror all these archives.
-      </para>
-      <para>
-        Under NixOS, you can continue to use
-        <literal>package-list-packages</literal> and
-        <literal>package-install</literal> to install packages. You can
-        also declare the set of Emacs packages you need using the
-        derivations from Nixpkgs. The rest of this section discusses
-        declarative installation of Emacs packages through nixpkgs.
-      </para>
-      <para>
-        The first step to declare the list of packages you want in your
-        Emacs installation is to create a dedicated derivation. This can
-        be done in a dedicated <filename>emacs.nix</filename> file such
-        as:
-      </para>
-      <para>
-        <anchor xml:id="ex-emacsNix" />
-      </para>
-      <programlisting language="nix">
-/*
-This is a nix expression to build Emacs and some Emacs packages I like
-from source on any distribution where Nix is installed. This will install
-all the dependencies from the nixpkgs repository and build the binary files
-without interfering with the host distribution.
-
-To build the project, type the following from the current directory:
-
-$ nix-build emacs.nix
-
-To run the newly compiled executable:
-
-$ ./result/bin/emacs
-*/
-
-# The first non-comment line in this file indicates that
-# the whole file represents a function.
-{ pkgs ? import &lt;nixpkgs&gt; {} }:
-
-let
-  # The let expression below defines a myEmacs binding pointing to the
-  # current stable version of Emacs. This binding is here to separate
-  # the choice of the Emacs binary from the specification of the
-  # required packages.
-  myEmacs = pkgs.emacs;
-  # This generates an emacsWithPackages function. It takes a single
-  # argument: a function from a package set to a list of packages
-  # (the packages that will be available in Emacs).
-  emacsWithPackages = (pkgs.emacsPackagesFor myEmacs).emacsWithPackages;
-in
-  # The rest of the file specifies the list of packages to install. In the
-  # example, two packages (magit and zerodark-theme) are taken from
-  # MELPA stable.
-  emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [
-    magit          # ; Integrate git &lt;C-x g&gt;
-    zerodark-theme # ; Nicolas' theme
-  ])
-  # Two packages (undo-tree and zoom-frm) are taken from MELPA.
-  ++ (with epkgs.melpaPackages; [
-    undo-tree      # ; &lt;C-x u&gt; to show the undo tree
-    zoom-frm       # ; increase/decrease font size for all buffers %lt;C-x C-+&gt;
-  ])
-  # Three packages are taken from GNU ELPA.
-  ++ (with epkgs.elpaPackages; [
-    auctex         # ; LaTeX mode
-    beacon         # ; highlight my cursor when scrolling
-    nameless       # ; hide current package name everywhere in elisp code
-  ])
-  # notmuch is taken from a nixpkgs derivation which contains an Emacs mode.
-  ++ [
-    pkgs.notmuch   # From main packages set
-  ])
-</programlisting>
-      <para>
-        The result of this configuration will be an
-        <command>emacs</command> command which launches Emacs with all
-        of your chosen packages in the <varname>load-path</varname>.
-      </para>
-      <para>
-        You can check that it works by executing this in a terminal:
-      </para>
-      <programlisting>
-$ nix-build emacs.nix
-$ ./result/bin/emacs -q
-</programlisting>
-      <para>
-        and then typing <literal>M-x package-initialize</literal>. Check
-        that you can use all the packages you want in this Emacs
-        instance. For example, try switching to the zerodark theme
-        through
-        <literal>M-x load-theme &lt;RET&gt; zerodark &lt;RET&gt; y</literal>.
-      </para>
-      <tip>
-        <para>
-          A few popular extensions worth checking out are: auctex,
-          company, edit-server, flycheck, helm, iedit, magit,
-          multiple-cursors, projectile, and yasnippet.
-        </para>
-      </tip>
-      <para>
-        The list of available packages in the various ELPA repositories
-        can be seen with the following commands:
-        <anchor xml:id="module-services-emacs-querying-packages" />
-      </para>
-      <programlisting>
-nix-env -f &quot;&lt;nixpkgs&gt;&quot; -qaP -A emacs.pkgs.elpaPackages
-nix-env -f &quot;&lt;nixpkgs&gt;&quot; -qaP -A emacs.pkgs.melpaPackages
-nix-env -f &quot;&lt;nixpkgs&gt;&quot; -qaP -A emacs.pkgs.melpaStablePackages
-nix-env -f &quot;&lt;nixpkgs&gt;&quot; -qaP -A emacs.pkgs.orgPackages
-</programlisting>
-      <para>
-        If you are on NixOS, you can install this particular Emacs for
-        all users by adding it to the list of system packages (see
-        <xref linkend="sec-declarative-package-mgmt" />). Simply modify
-        your file <filename>configuration.nix</filename> to make it
-        contain:
-        <anchor xml:id="module-services-emacs-configuration-nix" />
-      </para>
-      <programlisting>
-{
- environment.systemPackages = [
-   # [...]
-   (import /path/to/emacs.nix { inherit pkgs; })
-  ];
-}
-</programlisting>
-      <para>
-        In this case, the next <command>nixos-rebuild switch</command>
-        will take care of adding your <command>emacs</command> to the
-        <varname>PATH</varname> environment variable (see
-        <xref linkend="sec-changing-config" />).
-      </para>
-      <para>
-        If you are not on NixOS or want to install this particular Emacs
-        only for yourself, you can do so by adding it to your
-        <filename>~/.config/nixpkgs/config.nix</filename> (see
-        <link xlink:href="https://nixos.org/nixpkgs/manual/#sec-modify-via-packageOverrides">Nixpkgs
-        manual</link>):
-        <anchor xml:id="module-services-emacs-config-nix" />
-      </para>
-      <programlisting>
-{
-  packageOverrides = super: let self = super.pkgs; in {
-    myemacs = import /path/to/emacs.nix { pkgs = self; };
-  };
-}
-</programlisting>
-      <para>
-        In this case, the next
-        <literal>nix-env -f '&lt;nixpkgs&gt;' -iA myemacs</literal> will
-        take care of adding your emacs to the <varname>PATH</varname>
-        environment variable.
-      </para>
-    </section>
-    <section xml:id="module-services-emacs-advanced">
-      <title>Advanced Emacs Configuration</title>
-      <para>
-        If you want, you can tweak the Emacs package itself from your
-        <filename>emacs.nix</filename>. For example, if you want to have
-        a GTK 3-based Emacs instead of the default GTK 2-based binary
-        and remove the automatically generated
-        <filename>emacs.desktop</filename> (useful if you only use
-        <command>emacsclient</command>), you can change your file
-        <filename>emacs.nix</filename> in this way:
-      </para>
-      <para>
-        <anchor xml:id="ex-emacsGtk3Nix" />
-      </para>
-      <programlisting>
-{ pkgs ? import &lt;nixpkgs&gt; {} }:
-let
-  myEmacs = (pkgs.emacs.override {
-    # Use gtk3 instead of the default gtk2
-    withGTK3 = true;
-    withGTK2 = false;
-  }).overrideAttrs (attrs: {
-    # I don't want emacs.desktop file because I only use
-    # emacsclient.
-    postInstall = (attrs.postInstall or &quot;&quot;) + ''
-      rm $out/share/applications/emacs.desktop
-    '';
-  });
-in [...]
-</programlisting>
-      <para>
-        After building this file as shown in
-        <link linkend="ex-emacsNix">the example above</link>, you will
-        get an GTK 3-based Emacs binary pre-loaded with your favorite
-        packages.
-      </para>
-    </section>
-  </section>
-  <section xml:id="module-services-emacs-running">
-    <title>Running Emacs as a Service</title>
-    <para>
-      NixOS provides an optional <command>systemd</command> service
-      which launches
-      <link xlink:href="https://www.gnu.org/software/emacs/manual/html_node/emacs/Emacs-Server.html">Emacs
-      daemon</link> with the user’s login session.
-    </para>
-    <para>
-      <emphasis>Source:</emphasis>
-      <filename>modules/services/editors/emacs.nix</filename>
-    </para>
-    <section xml:id="module-services-emacs-enabling">
-      <title>Enabling the Service</title>
-      <para>
-        To install and enable the <command>systemd</command> user
-        service for Emacs daemon, add the following to your
-        <filename>configuration.nix</filename>:
-      </para>
-      <programlisting>
-services.emacs.enable = true;
-services.emacs.package = import /home/cassou/.emacs.d { pkgs = pkgs; };
-</programlisting>
-      <para>
-        The <varname>services.emacs.package</varname> option allows a
-        custom derivation to be used, for example, one created by
-        <literal>emacsWithPackages</literal>.
-      </para>
-      <para>
-        Ensure that the Emacs server is enabled for your user’s Emacs
-        configuration, either by customizing the
-        <varname>server-mode</varname> variable, or by adding
-        <literal>(server-start)</literal> to
-        <filename>~/.emacs.d/init.el</filename>.
-      </para>
-      <para>
-        To start the daemon, execute the following:
-      </para>
-      <programlisting>
-$ nixos-rebuild switch  # to activate the new configuration.nix
-$ systemctl --user daemon-reload        # to force systemd reload
-$ systemctl --user start emacs.service  # to start the Emacs daemon
-</programlisting>
-      <para>
-        The server should now be ready to serve Emacs clients.
-      </para>
-    </section>
-    <section xml:id="module-services-emacs-starting-client">
-      <title>Starting the client</title>
-      <para>
-        Ensure that the emacs server is enabled, either by customizing
-        the <varname>server-mode</varname> variable, or by adding
-        <literal>(server-start)</literal> to
-        <filename>~/.emacs</filename>.
-      </para>
-      <para>
-        To connect to the emacs daemon, run one of the following:
-      </para>
-      <programlisting>
-emacsclient FILENAME
-emacsclient --create-frame  # opens a new frame (window)
-emacsclient --create-frame --tty  # opens a new frame on the current terminal
-</programlisting>
-    </section>
-    <section xml:id="module-services-emacs-editor-variable">
-      <title>Configuring the <varname>EDITOR</varname> variable</title>
-      <para>
-        If <xref linkend="opt-services.emacs.defaultEditor" /> is
-        <literal>true</literal>, the <varname>EDITOR</varname> variable
-        will be set to a wrapper script which launches
-        <command>emacsclient</command>.
-      </para>
-      <para>
-        Any setting of <varname>EDITOR</varname> in the shell config
-        files will override
-        <varname>services.emacs.defaultEditor</varname>. To make sure
-        <varname>EDITOR</varname> refers to the Emacs wrapper script,
-        remove any existing <varname>EDITOR</varname> assignment from
-        <filename>.profile</filename>, <filename>.bashrc</filename>,
-        <filename>.zshenv</filename> or any other shell config file.
-      </para>
-      <para>
-        If you have formed certain bad habits when editing files, these
-        can be corrected with a shell alias to the wrapper script:
-      </para>
-      <programlisting>
-alias vi=$EDITOR
-</programlisting>
-    </section>
-    <section xml:id="module-services-emacs-per-user">
-      <title>Per-User Enabling of the Service</title>
-      <para>
-        In general, <command>systemd</command> user services are
-        globally enabled by symlinks in
-        <filename>/etc/systemd/user</filename>. In the case where Emacs
-        daemon is not wanted for all users, it is possible to install
-        the service but not globally enable it:
-      </para>
-      <programlisting>
-services.emacs.enable = false;
-services.emacs.install = true;
-</programlisting>
-      <para>
-        To enable the <command>systemd</command> user service for just
-        the currently logged in user, run:
-      </para>
-      <programlisting>
-systemctl --user enable emacs
-</programlisting>
-      <para>
-        This will add the symlink
-        <filename>~/.config/systemd/user/emacs.service</filename>.
-      </para>
-    </section>
-  </section>
-  <section xml:id="module-services-emacs-configuring">
-    <title>Configuring Emacs</title>
-    <para>
-      The Emacs init file should be changed to load the extension
-      packages at startup:
-      <anchor xml:id="module-services-emacs-package-initialisation" />
-    </para>
-    <programlisting>
-(require 'package)
-
-;; optional. makes unpure packages archives unavailable
-(setq package-archives nil)
-
-(setq package-enable-at-startup nil)
-(package-initialize)
-</programlisting>
-    <para>
-      After the declarative emacs package configuration has been tested,
-      previously downloaded packages can be cleaned up by removing
-      <filename>~/.emacs.d/elpa</filename> (do make a backup first, in
-      case you forgot a package).
-    </para>
-    <section xml:id="module-services-emacs-major-mode">
-      <title>A Major Mode for Nix Expressions</title>
-      <para>
-        Of interest may be <varname>melpaPackages.nix-mode</varname>,
-        which provides syntax highlighting for the Nix language. This is
-        particularly convenient if you regularly edit Nix files.
-      </para>
-    </section>
-    <section xml:id="module-services-emacs-man-pages">
-      <title>Accessing man pages</title>
-      <para>
-        You can use <literal>woman</literal> to get completion of all
-        available man pages. For example, type
-        <literal>M-x woman &lt;RET&gt; nixos-rebuild &lt;RET&gt;.</literal>
-      </para>
-    </section>
-    <section xml:id="sec-emacs-docbook-xml">
-      <title>Editing DocBook 5 XML Documents</title>
-      <para>
-        Emacs includes
-        <link xlink:href="https://www.gnu.org/software/emacs/manual/html_node/nxml-mode/Introduction.html">nXML</link>,
-        a major-mode for validating and editing XML documents. When
-        editing DocBook 5.0 documents, such as
-        <link linkend="book-nixos-manual">this one</link>, nXML needs to
-        be configured with the relevant schema, which is not included.
-      </para>
-      <para>
-        To install the DocBook 5.0 schemas, either add
-        <varname>pkgs.docbook5</varname> to
-        <xref linkend="opt-environment.systemPackages" />
-        (<link linkend="sec-declarative-package-mgmt">NixOS</link>), or
-        run <literal>nix-env -f '&lt;nixpkgs&gt;' -iA docbook5</literal>
-        (<link linkend="sec-ad-hoc-packages">Nix</link>).
-      </para>
-      <para>
-        Then customize the variable
-        <varname>rng-schema-locating-files</varname> to include
-        <filename>~/.emacs.d/schemas.xml</filename> and put the
-        following text into that file:
-        <anchor xml:id="ex-emacs-docbook-xml" />
-      </para>
-      <programlisting language="xml">
-&lt;?xml version=&quot;1.0&quot;?&gt;
-&lt;!--
-  To let emacs find this file, evaluate:
-  (add-to-list 'rng-schema-locating-files &quot;~/.emacs.d/schemas.xml&quot;)
---&gt;
-&lt;locatingRules xmlns=&quot;http://thaiopensource.com/ns/locating-rules/1.0&quot;&gt;
-  &lt;!--
-    Use this variation if pkgs.docbook5 is added to environment.systemPackages
-  --&gt;
-  &lt;namespace ns=&quot;http://docbook.org/ns/docbook&quot;
-             uri=&quot;/run/current-system/sw/share/xml/docbook-5.0/rng/docbookxi.rnc&quot;/&gt;
-  &lt;!--
-    Use this variation if installing schema with &quot;nix-env -iA pkgs.docbook5&quot;.
-  &lt;namespace ns=&quot;http://docbook.org/ns/docbook&quot;
-             uri=&quot;../.nix-profile/share/xml/docbook-5.0/rng/docbookxi.rnc&quot;/&gt;
-  --&gt;
-&lt;/locatingRules&gt;
-</programlisting>
-    </section>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/hardware/trezord.nix b/nixos/modules/services/hardware/trezord.nix
index 70c1fd09860..b2217fc9712 100644
--- a/nixos/modules/services/hardware/trezord.nix
+++ b/nixos/modules/services/hardware/trezord.nix
@@ -8,7 +8,7 @@ in {
   ### docs
 
   meta = {
-    doc = ./trezord.xml;
+    doc = ./trezord.md;
   };
 
   ### interface
diff --git a/nixos/modules/services/hardware/trezord.xml b/nixos/modules/services/hardware/trezord.xml
deleted file mode 100644
index 1ba9dc1f188..00000000000
--- a/nixos/modules/services/hardware/trezord.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="trezor">
-  <title>Trezor</title>
-  <para>
-    Trezor is an open-source cryptocurrency hardware wallet and security
-    token allowing secure storage of private keys.
-  </para>
-  <para>
-    It offers advanced features such U2F two-factor authorization, SSH
-    login through
-    <link xlink:href="https://wiki.trezor.io/Apps:SSH_agent">Trezor SSH
-    agent</link>,
-    <link xlink:href="https://wiki.trezor.io/GPG">GPG</link> and a
-    <link xlink:href="https://wiki.trezor.io/Trezor_Password_Manager">password
-    manager</link>. For more information, guides and documentation, see
-    <link xlink:href="https://wiki.trezor.io">https://wiki.trezor.io</link>.
-  </para>
-  <para>
-    To enable Trezor support, add the following to your
-    <filename>configuration.nix</filename>:
-  </para>
-  <programlisting>
-services.trezord.enable = true;
-</programlisting>
-  <para>
-    This will add all necessary udev rules and start Trezor Bridge.
-  </para>
-</chapter>
diff --git a/nixos/modules/services/mail/mailman.nix b/nixos/modules/services/mail/mailman.nix
index 2adc7427abf..9273f71db7d 100644
--- a/nixos/modules/services/mail/mailman.nix
+++ b/nixos/modules/services/mail/mailman.nix
@@ -642,7 +642,7 @@ in {
 
   meta = {
     maintainers = with lib.maintainers; [ lheckemann qyliss ma27 ];
-    doc = ./mailman.xml;
+    doc = ./mailman.md;
   };
 
 }
diff --git a/nixos/modules/services/mail/mailman.xml b/nixos/modules/services/mail/mailman.xml
deleted file mode 100644
index 23b0d0b7da4..00000000000
--- a/nixos/modules/services/mail/mailman.xml
+++ /dev/null
@@ -1,112 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-mailman">
-  <title>Mailman</title>
-  <para>
-    <link xlink:href="https://www.list.org">Mailman</link> is free
-    software for managing electronic mail discussion and e-newsletter
-    lists. Mailman and its web interface can be configured using the
-    corresponding NixOS module. Note that this service is best used with
-    an existing, securely configured Postfix setup, as it does not
-    automatically configure this.
-  </para>
-  <section xml:id="module-services-mailman-basic-usage">
-    <title>Basic usage with Postfix</title>
-    <para>
-      For a basic configuration with Postfix as the MTA, the following
-      settings are suggested:
-    </para>
-    <programlisting>
-{ config, ... }: {
-  services.postfix = {
-    enable = true;
-    relayDomains = [&quot;hash:/var/lib/mailman/data/postfix_domains&quot;];
-    sslCert = config.security.acme.certs.&quot;lists.example.org&quot;.directory + &quot;/full.pem&quot;;
-    sslKey = config.security.acme.certs.&quot;lists.example.org&quot;.directory + &quot;/key.pem&quot;;
-    config = {
-      transport_maps = [&quot;hash:/var/lib/mailman/data/postfix_lmtp&quot;];
-      local_recipient_maps = [&quot;hash:/var/lib/mailman/data/postfix_lmtp&quot;];
-    };
-  };
-  services.mailman = {
-    enable = true;
-    serve.enable = true;
-    hyperkitty.enable = true;
-    webHosts = [&quot;lists.example.org&quot;];
-    siteOwner = &quot;mailman@example.org&quot;;
-  };
-  services.nginx.virtualHosts.&quot;lists.example.org&quot;.enableACME = true;
-  networking.firewall.allowedTCPPorts = [ 25 80 443 ];
-}
-</programlisting>
-    <para>
-      DNS records will also be required:
-    </para>
-    <itemizedlist spacing="compact">
-      <listitem>
-        <para>
-          <literal>AAAA</literal> and <literal>A</literal> records
-          pointing to the host in question, in order for browsers to be
-          able to discover the address of the web server;
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          An <literal>MX</literal> record pointing to a domain name at
-          which the host is reachable, in order for other mail servers
-          to be able to deliver emails to the mailing lists it hosts.
-        </para>
-      </listitem>
-    </itemizedlist>
-    <para>
-      After this has been done and appropriate DNS records have been set
-      up, the Postorius mailing list manager and the Hyperkitty archive
-      browser will be available at https://lists.example.org/. Note that
-      this setup is not sufficient to deliver emails to most email
-      providers nor to avoid spam – a number of additional measures for
-      authenticating incoming and outgoing mails, such as SPF, DMARC and
-      DKIM are necessary, but outside the scope of the Mailman module.
-    </para>
-  </section>
-  <section xml:id="module-services-mailman-other-mtas">
-    <title>Using with other MTAs</title>
-    <para>
-      Mailman also supports other MTA, though with a little bit more
-      configuration. For example, to use Mailman with Exim, you can use
-      the following settings:
-    </para>
-    <programlisting>
-{ config, ... }: {
-  services = {
-    mailman = {
-      enable = true;
-      siteOwner = &quot;mailman@example.org&quot;;
-      enablePostfix = false;
-      settings.mta = {
-        incoming = &quot;mailman.mta.exim4.LMTP&quot;;
-        outgoing = &quot;mailman.mta.deliver.deliver&quot;;
-        lmtp_host = &quot;localhost&quot;;
-        lmtp_port = &quot;8024&quot;;
-        smtp_host = &quot;localhost&quot;;
-        smtp_port = &quot;25&quot;;
-        configuration = &quot;python:mailman.config.exim4&quot;;
-      };
-    };
-    exim = {
-      enable = true;
-      # You can configure Exim in a separate file to reduce configuration.nix clutter
-      config = builtins.readFile ./exim.conf;
-    };
-  };
-}
-</programlisting>
-    <para>
-      The exim config needs some special additions to work with Mailman.
-      Currently NixOS can’t manage Exim config with such granularity.
-      Please refer to
-      <link xlink:href="https://mailman.readthedocs.io/en/latest/src/mailman/docs/mta.html">Mailman
-      documentation</link> for more info on configuring Mailman for
-      working with Exim.
-    </para>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/matrix/mjolnir.nix b/nixos/modules/services/matrix/mjolnir.nix
index cbf7b93329d..b6a3e5e8c73 100644
--- a/nixos/modules/services/matrix/mjolnir.nix
+++ b/nixos/modules/services/matrix/mjolnir.nix
@@ -236,7 +236,7 @@ in
   };
 
   meta = {
-    doc = ./mjolnir.xml;
+    doc = ./mjolnir.md;
     maintainers = with maintainers; [ jojosch ];
   };
 }
diff --git a/nixos/modules/services/matrix/mjolnir.xml b/nixos/modules/services/matrix/mjolnir.xml
deleted file mode 100644
index 5bd2919e437..00000000000
--- a/nixos/modules/services/matrix/mjolnir.xml
+++ /dev/null
@@ -1,148 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-mjolnir">
-  <title>Mjolnir (Matrix Moderation Tool)</title>
-  <para>
-    This chapter will show you how to set up your own, self-hosted
-    <link xlink:href="https://github.com/matrix-org/mjolnir">Mjolnir</link>
-    instance.
-  </para>
-  <para>
-    As an all-in-one moderation tool, it can protect your server from
-    malicious invites, spam messages, and whatever else you don’t want.
-    In addition to server-level protection, Mjolnir is great for
-    communities wanting to protect their rooms without having to use
-    their personal accounts for moderation.
-  </para>
-  <para>
-    The bot by default includes support for bans, redactions, anti-spam,
-    server ACLs, room directory changes, room alias transfers, account
-    deactivation, room shutdown, and more.
-  </para>
-  <para>
-    See the
-    <link xlink:href="https://github.com/matrix-org/mjolnir#readme">README</link>
-    page and the
-    <link xlink:href="https://github.com/matrix-org/mjolnir/blob/main/docs/moderators.md">Moderator’s
-    guide</link> for additional instructions on how to setup and use
-    Mjolnir.
-  </para>
-  <para>
-    For <link linkend="opt-services.mjolnir.settings">additional
-    settings</link> see
-    <link xlink:href="https://github.com/matrix-org/mjolnir/blob/main/config/default.yaml">the
-    default configuration</link>.
-  </para>
-  <section xml:id="module-services-mjolnir-setup">
-    <title>Mjolnir Setup</title>
-    <para>
-      First create a new Room which will be used as a management room
-      for Mjolnir. In this room, Mjolnir will log possible errors and
-      debugging information. You’ll need to set this Room-ID in
-      <link linkend="opt-services.mjolnir.managementRoom">services.mjolnir.managementRoom</link>.
-    </para>
-    <para>
-      Next, create a new user for Mjolnir on your homeserver, if not
-      present already.
-    </para>
-    <para>
-      The Mjolnir Matrix user expects to be free of any rate limiting.
-      See
-      <link xlink:href="https://github.com/matrix-org/synapse/issues/6286">Synapse
-      #6286</link> for an example on how to achieve this.
-    </para>
-    <para>
-      If you want Mjolnir to be able to deactivate users, move room
-      aliases, shutdown rooms, etc. you’ll need to make the Mjolnir user
-      a Matrix server admin.
-    </para>
-    <para>
-      Now invite the Mjolnir user to the management room.
-    </para>
-    <para>
-      It is recommended to use
-      <link xlink:href="https://github.com/matrix-org/pantalaimon">Pantalaimon</link>,
-      so your management room can be encrypted. This also applies if you
-      are looking to moderate an encrypted room.
-    </para>
-    <para>
-      To enable the Pantalaimon E2E Proxy for mjolnir, enable
-      <link linkend="opt-services.mjolnir.pantalaimon.enable">services.mjolnir.pantalaimon</link>.
-      This will autoconfigure a new Pantalaimon instance, which will
-      connect to the homeserver set in
-      <link linkend="opt-services.mjolnir.homeserverUrl">services.mjolnir.homeserverUrl</link>
-      and Mjolnir itself will be configured to connect to the new
-      Pantalaimon instance.
-    </para>
-    <programlisting>
-{
-  services.mjolnir = {
-    enable = true;
-    homeserverUrl = &quot;https://matrix.domain.tld&quot;;
-    pantalaimon = {
-       enable = true;
-       username = &quot;mjolnir&quot;;
-       passwordFile = &quot;/run/secrets/mjolnir-password&quot;;
-    };
-    protectedRooms = [
-      &quot;https://matrix.to/#/!xxx:domain.tld&quot;
-    ];
-    managementRoom = &quot;!yyy:domain.tld&quot;;
-  };
-}
-</programlisting>
-    <section xml:id="module-services-mjolnir-setup-ems">
-      <title>Element Matrix Services (EMS)</title>
-      <para>
-        If you are using a managed
-        <link xlink:href="https://ems.element.io/"><quote>Element Matrix
-        Services (EMS)</quote></link> server, you will need to consent
-        to the terms and conditions. Upon startup, an error log entry
-        with a URL to the consent page will be generated.
-      </para>
-    </section>
-  </section>
-  <section xml:id="module-services-mjolnir-matrix-synapse-antispam">
-    <title>Synapse Antispam Module</title>
-    <para>
-      A Synapse module is also available to apply the same rulesets the
-      bot uses across an entire homeserver.
-    </para>
-    <para>
-      To use the Antispam Module, add
-      <literal>matrix-synapse-plugins.matrix-synapse-mjolnir-antispam</literal>
-      to the Synapse plugin list and enable the
-      <literal>mjolnir.Module</literal> module.
-    </para>
-    <programlisting>
-{
-  services.matrix-synapse = {
-    plugins = with pkgs; [
-      matrix-synapse-plugins.matrix-synapse-mjolnir-antispam
-    ];
-    extraConfig = ''
-      modules:
-        - module: mjolnir.Module
-          config:
-            # Prevent servers/users in the ban lists from inviting users on this
-            # server to rooms. Default true.
-            block_invites: true
-            # Flag messages sent by servers/users in the ban lists as spam. Currently
-            # this means that spammy messages will appear as empty to users. Default
-            # false.
-            block_messages: false
-            # Remove users from the user directory search by filtering matrix IDs and
-            # display names by the entries in the user ban list. Default false.
-            block_usernames: false
-            # The room IDs of the ban lists to honour. Unlike other parts of Mjolnir,
-            # this list cannot be room aliases or permalinks. This server is expected
-            # to already be joined to the room - Mjolnir will not automatically join
-            # these rooms.
-            ban_lists:
-              - &quot;!roomid:example.org&quot;
-    '';
-  };
-}
-</programlisting>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/matrix/synapse.nix b/nixos/modules/services/matrix/synapse.nix
index 3087d879b9d..aee275dab1e 100644
--- a/nixos/modules/services/matrix/synapse.nix
+++ b/nixos/modules/services/matrix/synapse.nix
@@ -801,7 +801,7 @@ in {
 
   meta = {
     buildDocsInSandbox = false;
-    doc = ./synapse.xml;
+    doc = ./synapse.md;
     maintainers = teams.matrix.members;
   };
 
diff --git a/nixos/modules/services/matrix/synapse.xml b/nixos/modules/services/matrix/synapse.xml
deleted file mode 100644
index 686aec93ab6..00000000000
--- a/nixos/modules/services/matrix/synapse.xml
+++ /dev/null
@@ -1,263 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-matrix">
-  <title>Matrix</title>
-  <para>
-    <link xlink:href="https://matrix.org/">Matrix</link> is an open
-    standard for interoperable, decentralised, real-time communication
-    over IP. It can be used to power Instant Messaging, VoIP/WebRTC
-    signalling, Internet of Things communication - or anywhere you need
-    a standard HTTP API for publishing and subscribing to data whilst
-    tracking the conversation history.
-  </para>
-  <para>
-    This chapter will show you how to set up your own, self-hosted
-    Matrix homeserver using the Synapse reference homeserver, and how to
-    serve your own copy of the Element web client. See the
-    <link xlink:href="https://matrix.org/docs/projects/try-matrix-now.html">Try
-    Matrix Now!</link> overview page for links to Element Apps for
-    Android and iOS, desktop clients, as well as bridges to other
-    networks and other projects around Matrix.
-  </para>
-  <section xml:id="module-services-matrix-synapse">
-    <title>Synapse Homeserver</title>
-    <para>
-      <link xlink:href="https://github.com/matrix-org/synapse">Synapse</link>
-      is the reference homeserver implementation of Matrix from the core
-      development team at matrix.org. The following configuration
-      example will set up a synapse server for the
-      <literal>example.org</literal> domain, served from the host
-      <literal>myhostname.example.org</literal>. For more information,
-      please refer to the
-      <link xlink:href="https://matrix-org.github.io/synapse/latest/setup/installation.html">installation
-      instructions of Synapse</link> .
-    </para>
-    <programlisting>
-{ pkgs, lib, config, ... }:
-let
-  fqdn = &quot;${config.networking.hostName}.${config.networking.domain}&quot;;
-  clientConfig = {
-    &quot;m.homeserver&quot;.base_url = &quot;https://${fqdn}&quot;;
-    &quot;m.identity_server&quot; = {};
-  };
-  serverConfig.&quot;m.server&quot; = &quot;${config.services.matrix-synapse.settings.server_name}:443&quot;;
-  mkWellKnown = data: ''
-    add_header Content-Type application/json;
-    add_header Access-Control-Allow-Origin *;
-    return 200 '${builtins.toJSON data}';
-  '';
-in {
-  networking.hostName = &quot;myhostname&quot;;
-  networking.domain = &quot;example.org&quot;;
-  networking.firewall.allowedTCPPorts = [ 80 443 ];
-
-  services.postgresql.enable = true;
-  services.postgresql.initialScript = pkgs.writeText &quot;synapse-init.sql&quot; ''
-    CREATE ROLE &quot;matrix-synapse&quot; WITH LOGIN PASSWORD 'synapse';
-    CREATE DATABASE &quot;matrix-synapse&quot; WITH OWNER &quot;matrix-synapse&quot;
-      TEMPLATE template0
-      LC_COLLATE = &quot;C&quot;
-      LC_CTYPE = &quot;C&quot;;
-  '';
-
-  services.nginx = {
-    enable = true;
-    recommendedTlsSettings = true;
-    recommendedOptimisation = true;
-    recommendedGzipSettings = true;
-    recommendedProxySettings = true;
-    virtualHosts = {
-      # If the A and AAAA DNS records on example.org do not point on the same host as the
-      # records for myhostname.example.org, you can easily move the /.well-known
-      # virtualHost section of the code to the host that is serving example.org, while
-      # the rest stays on myhostname.example.org with no other changes required.
-      # This pattern also allows to seamlessly move the homeserver from
-      # myhostname.example.org to myotherhost.example.org by only changing the
-      # /.well-known redirection target.
-      &quot;${config.networking.domain}&quot; = {
-        enableACME = true;
-        forceSSL = true;
-        # This section is not needed if the server_name of matrix-synapse is equal to
-        # the domain (i.e. example.org from @foo:example.org) and the federation port
-        # is 8448.
-        # Further reference can be found in the docs about delegation under
-        # https://matrix-org.github.io/synapse/latest/delegate.html
-        locations.&quot;= /.well-known/matrix/server&quot;.extraConfig = mkWellKnown serverConfig;
-        # This is usually needed for homeserver discovery (from e.g. other Matrix clients).
-        # Further reference can be found in the upstream docs at
-        # https://spec.matrix.org/latest/client-server-api/#getwell-knownmatrixclient
-        locations.&quot;= /.well-known/matrix/client&quot;.extraConfig = mkWellKnown clientConfig;
-      };
-      &quot;${fqdn}&quot; = {
-        enableACME = true;
-        forceSSL = true;
-        # It's also possible to do a redirect here or something else, this vhost is not
-        # needed for Matrix. It's recommended though to *not put* element
-        # here, see also the section about Element.
-        locations.&quot;/&quot;.extraConfig = ''
-          return 404;
-        '';
-        # Forward all Matrix API calls to the synapse Matrix homeserver. A trailing slash
-        # *must not* be used here.
-        locations.&quot;/_matrix&quot;.proxyPass = &quot;http://[::1]:8008&quot;;
-        # Forward requests for e.g. SSO and password-resets.
-        locations.&quot;/_synapse/client&quot;.proxyPass = &quot;http://[::1]:8008&quot;;
-      };
-    };
-  };
-
-  services.matrix-synapse = {
-    enable = true;
-    settings.server_name = config.networking.domain;
-    settings.listeners = [
-      { port = 8008;
-        bind_addresses = [ &quot;::1&quot; ];
-        type = &quot;http&quot;;
-        tls = false;
-        x_forwarded = true;
-        resources = [ {
-          names = [ &quot;client&quot; &quot;federation&quot; ];
-          compress = true;
-        } ];
-      }
-    ];
-  };
-}
-</programlisting>
-  </section>
-  <section xml:id="module-services-matrix-register-users">
-    <title>Registering Matrix users</title>
-    <para>
-      If you want to run a server with public registration by anybody,
-      you can then enable
-      <literal>services.matrix-synapse.settings.enable_registration = true;</literal>.
-      Otherwise, or you can generate a registration secret with
-      <command>pwgen -s 64 1</command> and set it with
-      <xref linkend="opt-services.matrix-synapse.settings.registration_shared_secret" />.
-      To create a new user or admin, run the following after you have
-      set the secret and have rebuilt NixOS:
-    </para>
-    <programlisting>
-$ nix-shell -p matrix-synapse
-$ register_new_matrix_user -k your-registration-shared-secret http://localhost:8008
-New user localpart: your-username
-Password:
-Confirm password:
-Make admin [no]:
-Success!
-</programlisting>
-    <para>
-      In the example, this would create a user with the Matrix
-      Identifier <literal>@your-username:example.org</literal>.
-    </para>
-    <warning>
-      <para>
-        When using
-        <xref linkend="opt-services.matrix-synapse.settings.registration_shared_secret" />,
-        the secret will end up in the world-readable store. Instead it’s
-        recommended to deploy the secret in an additional file like
-        this:
-      </para>
-      <itemizedlist>
-        <listitem>
-          <para>
-            Create a file with the following contents:
-          </para>
-          <programlisting>
-registration_shared_secret: your-very-secret-secret
-</programlisting>
-        </listitem>
-        <listitem>
-          <para>
-            Deploy the file with a secret-manager such as
-            <link xlink:href="https://nixops.readthedocs.io/en/latest/overview.html#managing-keys"><option>deployment.keys</option></link>
-            from
-            <citerefentry><refentrytitle>nixops</refentrytitle><manvolnum>1</manvolnum></citerefentry>
-            or
-            <link xlink:href="https://github.com/Mic92/sops-nix/">sops-nix</link>
-            to e.g.
-            <filename>/run/secrets/matrix-shared-secret</filename> and
-            ensure that it’s readable by
-            <literal>matrix-synapse</literal>.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Include the file like this in your configuration:
-          </para>
-          <programlisting>
-{
-  services.matrix-synapse.extraConfigFiles = [
-    &quot;/run/secrets/matrix-shared-secret&quot;
-  ];
-}
-</programlisting>
-        </listitem>
-      </itemizedlist>
-    </warning>
-    <note>
-      <para>
-        It’s also possible to user alternative authentication mechanism
-        such as
-        <link xlink:href="https://github.com/matrix-org/matrix-synapse-ldap3">LDAP
-        (via <literal>matrix-synapse-ldap3</literal>)</link> or
-        <link xlink:href="https://matrix-org.github.io/synapse/latest/openid.html">OpenID</link>.
-      </para>
-    </note>
-  </section>
-  <section xml:id="module-services-matrix-element-web">
-    <title>Element (formerly known as Riot) Web Client</title>
-    <para>
-      <link xlink:href="https://github.com/vector-im/riot-web/">Element
-      Web</link> is the reference web client for Matrix and developed by
-      the core team at matrix.org. Element was formerly known as
-      Riot.im, see the
-      <link xlink:href="https://element.io/blog/welcome-to-element/">Element
-      introductory blog post</link> for more information. The following
-      snippet can be optionally added to the code before to complete the
-      synapse installation with a web client served at
-      <literal>https://element.myhostname.example.org</literal> and
-      <literal>https://element.example.org</literal>. Alternatively, you
-      can use the hosted copy at
-      <link xlink:href="https://app.element.io/">https://app.element.io/</link>,
-      or use other web clients or native client applications. Due to the
-      <literal>/.well-known</literal> urls set up done above, many
-      clients should fill in the required connection details
-      automatically when you enter your Matrix Identifier. See
-      <link xlink:href="https://matrix.org/docs/projects/try-matrix-now.html">Try
-      Matrix Now!</link> for a list of existing clients and their
-      supported featureset.
-    </para>
-    <programlisting>
-{
-  services.nginx.virtualHosts.&quot;element.${fqdn}&quot; = {
-    enableACME = true;
-    forceSSL = true;
-    serverAliases = [
-      &quot;element.${config.networking.domain}&quot;
-    ];
-
-    root = pkgs.element-web.override {
-      conf = {
-        default_server_config = clientConfig; # see `clientConfig` from the snippet above.
-      };
-    };
-  };
-}
-</programlisting>
-    <note>
-      <para>
-        The Element developers do not recommend running Element and your
-        Matrix homeserver on the same fully-qualified domain name for
-        security reasons. In the example, this means that you should not
-        reuse the <literal>myhostname.example.org</literal> virtualHost
-        to also serve Element, but instead serve it on a different
-        subdomain, like <literal>element.example.org</literal> in the
-        example. See the
-        <link xlink:href="https://github.com/vector-im/element-web/tree/v1.10.0#important-security-notes">Element
-        Important Security Notes</link> for more information on this
-        subject.
-      </para>
-    </note>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index e6689217ad9..179359c97a3 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -1504,6 +1504,6 @@ in {
 
   };
 
-  meta.doc = ./gitlab.xml;
+  meta.doc = ./gitlab.md;
 
 }
diff --git a/nixos/modules/services/misc/gitlab.xml b/nixos/modules/services/misc/gitlab.xml
deleted file mode 100644
index a193657b0b7..00000000000
--- a/nixos/modules/services/misc/gitlab.xml
+++ /dev/null
@@ -1,143 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-gitlab">
-  <title>GitLab</title>
-  <para>
-    GitLab is a feature-rich git hosting service.
-  </para>
-  <section xml:id="module-services-gitlab-prerequisites">
-    <title>Prerequisites</title>
-    <para>
-      The <literal>gitlab</literal> service exposes only an Unix socket
-      at <literal>/run/gitlab/gitlab-workhorse.socket</literal>. You
-      need to configure a webserver to proxy HTTP requests to the
-      socket.
-    </para>
-    <para>
-      For instance, the following configuration could be used to use
-      nginx as frontend proxy:
-    </para>
-    <programlisting>
-services.nginx = {
-  enable = true;
-  recommendedGzipSettings = true;
-  recommendedOptimisation = true;
-  recommendedProxySettings = true;
-  recommendedTlsSettings = true;
-  virtualHosts.&quot;git.example.com&quot; = {
-    enableACME = true;
-    forceSSL = true;
-    locations.&quot;/&quot;.proxyPass = &quot;http://unix:/run/gitlab/gitlab-workhorse.socket&quot;;
-  };
-};
-</programlisting>
-  </section>
-  <section xml:id="module-services-gitlab-configuring">
-    <title>Configuring</title>
-    <para>
-      GitLab depends on both PostgreSQL and Redis and will automatically
-      enable both services. In the case of PostgreSQL, a database and a
-      role will be created.
-    </para>
-    <para>
-      The default state dir is <literal>/var/gitlab/state</literal>.
-      This is where all data like the repositories and uploads will be
-      stored.
-    </para>
-    <para>
-      A basic configuration with some custom settings could look like
-      this:
-    </para>
-    <programlisting>
-services.gitlab = {
-  enable = true;
-  databasePasswordFile = &quot;/var/keys/gitlab/db_password&quot;;
-  initialRootPasswordFile = &quot;/var/keys/gitlab/root_password&quot;;
-  https = true;
-  host = &quot;git.example.com&quot;;
-  port = 443;
-  user = &quot;git&quot;;
-  group = &quot;git&quot;;
-  smtp = {
-    enable = true;
-    address = &quot;localhost&quot;;
-    port = 25;
-  };
-  secrets = {
-    dbFile = &quot;/var/keys/gitlab/db&quot;;
-    secretFile = &quot;/var/keys/gitlab/secret&quot;;
-    otpFile = &quot;/var/keys/gitlab/otp&quot;;
-    jwsFile = &quot;/var/keys/gitlab/jws&quot;;
-  };
-  extraConfig = {
-    gitlab = {
-      email_from = &quot;gitlab-no-reply@example.com&quot;;
-      email_display_name = &quot;Example GitLab&quot;;
-      email_reply_to = &quot;gitlab-no-reply@example.com&quot;;
-      default_projects_features = { builds = false; };
-    };
-  };
-};
-</programlisting>
-    <para>
-      If you’re setting up a new GitLab instance, generate new secrets.
-      You for instance use
-      <literal>tr -dc A-Za-z0-9 &lt; /dev/urandom | head -c 128 &gt; /var/keys/gitlab/db</literal>
-      to generate a new db secret. Make sure the files can be read by,
-      and only by, the user specified by
-      <link linkend="opt-services.gitlab.user">services.gitlab.user</link>.
-      GitLab encrypts sensitive data stored in the database. If you’re
-      restoring an existing GitLab instance, you must specify the
-      secrets secret from <literal>config/secrets.yml</literal> located
-      in your GitLab state folder.
-    </para>
-    <para>
-      When <literal>incoming_mail.enabled</literal> is set to
-      <literal>true</literal> in
-      <link linkend="opt-services.gitlab.extraConfig">extraConfig</link>
-      an additional service called <literal>gitlab-mailroom</literal> is
-      enabled for fetching incoming mail.
-    </para>
-    <para>
-      Refer to <xref linkend="ch-options" /> for all available
-      configuration options for the
-      <link linkend="opt-services.gitlab.enable">services.gitlab</link>
-      module.
-    </para>
-  </section>
-  <section xml:id="module-services-gitlab-maintenance">
-    <title>Maintenance</title>
-    <section xml:id="module-services-gitlab-maintenance-backups">
-      <title>Backups</title>
-      <para>
-        Backups can be configured with the options in
-        <link linkend="opt-services.gitlab.backup.keepTime">services.gitlab.backup</link>.
-        Use the
-        <link linkend="opt-services.gitlab.backup.startAt">services.gitlab.backup.startAt</link>
-        option to configure regular backups.
-      </para>
-      <para>
-        To run a manual backup, start the
-        <literal>gitlab-backup</literal> service:
-      </para>
-      <programlisting>
-$ systemctl start gitlab-backup.service
-</programlisting>
-    </section>
-    <section xml:id="module-services-gitlab-maintenance-rake">
-      <title>Rake tasks</title>
-      <para>
-        You can run GitLab’s rake tasks with
-        <literal>gitlab-rake</literal> which will be available on the
-        system when GitLab is enabled. You will have to run the command
-        as the user that you configured to run GitLab with.
-      </para>
-      <para>
-        A list of all available rake tasks can be obtained by running:
-      </para>
-      <programlisting>
-$ sudo -u git -H gitlab-rake -T
-</programlisting>
-    </section>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/misc/sourcehut/default.nix b/nixos/modules/services/misc/sourcehut/default.nix
index b03cf0739e9..b2cadbf0c43 100644
--- a/nixos/modules/services/misc/sourcehut/default.nix
+++ b/nixos/modules/services/misc/sourcehut/default.nix
@@ -1390,6 +1390,6 @@ in
     '')
   ];
 
-  meta.doc = ./default.xml;
+  meta.doc = ./default.md;
   meta.maintainers = with maintainers; [ tomberek ];
 }
diff --git a/nixos/modules/services/misc/sourcehut/default.xml b/nixos/modules/services/misc/sourcehut/default.xml
deleted file mode 100644
index 1d8330931dd..00000000000
--- a/nixos/modules/services/misc/sourcehut/default.xml
+++ /dev/null
@@ -1,113 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-sourcehut">
-  <title>Sourcehut</title>
-  <para>
-    <link xlink:href="https://sr.ht.com/">Sourcehut</link> is an
-    open-source, self-hostable software development platform. The server
-    setup can be automated using
-    <link linkend="opt-services.sourcehut.enable">services.sourcehut</link>.
-  </para>
-  <section xml:id="module-services-sourcehut-basic-usage">
-    <title>Basic usage</title>
-    <para>
-      Sourcehut is a Python and Go based set of applications. This NixOS
-      module also provides basic configuration integrating Sourcehut
-      into locally running <literal>services.nginx</literal>,
-      <literal>services.redis.servers.sourcehut</literal>,
-      <literal>services.postfix</literal> and
-      <literal>services.postgresql</literal> services.
-    </para>
-    <para>
-      A very basic configuration may look like this:
-    </para>
-    <programlisting>
-{ pkgs, ... }:
-let
-  fqdn =
-    let
-      join = hostName: domain: hostName + optionalString (domain != null) &quot;.${domain}&quot;;
-    in join config.networking.hostName config.networking.domain;
-in {
-
-  networking = {
-    hostName = &quot;srht&quot;;
-    domain = &quot;tld&quot;;
-    firewall.allowedTCPPorts = [ 22 80 443 ];
-  };
-
-  services.sourcehut = {
-    enable = true;
-    git.enable = true;
-    man.enable = true;
-    meta.enable = true;
-    nginx.enable = true;
-    postfix.enable = true;
-    postgresql.enable = true;
-    redis.enable = true;
-    settings = {
-        &quot;sr.ht&quot; = {
-          environment = &quot;production&quot;;
-          global-domain = fqdn;
-          origin = &quot;https://${fqdn}&quot;;
-          # Produce keys with srht-keygen from sourcehut.coresrht.
-          network-key = &quot;/run/keys/path/to/network-key&quot;;
-          service-key = &quot;/run/keys/path/to/service-key&quot;;
-        };
-        webhooks.private-key= &quot;/run/keys/path/to/webhook-key&quot;;
-    };
-  };
-
-  security.acme.certs.&quot;${fqdn}&quot;.extraDomainNames = [
-    &quot;meta.${fqdn}&quot;
-    &quot;man.${fqdn}&quot;
-    &quot;git.${fqdn}&quot;
-  ];
-
-  services.nginx = {
-    enable = true;
-    # only recommendedProxySettings are strictly required, but the rest make sense as well.
-    recommendedTlsSettings = true;
-    recommendedOptimisation = true;
-    recommendedGzipSettings = true;
-    recommendedProxySettings = true;
-
-    # Settings to setup what certificates are used for which endpoint.
-    virtualHosts = {
-      &quot;${fqdn}&quot;.enableACME = true;
-      &quot;meta.${fqdn}&quot;.useACMEHost = fqdn:
-      &quot;man.${fqdn}&quot;.useACMEHost = fqdn:
-      &quot;git.${fqdn}&quot;.useACMEHost = fqdn:
-    };
-  };
-}
-</programlisting>
-    <para>
-      The <literal>hostName</literal> option is used internally to
-      configure the nginx reverse-proxy. The <literal>settings</literal>
-      attribute set is used by the configuration generator and the
-      result is placed in <literal>/etc/sr.ht/config.ini</literal>.
-    </para>
-  </section>
-  <section xml:id="module-services-sourcehut-configuration">
-    <title>Configuration</title>
-    <para>
-      All configuration parameters are also stored in
-      <literal>/etc/sr.ht/config.ini</literal> which is generated by the
-      module and linked from the store to ensure that all values from
-      <literal>config.ini</literal> can be modified by the module.
-    </para>
-  </section>
-  <section xml:id="module-services-sourcehut-httpd">
-    <title>Using an alternative webserver as reverse-proxy (e.g.
-    <literal>httpd</literal>)</title>
-    <para>
-      By default, <literal>nginx</literal> is used as reverse-proxy for
-      <literal>sourcehut</literal>. However, it’s possible to use e.g.
-      <literal>httpd</literal> by explicitly disabling
-      <literal>nginx</literal> using
-      <xref linkend="opt-services.nginx.enable" /> and fixing the
-      <literal>settings</literal>.
-    </para>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/misc/taskserver/default.nix b/nixos/modules/services/misc/taskserver/default.nix
index 7331c323adb..775b3b6d2ea 100644
--- a/nixos/modules/services/misc/taskserver/default.nix
+++ b/nixos/modules/services/misc/taskserver/default.nix
@@ -566,5 +566,5 @@ in {
     })
   ];
 
-  meta.doc = ./default.xml;
+  meta.doc = ./default.md;
 }
diff --git a/nixos/modules/services/misc/taskserver/default.xml b/nixos/modules/services/misc/taskserver/default.xml
deleted file mode 100644
index bbb38211b7c..00000000000
--- a/nixos/modules/services/misc/taskserver/default.xml
+++ /dev/null
@@ -1,130 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-taskserver">
-  <title>Taskserver</title>
-  <para>
-    Taskserver is the server component of
-    <link xlink:href="https://taskwarrior.org/">Taskwarrior</link>, a
-    free and open source todo list application.
-  </para>
-  <para>
-    <emphasis>Upstream documentation:</emphasis>
-    <link xlink:href="https://taskwarrior.org/docs/#taskd">https://taskwarrior.org/docs/#taskd</link>
-  </para>
-  <section xml:id="module-services-taskserver-configuration">
-    <title>Configuration</title>
-    <para>
-      Taskserver does all of its authentication via TLS using client
-      certificates, so you either need to roll your own CA or purchase a
-      certificate from a known CA, which allows creation of client
-      certificates. These certificates are usually advertised as
-      <quote>server certificates</quote>.
-    </para>
-    <para>
-      So in order to make it easier to handle your own CA, there is a
-      helper tool called <command>nixos-taskserver</command> which
-      manages the custom CA along with Taskserver organisations, users
-      and groups.
-    </para>
-    <para>
-      While the client certificates in Taskserver only authenticate
-      whether a user is allowed to connect, every user has its own UUID
-      which identifies it as an entity.
-    </para>
-    <para>
-      With <command>nixos-taskserver</command> the client certificate is
-      created along with the UUID of the user, so it handles all of the
-      credentials needed in order to setup the Taskwarrior client to
-      work with a Taskserver.
-    </para>
-  </section>
-  <section xml:id="module-services-taskserver-nixos-taskserver-tool">
-    <title>The nixos-taskserver tool</title>
-    <para>
-      Because Taskserver by default only provides scripts to setup users
-      imperatively, the <command>nixos-taskserver</command> tool is used
-      for addition and deletion of organisations along with users and
-      groups defined by
-      <xref linkend="opt-services.taskserver.organisations" /> and as
-      well for imperative set up.
-    </para>
-    <para>
-      The tool is designed to not interfere if the command is used to
-      manually set up some organisations, users or groups.
-    </para>
-    <para>
-      For example if you add a new organisation using
-      <command>nixos-taskserver org add foo</command>, the organisation
-      is not modified and deleted no matter what you define in
-      <option>services.taskserver.organisations</option>, even if you’re
-      adding the same organisation in that option.
-    </para>
-    <para>
-      The tool is modelled to imitate the official
-      <command>taskd</command> command, documentation for each
-      subcommand can be shown by using the <option>--help</option>
-      switch.
-    </para>
-  </section>
-  <section xml:id="module-services-taskserver-declarative-ca-management">
-    <title>Declarative/automatic CA management</title>
-    <para>
-      Everything is done according to what you specify in the module
-      options, however in order to set up a Taskwarrior client for
-      synchronisation with a Taskserver instance, you have to transfer
-      the keys and certificates to the client machine.
-    </para>
-    <para>
-      This is done using
-      <command>nixos-taskserver user export $orgname $username</command>
-      which is printing a shell script fragment to stdout which can
-      either be used verbatim or adjusted to import the user on the
-      client machine.
-    </para>
-    <para>
-      For example, let’s say you have the following configuration:
-    </para>
-    <programlisting>
-{
-  services.taskserver.enable = true;
-  services.taskserver.fqdn = &quot;server&quot;;
-  services.taskserver.listenHost = &quot;::&quot;;
-  services.taskserver.organisations.my-company.users = [ &quot;alice&quot; ];
-}
-</programlisting>
-    <para>
-      This creates an organisation called <literal>my-company</literal>
-      with the user <literal>alice</literal>.
-    </para>
-    <para>
-      Now in order to import the <literal>alice</literal> user to
-      another machine <literal>alicebox</literal>, all we need to do is
-      something like this:
-    </para>
-    <programlisting>
-$ ssh server nixos-taskserver user export my-company alice | sh
-</programlisting>
-    <para>
-      Of course, if no SSH daemon is available on the server you can
-      also copy &amp; paste it directly into a shell.
-    </para>
-    <para>
-      After this step the user should be set up and you can start
-      synchronising your tasks for the first time with
-      <command>task sync init</command> on <literal>alicebox</literal>.
-    </para>
-    <para>
-      Subsequent synchronisation requests merely require the command
-      <command>task sync</command> after that stage.
-    </para>
-  </section>
-  <section xml:id="module-services-taskserver-manual-ca-management">
-    <title>Manual CA management</title>
-    <para>
-      If you set any options within
-      <link linkend="opt-services.taskserver.pki.manual.ca.cert">service.taskserver.pki.manual</link>.*,
-      <command>nixos-taskserver</command> won’t issue certificates, but
-      you can still use it for adding or removing user accounts.
-    </para>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/misc/weechat.nix b/nixos/modules/services/misc/weechat.nix
index aa5b9b22837..338493e3cd3 100644
--- a/nixos/modules/services/misc/weechat.nix
+++ b/nixos/modules/services/misc/weechat.nix
@@ -59,5 +59,5 @@ in
       };
   };
 
-  meta.doc = ./weechat.xml;
+  meta.doc = ./weechat.md;
 }
diff --git a/nixos/modules/services/misc/weechat.xml b/nixos/modules/services/misc/weechat.xml
deleted file mode 100644
index 83ae171217d..00000000000
--- a/nixos/modules/services/misc/weechat.xml
+++ /dev/null
@@ -1,63 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-weechat">
-  <title>WeeChat</title>
-  <para>
-    <link xlink:href="https://weechat.org/">WeeChat</link> is a fast and
-    extensible IRC client.
-  </para>
-  <section xml:id="module-services-weechat-basic-usage">
-    <title>Basic Usage</title>
-    <para>
-      By default, the module creates a
-      <link xlink:href="https://www.freedesktop.org/wiki/Software/systemd/"><literal>systemd</literal></link>
-      unit which runs the chat client in a detached
-      <link xlink:href="https://www.gnu.org/software/screen/"><literal>screen</literal></link>
-      session.
-    </para>
-    <para>
-      This can be done by enabling the <literal>weechat</literal>
-      service:
-    </para>
-    <programlisting>
-{ ... }:
-
-{
-  services.weechat.enable = true;
-}
-</programlisting>
-    <para>
-      The service is managed by a dedicated user named
-      <literal>weechat</literal> in the state directory
-      <literal>/var/lib/weechat</literal>.
-    </para>
-  </section>
-  <section xml:id="module-services-weechat-reattach">
-    <title>Re-attaching to WeeChat</title>
-    <para>
-      WeeChat runs in a screen session owned by a dedicated user. To
-      explicitly allow your another user to attach to this session, the
-      <literal>screenrc</literal> needs to be tweaked by adding
-      <link xlink:href="https://www.gnu.org/software/screen/manual/html_node/Multiuser.html#Multiuser">multiuser</link>
-      support:
-    </para>
-    <programlisting>
-{
-  programs.screen.screenrc = ''
-    multiuser on
-    acladd normal_user
-  '';
-}
-</programlisting>
-    <para>
-      Now, the session can be re-attached like this:
-    </para>
-    <programlisting>
-screen -x weechat/weechat-screen
-</programlisting>
-    <para>
-      <emphasis>The session name can be changed using
-      <link xlink:href="options.html#opt-services.weechat.sessionName">services.weechat.sessionName.</link></emphasis>
-    </para>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/monitoring/parsedmarc.nix b/nixos/modules/services/monitoring/parsedmarc.nix
index 2e7c4fd00b4..fdaefbe17f2 100644
--- a/nixos/modules/services/monitoring/parsedmarc.nix
+++ b/nixos/modules/services/monitoring/parsedmarc.nix
@@ -539,6 +539,6 @@ in
     };
   };
 
-  meta.doc = ./parsedmarc.xml;
+  meta.doc = ./parsedmarc.md;
   meta.maintainers = [ lib.maintainers.talyz ];
 }
diff --git a/nixos/modules/services/monitoring/parsedmarc.xml b/nixos/modules/services/monitoring/parsedmarc.xml
deleted file mode 100644
index 4d9b12c9a42..00000000000
--- a/nixos/modules/services/monitoring/parsedmarc.xml
+++ /dev/null
@@ -1,126 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-parsedmarc">
-  <title>parsedmarc</title>
-  <para>
-    <link xlink:href="https://domainaware.github.io/parsedmarc/">parsedmarc</link>
-    is a service which parses incoming
-    <link xlink:href="https://dmarc.org/">DMARC</link> reports and
-    stores or sends them to a downstream service for further analysis.
-    In combination with Elasticsearch, Grafana and the included Grafana
-    dashboard, it provides a handy overview of DMARC reports over time.
-  </para>
-  <section xml:id="module-services-parsedmarc-basic-usage">
-    <title>Basic usage</title>
-    <para>
-      A very minimal setup which reads incoming reports from an external
-      email address and saves them to a local Elasticsearch instance
-      looks like this:
-    </para>
-    <programlisting language="nix">
-services.parsedmarc = {
-  enable = true;
-  settings.imap = {
-    host = &quot;imap.example.com&quot;;
-    user = &quot;alice@example.com&quot;;
-    password = &quot;/path/to/imap_password_file&quot;;
-  };
-  provision.geoIp = false; # Not recommended!
-};
-</programlisting>
-    <para>
-      Note that GeoIP provisioning is disabled in the example for
-      simplicity, but should be turned on for fully functional reports.
-    </para>
-  </section>
-  <section xml:id="module-services-parsedmarc-local-mail">
-    <title>Local mail</title>
-    <para>
-      Instead of watching an external inbox, a local inbox can be
-      automatically provisioned. The recipient’s name is by default set
-      to <literal>dmarc</literal>, but can be configured in
-      <link xlink:href="options.html#opt-services.parsedmarc.provision.localMail.recipientName">services.parsedmarc.provision.localMail.recipientName</link>.
-      You need to add an MX record pointing to the host. More
-      concretely: for the example to work, an MX record needs to be set
-      up for <literal>monitoring.example.com</literal> and the complete
-      email address that should be configured in the domain’s dmarc
-      policy is <literal>dmarc@monitoring.example.com</literal>.
-    </para>
-    <programlisting language="nix">
-services.parsedmarc = {
-  enable = true;
-  provision = {
-    localMail = {
-      enable = true;
-      hostname = monitoring.example.com;
-    };
-    geoIp = false; # Not recommended!
-  };
-};
-</programlisting>
-  </section>
-  <section xml:id="module-services-parsedmarc-grafana-geoip">
-    <title>Grafana and GeoIP</title>
-    <para>
-      The reports can be visualized and summarized with parsedmarc’s
-      official Grafana dashboard. For all views to work, and for the
-      data to be complete, GeoIP databases are also required. The
-      following example shows a basic deployment where the provisioned
-      Elasticsearch instance is automatically added as a Grafana
-      datasource, and the dashboard is added to Grafana as well.
-    </para>
-    <programlisting language="nix">
-services.parsedmarc = {
-  enable = true;
-  provision = {
-    localMail = {
-      enable = true;
-      hostname = url;
-    };
-    grafana = {
-      datasource = true;
-      dashboard = true;
-    };
-  };
-};
-
-# Not required, but recommended for full functionality
-services.geoipupdate = {
-  settings = {
-    AccountID = 000000;
-    LicenseKey = &quot;/path/to/license_key_file&quot;;
-  };
-};
-
-services.grafana = {
-  enable = true;
-  addr = &quot;0.0.0.0&quot;;
-  domain = url;
-  rootUrl = &quot;https://&quot; + url;
-  protocol = &quot;socket&quot;;
-  security = {
-    adminUser = &quot;admin&quot;;
-    adminPasswordFile = &quot;/path/to/admin_password_file&quot;;
-    secretKeyFile = &quot;/path/to/secret_key_file&quot;;
-  };
-};
-
-services.nginx = {
-  enable = true;
-  recommendedTlsSettings = true;
-  recommendedOptimisation = true;
-  recommendedGzipSettings = true;
-  recommendedProxySettings = true;
-  upstreams.grafana.servers.&quot;unix:/${config.services.grafana.socket}&quot; = {};
-  virtualHosts.${url} = {
-    root = config.services.grafana.staticRootPath;
-    enableACME = true;
-    forceSSL = true;
-    locations.&quot;/&quot;.tryFiles = &quot;$uri @grafana&quot;;
-    locations.&quot;@grafana&quot;.proxyPass = &quot;http://grafana&quot;;
-  };
-};
-users.users.nginx.extraGroups = [ &quot;grafana&quot; ];
-</programlisting>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/monitoring/prometheus/exporters.nix b/nixos/modules/services/monitoring/prometheus/exporters.nix
index f3fbfb149ad..23cac6793cc 100644
--- a/nixos/modules/services/monitoring/prometheus/exporters.nix
+++ b/nixos/modules/services/monitoring/prometheus/exporters.nix
@@ -323,7 +323,7 @@ in
   );
 
   meta = {
-    doc = ./exporters.xml;
+    doc = ./exporters.md;
     maintainers = [ maintainers.willibutz ];
   };
 }
diff --git a/nixos/modules/services/monitoring/prometheus/exporters.xml b/nixos/modules/services/monitoring/prometheus/exporters.xml
deleted file mode 100644
index 0ea95e513ff..00000000000
--- a/nixos/modules/services/monitoring/prometheus/exporters.xml
+++ /dev/null
@@ -1,245 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-prometheus-exporters">
-  <title>Prometheus exporters</title>
-  <para>
-    Prometheus exporters provide metrics for the
-    <link xlink:href="https://prometheus.io">prometheus monitoring
-    system</link>.
-  </para>
-  <section xml:id="module-services-prometheus-exporters-configuration">
-    <title>Configuration</title>
-    <para>
-      One of the most common exporters is the
-      <link xlink:href="https://github.com/prometheus/node_exporter">node
-      exporter</link>, it provides hardware and OS metrics from the host
-      it’s running on. The exporter could be configured as follows:
-    </para>
-    <programlisting>
-  services.prometheus.exporters.node = {
-    enable = true;
-    port = 9100;
-    enabledCollectors = [
-      &quot;logind&quot;
-      &quot;systemd&quot;
-    ];
-    disabledCollectors = [
-      &quot;textfile&quot;
-    ];
-    openFirewall = true;
-    firewallFilter = &quot;-i br0 -p tcp -m tcp --dport 9100&quot;;
-  };
-</programlisting>
-    <para>
-      It should now serve all metrics from the collectors that are
-      explicitly enabled and the ones that are
-      <link xlink:href="https://github.com/prometheus/node_exporter#enabled-by-default">enabled
-      by default</link>, via http under <literal>/metrics</literal>. In
-      this example the firewall should just allow incoming connections
-      to the exporter’s port on the bridge interface
-      <literal>br0</literal> (this would have to be configured
-      separately of course). For more information about configuration
-      see <literal>man configuration.nix</literal> or search through the
-      <link xlink:href="https://nixos.org/nixos/options.html#prometheus.exporters">available
-      options</link>.
-    </para>
-    <para>
-      Prometheus can now be configured to consume the metrics produced
-      by the exporter:
-    </para>
-    <programlisting>
-    services.prometheus = {
-      # ...
-
-      scrapeConfigs = [
-        {
-          job_name = &quot;node&quot;;
-          static_configs = [{
-            targets = [ &quot;localhost:${toString config.services.prometheus.exporters.node.port}&quot; ];
-          }];
-        }
-      ];
-
-      # ...
-    }
-</programlisting>
-  </section>
-  <section xml:id="module-services-prometheus-exporters-new-exporter">
-    <title>Adding a new exporter</title>
-    <para>
-      To add a new exporter, it has to be packaged first (see
-      <literal>nixpkgs/pkgs/servers/monitoring/prometheus/</literal> for
-      examples), then a module can be added. The postfix exporter is
-      used in this example:
-    </para>
-    <itemizedlist>
-      <listitem>
-        <para>
-          Some default options for all exporters are provided by
-          <literal>nixpkgs/nixos/modules/services/monitoring/prometheus/exporters.nix</literal>:
-        </para>
-        <itemizedlist spacing="compact">
-          <listitem>
-            <para>
-              <literal>enable</literal>
-            </para>
-          </listitem>
-          <listitem>
-            <para>
-              <literal>port</literal>
-            </para>
-          </listitem>
-          <listitem>
-            <para>
-              <literal>listenAddress</literal>
-            </para>
-          </listitem>
-          <listitem>
-            <para>
-              <literal>extraFlags</literal>
-            </para>
-          </listitem>
-          <listitem>
-            <para>
-              <literal>openFirewall</literal>
-            </para>
-          </listitem>
-          <listitem>
-            <para>
-              <literal>firewallFilter</literal>
-            </para>
-          </listitem>
-          <listitem>
-            <para>
-              <literal>user</literal>
-            </para>
-          </listitem>
-          <listitem>
-            <para>
-              <literal>group</literal>
-            </para>
-          </listitem>
-        </itemizedlist>
-      </listitem>
-      <listitem>
-        <para>
-          As there is already a package available, the module can now be
-          added. This is accomplished by adding a new file to the
-          <literal>nixos/modules/services/monitoring/prometheus/exporters/</literal>
-          directory, which will be called postfix.nix and contains all
-          exporter specific options and configuration:
-        </para>
-        <programlisting>
-# nixpgs/nixos/modules/services/prometheus/exporters/postfix.nix
-{ config, lib, pkgs, options }:
-
-with lib;
-
-let
-  # for convenience we define cfg here
-  cfg = config.services.prometheus.exporters.postfix;
-in
-{
-  port = 9154; # The postfix exporter listens on this port by default
-
-  # `extraOpts` is an attribute set which contains additional options
-  # (and optional overrides for default options).
-  # Note that this attribute is optional.
-  extraOpts = {
-    telemetryPath = mkOption {
-      type = types.str;
-      default = &quot;/metrics&quot;;
-      description = ''
-        Path under which to expose metrics.
-      '';
-    };
-    logfilePath = mkOption {
-      type = types.path;
-      default = /var/log/postfix_exporter_input.log;
-      example = /var/log/mail.log;
-      description = ''
-        Path where Postfix writes log entries.
-        This file will be truncated by this exporter!
-      '';
-    };
-    showqPath = mkOption {
-      type = types.path;
-      default = /var/spool/postfix/public/showq;
-      example = /var/lib/postfix/queue/public/showq;
-      description = ''
-        Path at which Postfix places its showq socket.
-      '';
-    };
-  };
-
-  # `serviceOpts` is an attribute set which contains configuration
-  # for the exporter's systemd service. One of
-  # `serviceOpts.script` and `serviceOpts.serviceConfig.ExecStart`
-  # has to be specified here. This will be merged with the default
-  # service configuration.
-  # Note that by default 'DynamicUser' is 'true'.
-  serviceOpts = {
-    serviceConfig = {
-      DynamicUser = false;
-      ExecStart = ''
-        ${pkgs.prometheus-postfix-exporter}/bin/postfix_exporter \
-          --web.listen-address ${cfg.listenAddress}:${toString cfg.port} \
-          --web.telemetry-path ${cfg.telemetryPath} \
-          ${concatStringsSep &quot; \\\n  &quot; cfg.extraFlags}
-      '';
-    };
-  };
-}
-</programlisting>
-      </listitem>
-      <listitem>
-        <para>
-          This should already be enough for the postfix exporter.
-          Additionally one could now add assertions and conditional
-          default values. This can be done in the
-          <quote>meta-module</quote> that combines all exporter
-          definitions and generates the submodules:
-          <literal>nixpkgs/nixos/modules/services/prometheus/exporters.nix</literal>
-        </para>
-      </listitem>
-    </itemizedlist>
-  </section>
-  <section xml:id="module-services-prometheus-exporters-update-exporter-module">
-    <title>Updating an exporter module</title>
-    <para>
-      Should an exporter option change at some point, it is possible to
-      add information about the change to the exporter definition
-      similar to <literal>nixpkgs/nixos/modules/rename.nix</literal>:
-    </para>
-    <programlisting>
-{ config, lib, pkgs, options }:
-
-with lib;
-
-let
-  cfg = config.services.prometheus.exporters.nginx;
-in
-{
-  port = 9113;
-  extraOpts = {
-    # additional module options
-    # ...
-  };
-  serviceOpts = {
-    # service configuration
-    # ...
-  };
-  imports = [
-    # 'services.prometheus.exporters.nginx.telemetryEndpoint' -&gt; 'services.prometheus.exporters.nginx.telemetryPath'
-    (mkRenamedOptionModule [ &quot;telemetryEndpoint&quot; ] [ &quot;telemetryPath&quot; ])
-
-    # removed option 'services.prometheus.exporters.nginx.insecure'
-    (mkRemovedOptionModule [ &quot;insecure&quot; ] ''
-      This option was replaced by 'prometheus.exporters.nginx.sslVerify' which defaults to true.
-    '')
-    ({ options.warnings = options.warnings; })
-  ];
-}
-</programlisting>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/network-filesystems/litestream/default.nix b/nixos/modules/services/network-filesystems/litestream/default.nix
index 0d987f12a32..6e2ec1ccaa3 100644
--- a/nixos/modules/services/network-filesystems/litestream/default.nix
+++ b/nixos/modules/services/network-filesystems/litestream/default.nix
@@ -95,5 +95,5 @@ in
     users.groups.litestream = {};
   };
 
-  meta.doc = ./default.xml;
+  meta.doc = ./default.md;
 }
diff --git a/nixos/modules/services/network-filesystems/litestream/default.xml b/nixos/modules/services/network-filesystems/litestream/default.xml
deleted file mode 100644
index 756899fdb88..00000000000
--- a/nixos/modules/services/network-filesystems/litestream/default.xml
+++ /dev/null
@@ -1,62 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-litestream">
-  <title>Litestream</title>
-  <para>
-    <link xlink:href="https://litestream.io/">Litestream</link> is a
-    standalone streaming replication tool for SQLite.
-  </para>
-  <section xml:id="module-services-litestream-configuration">
-    <title>Configuration</title>
-    <para>
-      Litestream service is managed by a dedicated user named
-      <literal>litestream</literal> which needs permission to the
-      database file. Here’s an example config which gives required
-      permissions to access
-      <link linkend="opt-services.grafana.settings.database.path">grafana
-      database</link>:
-    </para>
-    <programlisting>
-{ pkgs, ... }:
-{
-  users.users.litestream.extraGroups = [ &quot;grafana&quot; ];
-
-  systemd.services.grafana.serviceConfig.ExecStartPost = &quot;+&quot; + pkgs.writeShellScript &quot;grant-grafana-permissions&quot; ''
-    timeout=10
-
-    while [ ! -f /var/lib/grafana/data/grafana.db ];
-    do
-      if [ &quot;$timeout&quot; == 0 ]; then
-        echo &quot;ERROR: Timeout while waiting for /var/lib/grafana/data/grafana.db.&quot;
-        exit 1
-      fi
-
-      sleep 1
-
-      ((timeout--))
-    done
-
-    find /var/lib/grafana -type d -exec chmod -v 775 {} \;
-    find /var/lib/grafana -type f -exec chmod -v 660 {} \;
-  '';
-
-  services.litestream = {
-    enable = true;
-
-    environmentFile = &quot;/run/secrets/litestream&quot;;
-
-    settings = {
-      dbs = [
-        {
-          path = &quot;/var/lib/grafana/data/grafana.db&quot;;
-          replicas = [{
-            url = &quot;s3://mybkt.litestream.io/grafana&quot;;
-          }];
-        }
-      ];
-    };
-  };
-}
-</programlisting>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/networking/firefox-syncserver.nix b/nixos/modules/services/networking/firefox-syncserver.nix
index c26a6ae265f..a06b9573a85 100644
--- a/nixos/modules/services/networking/firefox-syncserver.nix
+++ b/nixos/modules/services/networking/firefox-syncserver.nix
@@ -311,6 +311,6 @@ in
 
   meta = {
     maintainers = with lib.maintainers; [ pennae ];
-    doc = ./firefox-syncserver.xml;
+    doc = ./firefox-syncserver.md;
   };
 }
diff --git a/nixos/modules/services/networking/firefox-syncserver.xml b/nixos/modules/services/networking/firefox-syncserver.xml
deleted file mode 100644
index 440922cbba0..00000000000
--- a/nixos/modules/services/networking/firefox-syncserver.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-firefox-syncserver">
-  <title>Firefox Sync server</title>
-  <para>
-    A storage server for Firefox Sync that you can easily host yourself.
-  </para>
-  <section xml:id="module-services-firefox-syncserver-quickstart">
-    <title>Quickstart</title>
-    <para>
-      The absolute minimal configuration for the sync server looks like
-      this:
-    </para>
-    <programlisting language="nix">
-services.mysql.package = pkgs.mariadb;
-
-services.firefox-syncserver = {
-  enable = true;
-  secrets = builtins.toFile &quot;sync-secrets&quot; ''
-    SYNC_MASTER_SECRET=this-secret-is-actually-leaked-to-/nix/store
-  '';
-  singleNode = {
-    enable = true;
-    hostname = &quot;localhost&quot;;
-    url = &quot;http://localhost:5000&quot;;
-  };
-};
-</programlisting>
-    <para>
-      This will start a sync server that is only accessible locally.
-      Once the services is running you can navigate to
-      <literal>about:config</literal> in your Firefox profile and set
-      <literal>identity.sync.tokenserver.uri</literal> to
-      <literal>http://localhost:5000/1.0/sync/1.5</literal>. Your
-      browser will now use your local sync server for data storage.
-    </para>
-    <warning>
-      <para>
-        This configuration should never be used in production. It is not
-        encrypted and stores its secrets in a world-readable location.
-      </para>
-    </warning>
-  </section>
-  <section xml:id="module-services-firefox-syncserver-configuration">
-    <title>More detailed setup</title>
-    <para>
-      The <literal>firefox-syncserver</literal> service provides a
-      number of options to make setting up small deployment easier.
-      These are grouped under the <literal>singleNode</literal> element
-      of the option tree and allow simple configuration of the most
-      important parameters.
-    </para>
-    <para>
-      Single node setup is split into two kinds of options: those that
-      affect the sync server itself, and those that affect its
-      surroundings. Options that affect the sync server are
-      <literal>capacity</literal>, which configures how many accounts
-      may be active on this instance, and <literal>url</literal>, which
-      holds the URL under which the sync server can be accessed. The
-      <literal>url</literal> can be configured automatically when using
-      nginx.
-    </para>
-    <para>
-      Options that affect the surroundings of the sync server are
-      <literal>enableNginx</literal>, <literal>enableTLS</literal> and
-      <literal>hostnam</literal>. If <literal>enableNginx</literal> is
-      set the sync server module will automatically add an nginx virtual
-      host to the system using <literal>hostname</literal> as the domain
-      and set <literal>url</literal> accordingly. If
-      <literal>enableTLS</literal> is set the module will also enable
-      ACME certificates on the new virtual host and force all
-      connections to be made via TLS.
-    </para>
-    <para>
-      For actual deployment it is also recommended to store the
-      <literal>secrets</literal> file in a secure location.
-    </para>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/networking/mosquitto.nix b/nixos/modules/services/networking/mosquitto.nix
index 56341202556..a4fd2fd7c89 100644
--- a/nixos/modules/services/networking/mosquitto.nix
+++ b/nixos/modules/services/networking/mosquitto.nix
@@ -671,6 +671,6 @@ in
 
   meta = {
     maintainers = with lib.maintainers; [ pennae ];
-    doc = ./mosquitto.xml;
+    doc = ./mosquitto.md;
   };
 }
diff --git a/nixos/modules/services/networking/mosquitto.xml b/nixos/modules/services/networking/mosquitto.xml
deleted file mode 100644
index 91934617c56..00000000000
--- a/nixos/modules/services/networking/mosquitto.xml
+++ /dev/null
@@ -1,149 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-mosquitto">
-  <title>Mosquitto</title>
-  <para>
-    Mosquitto is a MQTT broker often used for IoT or home automation
-    data transport.
-  </para>
-  <section xml:id="module-services-mosquitto-quickstart">
-    <title>Quickstart</title>
-    <para>
-      A minimal configuration for Mosquitto is
-    </para>
-    <programlisting language="nix">
-services.mosquitto = {
-  enable = true;
-  listeners = [ {
-    acl = [ &quot;pattern readwrite #&quot; ];
-    omitPasswordAuth = true;
-    settings.allow_anonymous = true;
-  } ];
-};
-</programlisting>
-    <para>
-      This will start a broker on port 1883, listening on all interfaces
-      of the machine, allowing read/write access to all topics to any
-      user without password requirements.
-    </para>
-    <para>
-      User authentication can be configured with the
-      <literal>users</literal> key of listeners. A config that gives
-      full read access to a user <literal>monitor</literal> and
-      restricted write access to a user <literal>service</literal> could
-      look like
-    </para>
-    <programlisting language="nix">
-services.mosquitto = {
-  enable = true;
-  listeners = [ {
-    users = {
-      monitor = {
-        acl = [ &quot;read #&quot; ];
-        password = &quot;monitor&quot;;
-      };
-      service = {
-        acl = [ &quot;write service/#&quot; ];
-        password = &quot;service&quot;;
-      };
-    };
-  } ];
-};
-</programlisting>
-    <para>
-      TLS authentication is configured by setting TLS-related options of
-      the listener:
-    </para>
-    <programlisting language="nix">
-services.mosquitto = {
-  enable = true;
-  listeners = [ {
-    port = 8883; # port change is not required, but helpful to avoid mistakes
-    # ...
-    settings = {
-      cafile = &quot;/path/to/mqtt.ca.pem&quot;;
-      certfile = &quot;/path/to/mqtt.pem&quot;;
-      keyfile = &quot;/path/to/mqtt.key&quot;;
-    };
-  } ];
-</programlisting>
-  </section>
-  <section xml:id="module-services-mosquitto-config">
-    <title>Configuration</title>
-    <para>
-      The Mosquitto configuration has four distinct types of settings:
-      the global settings of the daemon, listeners, plugins, and
-      bridges. Bridges and listeners are part of the global
-      configuration, plugins are part of listeners. Users of the broker
-      are configured as parts of listeners rather than globally,
-      allowing configurations in which a given user is only allowed to
-      log in to the broker using specific listeners (eg to configure an
-      admin user with full access to all topics, but restricted to
-      localhost).
-    </para>
-    <para>
-      Almost all options of Mosquitto are available for configuration at
-      their appropriate levels, some as NixOS options written in camel
-      case, the remainders under <literal>settings</literal> with their
-      exact names in the Mosquitto config file. The exceptions are
-      <literal>acl_file</literal> (which is always set according to the
-      <literal>acl</literal> attributes of a listener and its users) and
-      <literal>per_listener_settings</literal> (which is always set to
-      <literal>true</literal>).
-    </para>
-    <section xml:id="module-services-mosquitto-config-passwords">
-      <title>Password authentication</title>
-      <para>
-        Mosquitto can be run in two modes, with a password file or
-        without. Each listener has its own password file, and different
-        listeners may use different password files. Password file
-        generation can be disabled by setting
-        <literal>omitPasswordAuth = true</literal> for a listener; in
-        this case it is necessary to either set
-        <literal>settings.allow_anonymous = true</literal> to allow all
-        logins, or to configure other authentication methods like TLS
-        client certificates with
-        <literal>settings.use_identity_as_username = true</literal>.
-      </para>
-      <para>
-        The default is to generate a password file for each listener
-        from the users configured to that listener. Users with no
-        configured password will not be added to the password file and
-        thus will not be able to use the broker.
-      </para>
-    </section>
-    <section xml:id="module-services-mosquitto-config-acl">
-      <title>ACL format</title>
-      <para>
-        Every listener has a Mosquitto <literal>acl_file</literal>
-        attached to it. This ACL is configured via two attributes of the
-        config:
-      </para>
-      <itemizedlist spacing="compact">
-        <listitem>
-          <para>
-            the <literal>acl</literal> attribute of the listener
-            configures pattern ACL entries and topic ACL entries for
-            anonymous users. Each entry must be prefixed with
-            <literal>pattern</literal> or <literal>topic</literal> to
-            distinguish between these two cases.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            the <literal>acl</literal> attribute of every user
-            configures in the listener configured the ACL for that given
-            user. Only topic ACLs are supported by Mosquitto in this
-            setting, so no prefix is required or allowed.
-          </para>
-        </listitem>
-      </itemizedlist>
-      <para>
-        The default ACL for a listener is empty, disallowing all
-        accesses from all clients. To configure a completely open ACL,
-        set <literal>acl = [ &quot;pattern readwrite #&quot; ]</literal>
-        in the listener.
-      </para>
-    </section>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/networking/pleroma.nix b/nixos/modules/services/networking/pleroma.nix
index f317510258b..e9db7f3eab8 100644
--- a/nixos/modules/services/networking/pleroma.nix
+++ b/nixos/modules/services/networking/pleroma.nix
@@ -147,5 +147,5 @@ in {
 
   };
   meta.maintainers = with lib.maintainers; [ ninjatrappeur ];
-  meta.doc = ./pleroma.xml;
+  meta.doc = ./pleroma.md;
 }
diff --git a/nixos/modules/services/networking/pleroma.xml b/nixos/modules/services/networking/pleroma.xml
deleted file mode 100644
index 97954f4b951..00000000000
--- a/nixos/modules/services/networking/pleroma.xml
+++ /dev/null
@@ -1,244 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-pleroma">
-  <title>Pleroma</title>
-  <para>
-    <link xlink:href="https://pleroma.social/">Pleroma</link> is a
-    lightweight activity pub server.
-  </para>
-  <section xml:id="module-services-pleroma-generate-config">
-    <title>Generating the Pleroma config</title>
-    <para>
-      The <literal>pleroma_ctl</literal> CLI utility will prompt you
-      some questions and it will generate an initial config file. This
-      is an example of usage
-    </para>
-    <programlisting>
-$ mkdir tmp-pleroma
-$ cd tmp-pleroma
-$ nix-shell -p pleroma-otp
-$ pleroma_ctl instance gen --output config.exs --output-psql setup.psql
-</programlisting>
-    <para>
-      The <literal>config.exs</literal> file can be further customized
-      following the instructions on the
-      <link xlink:href="https://docs-develop.pleroma.social/backend/configuration/cheatsheet/">upstream
-      documentation</link>. Many refinements can be applied also after
-      the service is running.
-    </para>
-  </section>
-  <section xml:id="module-services-pleroma-initialize-db">
-    <title>Initializing the database</title>
-    <para>
-      First, the Postgresql service must be enabled in the NixOS
-      configuration
-    </para>
-    <programlisting>
-services.postgresql = {
-  enable = true;
-  package = pkgs.postgresql_13;
-};
-</programlisting>
-    <para>
-      and activated with the usual
-    </para>
-    <programlisting>
-$ nixos-rebuild switch
-</programlisting>
-    <para>
-      Then you can create and seed the database, using the
-      <literal>setup.psql</literal> file that you generated in the
-      previous section, by running
-    </para>
-    <programlisting>
-$ sudo -u postgres psql -f setup.psql
-</programlisting>
-  </section>
-  <section xml:id="module-services-pleroma-enable">
-    <title>Enabling the Pleroma service locally</title>
-    <para>
-      In this section we will enable the Pleroma service only locally,
-      so its configurations can be improved incrementally.
-    </para>
-    <para>
-      This is an example of configuration, where
-      <xref linkend="opt-services.pleroma.configs" /> option contains
-      the content of the file <literal>config.exs</literal>, generated
-      <link linkend="module-services-pleroma-generate-config">in the
-      first section</link>, but with the secrets (database password,
-      endpoint secret key, salts, etc.) removed. Removing secrets is
-      important, because otherwise they will be stored publicly in the
-      Nix store.
-    </para>
-    <programlisting>
-services.pleroma = {
-  enable = true;
-  secretConfigFile = &quot;/var/lib/pleroma/secrets.exs&quot;;
-  configs = [
-    ''
-    import Config
-
-    config :pleroma, Pleroma.Web.Endpoint,
-      url: [host: &quot;pleroma.example.net&quot;, scheme: &quot;https&quot;, port: 443],
-      http: [ip: {127, 0, 0, 1}, port: 4000]
-
-    config :pleroma, :instance,
-      name: &quot;Test&quot;,
-      email: &quot;admin@example.net&quot;,
-      notify_email: &quot;admin@example.net&quot;,
-      limit: 5000,
-      registrations_open: true
-
-    config :pleroma, :media_proxy,
-      enabled: false,
-      redirect_on_failure: true
-
-    config :pleroma, Pleroma.Repo,
-      adapter: Ecto.Adapters.Postgres,
-      username: &quot;pleroma&quot;,
-      database: &quot;pleroma&quot;,
-      hostname: &quot;localhost&quot;
-
-    # Configure web push notifications
-    config :web_push_encryption, :vapid_details,
-      subject: &quot;mailto:admin@example.net&quot;
-
-    # ... TO CONTINUE ...
-    ''
-  ];
-};
-</programlisting>
-    <para>
-      Secrets must be moved into a file pointed by
-      <xref linkend="opt-services.pleroma.secretConfigFile" />, in our
-      case <literal>/var/lib/pleroma/secrets.exs</literal>. This file
-      can be created copying the previously generated
-      <literal>config.exs</literal> file and then removing all the
-      settings, except the secrets. This is an example
-    </para>
-    <programlisting>
-# Pleroma instance passwords
-
-import Config
-
-config :pleroma, Pleroma.Web.Endpoint,
-   secret_key_base: &quot;&lt;the secret generated by pleroma_ctl&gt;&quot;,
-   signing_salt: &quot;&lt;the secret generated by pleroma_ctl&gt;&quot;
-
-config :pleroma, Pleroma.Repo,
-  password: &quot;&lt;the secret generated by pleroma_ctl&gt;&quot;
-
-# Configure web push notifications
-config :web_push_encryption, :vapid_details,
-  public_key: &quot;&lt;the secret generated by pleroma_ctl&gt;&quot;,
-  private_key: &quot;&lt;the secret generated by pleroma_ctl&gt;&quot;
-
-# ... TO CONTINUE ...
-</programlisting>
-    <para>
-      Note that the lines of the same configuration group are comma
-      separated (i.e. all the lines end with a comma, except the last
-      one), so when the lines with passwords are added or removed,
-      commas must be adjusted accordingly.
-    </para>
-    <para>
-      The service can be enabled with the usual
-    </para>
-    <programlisting>
-$ nixos-rebuild switch
-</programlisting>
-    <para>
-      The service is accessible only from the local
-      <literal>127.0.0.1:4000</literal> port. It can be tested using a
-      port forwarding like this
-    </para>
-    <programlisting>
-$ ssh -L 4000:localhost:4000 myuser@example.net
-</programlisting>
-    <para>
-      and then accessing
-      <link xlink:href="http://localhost:4000">http://localhost:4000</link>
-      from a web browser.
-    </para>
-  </section>
-  <section xml:id="module-services-pleroma-admin-user">
-    <title>Creating the admin user</title>
-    <para>
-      After Pleroma service is running, all
-      <link xlink:href="https://docs-develop.pleroma.social/">Pleroma
-      administration utilities</link> can be used. In particular an
-      admin user can be created with
-    </para>
-    <programlisting>
-$ pleroma_ctl user new &lt;nickname&gt; &lt;email&gt;  --admin --moderator --password &lt;password&gt;
-</programlisting>
-  </section>
-  <section xml:id="module-services-pleroma-nginx">
-    <title>Configuring Nginx</title>
-    <para>
-      In this configuration, Pleroma is listening only on the local port
-      4000. Nginx can be configured as a Reverse Proxy, for forwarding
-      requests from public ports to the Pleroma service. This is an
-      example of configuration, using
-      <link xlink:href="https://letsencrypt.org/">Let’s Encrypt</link>
-      for the TLS certificates
-    </para>
-    <programlisting>
-security.acme = {
-  email = &quot;root@example.net&quot;;
-  acceptTerms = true;
-};
-
-services.nginx = {
-  enable = true;
-  addSSL = true;
-
-  recommendedTlsSettings = true;
-  recommendedOptimisation = true;
-  recommendedGzipSettings = true;
-
-  recommendedProxySettings = false;
-  # NOTE: if enabled, the NixOS proxy optimizations will override the Pleroma
-  # specific settings, and they will enter in conflict.
-
-  virtualHosts = {
-    &quot;pleroma.example.net&quot; = {
-      http2 = true;
-      enableACME = true;
-      forceSSL = true;
-
-      locations.&quot;/&quot; = {
-        proxyPass = &quot;http://127.0.0.1:4000&quot;;
-
-        extraConfig = ''
-          etag on;
-          gzip on;
-
-          add_header 'Access-Control-Allow-Origin' '*' always;
-          add_header 'Access-Control-Allow-Methods' 'POST, PUT, DELETE, GET, PATCH, OPTIONS' always;
-          add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type, Idempotency-Key' always;
-          add_header 'Access-Control-Expose-Headers' 'Link, X-RateLimit-Reset, X-RateLimit-Limit, X-RateLimit-Remaining, X-Request-Id' always;
-          if ($request_method = OPTIONS) {
-            return 204;
-          }
-          add_header X-XSS-Protection &quot;1; mode=block&quot;;
-          add_header X-Permitted-Cross-Domain-Policies none;
-          add_header X-Frame-Options DENY;
-          add_header X-Content-Type-Options nosniff;
-          add_header Referrer-Policy same-origin;
-          add_header X-Download-Options noopen;
-          proxy_http_version 1.1;
-          proxy_set_header Upgrade $http_upgrade;
-          proxy_set_header Connection &quot;upgrade&quot;;
-          proxy_set_header Host $host;
-
-          client_max_body_size 16m;
-          # NOTE: increase if users need to upload very big files
-        '';
-      };
-    };
-  };
-};
-</programlisting>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/networking/prosody.nix b/nixos/modules/services/networking/prosody.nix
index 0746bbf184f..9f68853f9fa 100644
--- a/nixos/modules/services/networking/prosody.nix
+++ b/nixos/modules/services/networking/prosody.nix
@@ -905,5 +905,5 @@ in
 
   };
 
-  meta.doc = ./prosody.xml;
+  meta.doc = ./prosody.md;
 }
diff --git a/nixos/modules/services/networking/prosody.xml b/nixos/modules/services/networking/prosody.xml
deleted file mode 100644
index 5df046f8145..00000000000
--- a/nixos/modules/services/networking/prosody.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-prosody">
-  <title>Prosody</title>
-  <para>
-    <link xlink:href="https://prosody.im/">Prosody</link> is an
-    open-source, modern XMPP server.
-  </para>
-  <section xml:id="module-services-prosody-basic-usage">
-    <title>Basic usage</title>
-    <para>
-      A common struggle for most XMPP newcomers is to find the right set
-      of XMPP Extensions (XEPs) to setup. Forget to activate a few of
-      those and your XMPP experience might turn into a nightmare!
-    </para>
-    <para>
-      The XMPP community tackles this problem by creating a meta-XEP
-      listing a decent set of XEPs you should implement. This meta-XEP
-      is issued every year, the 2020 edition being
-      <link xlink:href="https://xmpp.org/extensions/xep-0423.html">XEP-0423</link>.
-    </para>
-    <para>
-      The NixOS Prosody module will implement most of these recommendend
-      XEPs out of the box. That being said, two components still require
-      some manual configuration: the
-      <link xlink:href="https://xmpp.org/extensions/xep-0045.html">Multi
-      User Chat (MUC)</link> and the
-      <link xlink:href="https://xmpp.org/extensions/xep-0363.html">HTTP
-      File Upload</link> ones. You’ll need to create a DNS subdomain for
-      each of those. The current convention is to name your MUC endpoint
-      <literal>conference.example.org</literal> and your HTTP upload
-      domain <literal>upload.example.org</literal>.
-    </para>
-    <para>
-      A good configuration to start with, including a
-      <link xlink:href="https://xmpp.org/extensions/xep-0045.html">Multi
-      User Chat (MUC)</link> endpoint as well as a
-      <link xlink:href="https://xmpp.org/extensions/xep-0363.html">HTTP
-      File Upload</link> endpoint will look like this:
-    </para>
-    <programlisting>
-services.prosody = {
-  enable = true;
-  admins = [ &quot;root@example.org&quot; ];
-  ssl.cert = &quot;/var/lib/acme/example.org/fullchain.pem&quot;;
-  ssl.key = &quot;/var/lib/acme/example.org/key.pem&quot;;
-  virtualHosts.&quot;example.org&quot; = {
-      enabled = true;
-      domain = &quot;example.org&quot;;
-      ssl.cert = &quot;/var/lib/acme/example.org/fullchain.pem&quot;;
-      ssl.key = &quot;/var/lib/acme/example.org/key.pem&quot;;
-  };
-  muc = [ {
-      domain = &quot;conference.example.org&quot;;
-  } ];
-  uploadHttp = {
-      domain = &quot;upload.example.org&quot;;
-  };
-};
-</programlisting>
-  </section>
-  <section xml:id="module-services-prosody-letsencrypt">
-    <title>Let’s Encrypt Configuration</title>
-    <para>
-      As you can see in the code snippet from the
-      <link linkend="module-services-prosody-basic-usage">previous
-      section</link>, you’ll need a single TLS certificate covering your
-      main endpoint, the MUC one as well as the HTTP Upload one. We can
-      generate such a certificate by leveraging the ACME
-      <link linkend="opt-security.acme.certs._name_.extraDomainNames">extraDomainNames</link>
-      module option.
-    </para>
-    <para>
-      Provided the setup detailed in the previous section, you’ll need
-      the following acme configuration to generate a TLS certificate for
-      the three endponits:
-    </para>
-    <programlisting>
-security.acme = {
-  email = &quot;root@example.org&quot;;
-  acceptTerms = true;
-  certs = {
-    &quot;example.org&quot; = {
-      webroot = &quot;/var/www/example.org&quot;;
-      email = &quot;root@example.org&quot;;
-      extraDomainNames = [ &quot;conference.example.org&quot; &quot;upload.example.org&quot; ];
-    };
-  };
-};
-</programlisting>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/networking/yggdrasil.nix b/nixos/modules/services/networking/yggdrasil.nix
index 3d5cbdd2dc3..fd7193154c6 100644
--- a/nixos/modules/services/networking/yggdrasil.nix
+++ b/nixos/modules/services/networking/yggdrasil.nix
@@ -193,7 +193,7 @@ in {
     environment.systemPackages = [ cfg.package ];
   });
   meta = {
-    doc = ./yggdrasil.xml;
+    doc = ./yggdrasil.md;
     maintainers = with lib.maintainers; [ gazally ehmry ];
   };
 }
diff --git a/nixos/modules/services/networking/yggdrasil.xml b/nixos/modules/services/networking/yggdrasil.xml
deleted file mode 100644
index 39faacbf30e..00000000000
--- a/nixos/modules/services/networking/yggdrasil.xml
+++ /dev/null
@@ -1,157 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-networking-yggdrasil">
-  <title>Yggdrasil</title>
-  <para>
-    <emphasis>Source:</emphasis>
-    <filename>modules/services/networking/yggdrasil/default.nix</filename>
-  </para>
-  <para>
-    <emphasis>Upstream documentation:</emphasis>
-    <link xlink:href="https://yggdrasil-network.github.io/">https://yggdrasil-network.github.io/</link>
-  </para>
-  <para>
-    Yggdrasil is an early-stage implementation of a fully end-to-end
-    encrypted, self-arranging IPv6 network.
-  </para>
-  <section xml:id="module-services-networking-yggdrasil-configuration">
-    <title>Configuration</title>
-    <section xml:id="module-services-networking-yggdrasil-configuration-simple">
-      <title>Simple ephemeral node</title>
-      <para>
-        An annotated example of a simple configuration:
-      </para>
-      <programlisting>
-{
-  services.yggdrasil = {
-    enable = true;
-    persistentKeys = false;
-      # The NixOS module will generate new keys and a new IPv6 address each time
-      # it is started if persistentKeys is not enabled.
-
-    settings = {
-      Peers = [
-        # Yggdrasil will automatically connect and &quot;peer&quot; with other nodes it
-        # discovers via link-local multicast announcements. Unless this is the
-        # case (it probably isn't) a node needs peers within the existing
-        # network that it can tunnel to.
-        &quot;tcp://1.2.3.4:1024&quot;
-        &quot;tcp://1.2.3.5:1024&quot;
-        # Public peers can be found at
-        # https://github.com/yggdrasil-network/public-peers
-      ];
-    };
-  };
-}
-</programlisting>
-    </section>
-    <section xml:id="module-services-networking-yggdrasil-configuration-prefix">
-      <title>Persistent node with prefix</title>
-      <para>
-        A node with a fixed address that announces a prefix:
-      </para>
-      <programlisting>
-let
-  address = &quot;210:5217:69c0:9afc:1b95:b9f:8718:c3d2&quot;;
-  prefix = &quot;310:5217:69c0:9afc&quot;;
-  # taken from the output of &quot;yggdrasilctl getself&quot;.
-in {
-
-  services.yggdrasil = {
-    enable = true;
-    persistentKeys = true; # Maintain a fixed public key and IPv6 address.
-    settings = {
-      Peers = [ &quot;tcp://1.2.3.4:1024&quot; &quot;tcp://1.2.3.5:1024&quot; ];
-      NodeInfo = {
-        # This information is visible to the network.
-        name = config.networking.hostName;
-        location = &quot;The North Pole&quot;;
-      };
-    };
-  };
-
-  boot.kernel.sysctl.&quot;net.ipv6.conf.all.forwarding&quot; = 1;
-    # Forward traffic under the prefix.
-
-  networking.interfaces.${eth0}.ipv6.addresses = [{
-    # Set a 300::/8 address on the local physical device.
-    address = prefix + &quot;::1&quot;;
-    prefixLength = 64;
-  }];
-
-  services.radvd = {
-    # Announce the 300::/8 prefix to eth0.
-    enable = true;
-    config = ''
-      interface eth0
-      {
-        AdvSendAdvert on;
-        prefix ${prefix}::/64 {
-          AdvOnLink on;
-          AdvAutonomous on;
-        };
-        route 200::/8 {};
-      };
-    '';
-  };
-}
-</programlisting>
-    </section>
-    <section xml:id="module-services-networking-yggdrasil-configuration-container">
-      <title>Yggdrasil attached Container</title>
-      <para>
-        A NixOS container attached to the Yggdrasil network via a node
-        running on the host:
-      </para>
-      <programlisting>
-let
-  yggPrefix64 = &quot;310:5217:69c0:9afc&quot;;
-    # Again, taken from the output of &quot;yggdrasilctl getself&quot;.
-in
-{
-  boot.kernel.sysctl.&quot;net.ipv6.conf.all.forwarding&quot; = 1;
-  # Enable IPv6 forwarding.
-
-  networking = {
-    bridges.br0.interfaces = [ ];
-    # A bridge only to containers…
-
-    interfaces.br0 = {
-      # … configured with a prefix address.
-      ipv6.addresses = [{
-        address = &quot;${yggPrefix64}::1&quot;;
-        prefixLength = 64;
-      }];
-    };
-  };
-
-  containers.foo = {
-    autoStart = true;
-    privateNetwork = true;
-    hostBridge = &quot;br0&quot;;
-    # Attach the container to the bridge only.
-    config = { config, pkgs, ... }: {
-      networking.interfaces.eth0.ipv6 = {
-        addresses = [{
-          # Configure a prefix address.
-          address = &quot;${yggPrefix64}::2&quot;;
-          prefixLength = 64;
-        }];
-        routes = [{
-          # Configure the prefix route.
-          address = &quot;200::&quot;;
-          prefixLength = 7;
-          via = &quot;${yggPrefix64}::1&quot;;
-        }];
-      };
-
-      services.httpd.enable = true;
-      networking.firewall.allowedTCPPorts = [ 80 ];
-    };
-  };
-
-}
-</programlisting>
-    </section>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/search/meilisearch.nix b/nixos/modules/services/search/meilisearch.nix
index 9b727b76b1c..73567ca0bc9 100644
--- a/nixos/modules/services/search/meilisearch.nix
+++ b/nixos/modules/services/search/meilisearch.nix
@@ -9,7 +9,7 @@ in
 {
 
   meta.maintainers = with maintainers; [ Br1ght0ne happysalada ];
-  meta.doc = ./meilisearch.xml;
+  meta.doc = ./meilisearch.md;
 
   ###### interface
 
diff --git a/nixos/modules/services/search/meilisearch.xml b/nixos/modules/services/search/meilisearch.xml
deleted file mode 100644
index 8bfd64920b0..00000000000
--- a/nixos/modules/services/search/meilisearch.xml
+++ /dev/null
@@ -1,87 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-meilisearch">
-  <title>Meilisearch</title>
-  <para>
-    Meilisearch is a lightweight, fast and powerful search engine. Think
-    elastic search with a much smaller footprint.
-  </para>
-  <section xml:id="module-services-meilisearch-quickstart">
-    <title>Quickstart</title>
-    <para>
-      the minimum to start meilisearch is
-    </para>
-    <programlisting language="nix">
-services.meilisearch.enable = true;
-</programlisting>
-    <para>
-      this will start the http server included with meilisearch on port
-      7700.
-    </para>
-    <para>
-      test with
-      <literal>curl -X GET 'http://localhost:7700/health'</literal>
-    </para>
-  </section>
-  <section xml:id="module-services-meilisearch-usage">
-    <title>Usage</title>
-    <para>
-      you first need to add documents to an index before you can search
-      for documents.
-    </para>
-    <section xml:id="module-services-meilisearch-quickstart-add">
-      <title>Add a documents to the <literal>movies</literal>
-      index</title>
-      <para>
-        <literal>curl -X POST 'http://127.0.0.1:7700/indexes/movies/documents' --data '[{&quot;id&quot;: &quot;123&quot;, &quot;title&quot;: &quot;Superman&quot;}, {&quot;id&quot;: 234, &quot;title&quot;: &quot;Batman&quot;}]'</literal>
-      </para>
-    </section>
-    <section xml:id="module-services-meilisearch-quickstart-search">
-      <title>Search documents in the <literal>movies</literal>
-      index</title>
-      <para>
-        <literal>curl 'http://127.0.0.1:7700/indexes/movies/search' --data '{ &quot;q&quot;: &quot;botman&quot; }'</literal>
-        (note the typo is intentional and there to demonstrate the typo
-        tolerant capabilities)
-      </para>
-    </section>
-  </section>
-  <section xml:id="module-services-meilisearch-defaults">
-    <title>Defaults</title>
-    <itemizedlist>
-      <listitem>
-        <para>
-          The default nixos package doesn’t come with the
-          <link xlink:href="https://docs.meilisearch.com/learn/getting_started/quick_start.html#search">dashboard</link>,
-          since the dashboard features makes some assets downloads at
-          compile time.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Anonimized Analytics sent to meilisearch are disabled by
-          default.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Default deployment is development mode. It doesn’t require a
-          secret master key. All routes are not protected and
-          accessible.
-        </para>
-      </listitem>
-    </itemizedlist>
-  </section>
-  <section xml:id="module-services-meilisearch-missing">
-    <title>Missing</title>
-    <itemizedlist spacing="compact">
-      <listitem>
-        <para>
-          the snapshot feature is not yet configurable from the module,
-          it’s just a matter of adding the relevant environment
-          variables.
-        </para>
-      </listitem>
-    </itemizedlist>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/web-apps/akkoma.nix b/nixos/modules/services/web-apps/akkoma.nix
index 47ba53e4222..fc482ff32de 100644
--- a/nixos/modules/services/web-apps/akkoma.nix
+++ b/nixos/modules/services/web-apps/akkoma.nix
@@ -1082,5 +1082,5 @@ in {
   };
 
   meta.maintainers = with maintainers; [ mvs ];
-  meta.doc = ./akkoma.xml;
+  meta.doc = ./akkoma.md;
 }
diff --git a/nixos/modules/services/web-apps/akkoma.xml b/nixos/modules/services/web-apps/akkoma.xml
deleted file mode 100644
index 49cbcc911e1..00000000000
--- a/nixos/modules/services/web-apps/akkoma.xml
+++ /dev/null
@@ -1,398 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-akkoma">
-  <title>Akkoma</title>
-  <para>
-    <link xlink:href="https://akkoma.dev/">Akkoma</link> is a
-    lightweight ActivityPub microblogging server forked from Pleroma.
-  </para>
-  <section xml:id="modules-services-akkoma-service-configuration">
-    <title>Service configuration</title>
-    <para>
-      The Elixir configuration file required by Akkoma is generated
-      automatically from
-      <link xlink:href="options.html#opt-services.akkoma.config"><option>services.akkoma.config</option></link>.
-      Secrets must be included from external files outside of the Nix
-      store by setting the configuration option to an attribute set
-      containing the attribute <option>_secret</option> – a string
-      pointing to the file containing the actual value of the option.
-    </para>
-    <para>
-      For the mandatory configuration settings these secrets will be
-      generated automatically if the referenced file does not exist
-      during startup, unless disabled through
-      <link xlink:href="options.html#opt-services.akkoma.initSecrets"><option>services.akkoma.initSecrets</option></link>.
-    </para>
-    <para>
-      The following configuration binds Akkoma to the Unix socket
-      <literal>/run/akkoma/socket</literal>, expecting to be run behind
-      a HTTP proxy on <literal>fediverse.example.com</literal>.
-    </para>
-    <programlisting language="nix">
-services.akkoma.enable = true;
-services.akkoma.config = {
-  &quot;:pleroma&quot; = {
-    &quot;:instance&quot; = {
-      name = &quot;My Akkoma instance&quot;;
-      description = &quot;More detailed description&quot;;
-      email = &quot;admin@example.com&quot;;
-      registration_open = false;
-    };
-
-    &quot;Pleroma.Web.Endpoint&quot; = {
-      url.host = &quot;fediverse.example.com&quot;;
-    };
-  };
-};
-</programlisting>
-    <para>
-      Please refer to the
-      <link xlink:href="https://docs.akkoma.dev/stable/configuration/cheatsheet/">configuration
-      cheat sheet</link> for additional configuration options.
-    </para>
-  </section>
-  <section xml:id="modules-services-akkoma-user-management">
-    <title>User management</title>
-    <para>
-      After the Akkoma service is running, the administration utility
-      can be used to
-      <link xlink:href="https://docs.akkoma.dev/stable/administration/CLI_tasks/user/">manage
-      users</link>. In particular an administrative user can be created
-      with
-    </para>
-    <programlisting>
-$ pleroma_ctl user new &lt;nickname&gt; &lt;email&gt; --admin --moderator --password &lt;password&gt;
-</programlisting>
-  </section>
-  <section xml:id="modules-services-akkoma-proxy-configuration">
-    <title>Proxy configuration</title>
-    <para>
-      Although it is possible to expose Akkoma directly, it is common
-      practice to operate it behind an HTTP reverse proxy such as nginx.
-    </para>
-    <programlisting language="nix">
-services.akkoma.nginx = {
-  enableACME = true;
-  forceSSL = true;
-};
-
-services.nginx = {
-  enable = true;
-
-  clientMaxBodySize = &quot;16m&quot;;
-  recommendedTlsSettings = true;
-  recommendedOptimisation = true;
-  recommendedGzipSettings = true;
-};
-</programlisting>
-    <para>
-      Please refer to <xref linkend="module-security-acme" /> for
-      details on how to provision an SSL/TLS certificate.
-    </para>
-    <section xml:id="modules-services-akkoma-media-proxy">
-      <title>Media proxy</title>
-      <para>
-        Without the media proxy function, Akkoma does not store any
-        remote media like pictures or video locally, and clients have to
-        fetch them directly from the source server.
-      </para>
-      <programlisting language="nix">
-# Enable nginx slice module distributed with Tengine
-services.nginx.package = pkgs.tengine;
-
-# Enable media proxy
-services.akkoma.config.&quot;:pleroma&quot;.&quot;:media_proxy&quot; = {
-  enabled = true;
-  proxy_opts.redirect_on_failure = true;
-};
-
-# Adjust the persistent cache size as needed:
-#  Assuming an average object size of 128 KiB, around 1 MiB
-#  of memory is required for the key zone per GiB of cache.
-# Ensure that the cache directory exists and is writable by nginx.
-services.nginx.commonHttpConfig = ''
-  proxy_cache_path /var/cache/nginx/cache/akkoma-media-cache
-    levels= keys_zone=akkoma_media_cache:16m max_size=16g
-    inactive=1y use_temp_path=off;
-'';
-
-services.akkoma.nginx = {
-  locations.&quot;/proxy&quot; = {
-    proxyPass = &quot;http://unix:/run/akkoma/socket&quot;;
-
-    extraConfig = ''
-      proxy_cache akkoma_media_cache;
-
-      # Cache objects in slices of 1 MiB
-      slice 1m;
-      proxy_cache_key $host$uri$is_args$args$slice_range;
-      proxy_set_header Range $slice_range;
-
-      # Decouple proxy and upstream responses
-      proxy_buffering on;
-      proxy_cache_lock on;
-      proxy_ignore_client_abort on;
-
-      # Default cache times for various responses
-      proxy_cache_valid 200 1y;
-      proxy_cache_valid 206 301 304 1h;
-
-      # Allow serving of stale items
-      proxy_cache_use_stale error timeout invalid_header updating;
-    '';
-  };
-};
-</programlisting>
-      <section xml:id="modules-services-akkoma-prefetch-remote-media">
-        <title>Prefetch remote media</title>
-        <para>
-          The following example enables the
-          <literal>MediaProxyWarmingPolicy</literal> MRF policy which
-          automatically fetches all media associated with a post through
-          the media proxy, as soon as the post is received by the
-          instance.
-        </para>
-        <programlisting language="nix">
-services.akkoma.config.&quot;:pleroma&quot;.&quot;:mrf&quot;.policies =
-  map (pkgs.formats.elixirConf { }).lib.mkRaw [
-    &quot;Pleroma.Web.ActivityPub.MRF.MediaProxyWarmingPolicy&quot;
-];
-</programlisting>
-      </section>
-      <section xml:id="modules-services-akkoma-media-previews">
-        <title>Media previews</title>
-        <para>
-          Akkoma can generate previews for media.
-        </para>
-        <programlisting language="nix">
-services.akkoma.config.&quot;:pleroma&quot;.&quot;:media_preview_proxy&quot; = {
-  enabled = true;
-  thumbnail_max_width = 1920;
-  thumbnail_max_height = 1080;
-};
-</programlisting>
-      </section>
-    </section>
-  </section>
-  <section xml:id="modules-services-akkoma-frontend-management">
-    <title>Frontend management</title>
-    <para>
-      Akkoma will be deployed with the <literal>pleroma-fe</literal> and
-      <literal>admin-fe</literal> frontends by default. These can be
-      modified by setting
-      <link xlink:href="options.html#opt-services.akkoma.frontends"><option>services.akkoma.frontends</option></link>.
-    </para>
-    <para>
-      The following example overrides the primary frontend’s default
-      configuration using a custom derivation.
-    </para>
-    <programlisting language="nix">
-services.akkoma.frontends.primary.package = pkgs.runCommand &quot;pleroma-fe&quot; {
-  config = builtins.toJSON {
-    expertLevel = 1;
-    collapseMessageWithSubject = false;
-    stopGifs = false;
-    replyVisibility = &quot;following&quot;;
-    webPushHideIfCW = true;
-    hideScopeNotice = true;
-    renderMisskeyMarkdown = false;
-    hideSiteFavicon = true;
-    postContentType = &quot;text/markdown&quot;;
-    showNavShortcuts = false;
-  };
-  nativeBuildInputs = with pkgs; [ jq xorg.lndir ];
-  passAsFile = [ &quot;config&quot; ];
-} ''
-  mkdir $out
-  lndir ${pkgs.akkoma-frontends.pleroma-fe} $out
-
-  rm $out/static/config.json
-  jq -s add ${pkgs.akkoma-frontends.pleroma-fe}/static/config.json ${config} \
-    &gt;$out/static/config.json
-'';
-</programlisting>
-  </section>
-  <section xml:id="modules-services-akkoma-federation-policies">
-    <title>Federation policies</title>
-    <para>
-      Akkoma comes with a number of modules to police federation with
-      other ActivityPub instances. The most valuable for typical users
-      is the
-      <link xlink:href="https://docs.akkoma.dev/stable/configuration/cheatsheet/#mrf_simple"><literal>:mrf_simple</literal></link>
-      module which allows limiting federation based on instance
-      hostnames.
-    </para>
-    <para>
-      This configuration snippet provides an example on how these can be
-      used. Choosing an adequate federation policy is not trivial and
-      entails finding a balance between connectivity to the rest of the
-      fediverse and providing a pleasant experience to the users of an
-      instance.
-    </para>
-    <programlisting language="nix">
-services.akkoma.config.&quot;:pleroma&quot; = with (pkgs.formats.elixirConf { }).lib; {
-  &quot;:mrf&quot;.policies = map mkRaw [
-    &quot;Pleroma.Web.ActivityPub.MRF.SimplePolicy&quot;
-  ];
-
-  &quot;:mrf_simple&quot; = {
-    # Tag all media as sensitive
-    media_nsfw = mkMap {
-      &quot;nsfw.weird.kinky&quot; = &quot;Untagged NSFW content&quot;;
-    };
-
-    # Reject all activities except deletes
-    reject = mkMap {
-      &quot;kiwifarms.cc&quot; = &quot;Persistent harassment of users, no moderation&quot;;
-    };
-
-    # Force posts to be visible by followers only
-    followers_only = mkMap {
-      &quot;beta.birdsite.live&quot; = &quot;Avoid polluting timelines with Twitter posts&quot;;
-    };
-  };
-};
-</programlisting>
-  </section>
-  <section xml:id="modules-services-akkoma-upload-filters">
-    <title>Upload filters</title>
-    <para>
-      This example strips GPS and location metadata from uploads,
-      deduplicates them and anonymises the the file name.
-    </para>
-    <programlisting language="nix">
-services.akkoma.config.&quot;:pleroma&quot;.&quot;Pleroma.Upload&quot;.filters =
-  map (pkgs.formats.elixirConf { }).lib.mkRaw [
-    &quot;Pleroma.Upload.Filter.Exiftool&quot;
-    &quot;Pleroma.Upload.Filter.Dedupe&quot;
-    &quot;Pleroma.Upload.Filter.AnonymizeFilename&quot;
-  ];
-</programlisting>
-  </section>
-  <section xml:id="modules-services-akkoma-migration-pleroma">
-    <title>Migration from Pleroma</title>
-    <para>
-      Pleroma instances can be migrated to Akkoma either by copying the
-      database and upload data or by pointing Akkoma to the existing
-      data. The necessary database migrations are run automatically
-      during startup of the service.
-    </para>
-    <para>
-      The configuration has to be copy‐edited manually.
-    </para>
-    <para>
-      Depending on the size of the database, the initial migration may
-      take a long time and exceed the startup timeout of the system
-      manager. To work around this issue one may adjust the startup
-      timeout
-      <option>systemd.services.akkoma.serviceConfig.TimeoutStartSec</option>
-      or simply run the migrations manually:
-    </para>
-    <programlisting>
-pleroma_ctl migrate
-</programlisting>
-    <section xml:id="modules-services-akkoma-migration-pleroma-copy">
-      <title>Copying data</title>
-      <para>
-        Copying the Pleroma data instead of re‐using it in place may
-        permit easier reversion to Pleroma, but allows the two data sets
-        to diverge.
-      </para>
-      <para>
-        First disable Pleroma and then copy its database and upload
-        data:
-      </para>
-      <programlisting>
-# Create a copy of the database
-nix-shell -p postgresql --run 'createdb -T pleroma akkoma'
-
-# Copy upload data
-mkdir /var/lib/akkoma
-cp -R --reflink=auto /var/lib/pleroma/uploads /var/lib/akkoma/
-</programlisting>
-      <para>
-        After the data has been copied, enable the Akkoma service and
-        verify that the migration has been successful. If no longer
-        required, the original data may then be deleted:
-      </para>
-      <programlisting>
-# Delete original database
-nix-shell -p postgresql --run 'dropdb pleroma'
-
-# Delete original Pleroma state
-rm -r /var/lib/pleroma
-</programlisting>
-    </section>
-    <section xml:id="modules-services-akkoma-migration-pleroma-reuse">
-      <title>Re‐using data</title>
-      <para>
-        To re‐use the Pleroma data in place, disable Pleroma and enable
-        Akkoma, pointing it to the Pleroma database and upload
-        directory.
-      </para>
-      <programlisting language="nix">
-# Adjust these settings according to the database name and upload directory path used by Pleroma
-services.akkoma.config.&quot;:pleroma&quot;.&quot;Pleroma.Repo&quot;.database = &quot;pleroma&quot;;
-services.akkoma.config.&quot;:pleroma&quot;.&quot;:instance&quot;.upload_dir = &quot;/var/lib/pleroma/uploads&quot;;
-</programlisting>
-      <para>
-        Please keep in mind that after the Akkoma service has been
-        started, any migrations applied by Akkoma have to be rolled back
-        before the database can be used again with Pleroma. This can be
-        achieved through <literal>pleroma_ctl ecto.rollback</literal>.
-        Refer to the
-        <link xlink:href="https://hexdocs.pm/ecto_sql/Mix.Tasks.Ecto.Rollback.html">Ecto
-        SQL documentation</link> for details.
-      </para>
-    </section>
-  </section>
-  <section xml:id="modules-services-akkoma-advanced-deployment">
-    <title>Advanced deployment options</title>
-    <section xml:id="modules-services-akkoma-confinement">
-      <title>Confinement</title>
-      <para>
-        The Akkoma systemd service may be confined to a chroot with
-      </para>
-      <programlisting language="nix">
-services.systemd.akkoma.confinement.enable = true;
-</programlisting>
-      <para>
-        Confinement of services is not generally supported in NixOS and
-        therefore disabled by default. Depending on the Akkoma
-        configuration, the default confinement settings may be
-        insufficient and lead to subtle errors at run time, requiring
-        adjustment:
-      </para>
-      <para>
-        Use
-        <link xlink:href="options.html#opt-systemd.services._name_.confinement.packages"><option>services.systemd.akkoma.confinement.packages</option></link>
-        to make packages available in the chroot.
-      </para>
-      <para>
-        <option>services.systemd.akkoma.serviceConfig.BindPaths</option>
-        and
-        <option>services.systemd.akkoma.serviceConfig.BindReadOnlyPaths</option>
-        permit access to outside paths through bind mounts. Refer to
-        <link xlink:href="https://www.freedesktop.org/software/systemd/man/systemd.exec.html#BindPaths="><citerefentry><refentrytitle>systemd.exec</refentrytitle><manvolnum>5</manvolnum></citerefentry></link>
-        for details.
-      </para>
-    </section>
-    <section xml:id="modules-services-akkoma-distributed-deployment">
-      <title>Distributed deployment</title>
-      <para>
-        Being an Elixir application, Akkoma can be deployed in a
-        distributed fashion.
-      </para>
-      <para>
-        This requires setting
-        <link xlink:href="options.html#opt-services.akkoma.dist.address"><option>services.akkoma.dist.address</option></link>
-        and
-        <link xlink:href="options.html#opt-services.akkoma.dist.cookie"><option>services.akkoma.dist.cookie</option></link>.
-        The specifics depend strongly on the deployment environment. For
-        more information please check the relevant
-        <link xlink:href="https://www.erlang.org/doc/reference_manual/distributed.html">Erlang
-        documentation</link>.
-      </para>
-    </section>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/web-apps/discourse.nix b/nixos/modules/services/web-apps/discourse.nix
index b8104ade467..5565a4f45d1 100644
--- a/nixos/modules/services/web-apps/discourse.nix
+++ b/nixos/modules/services/web-apps/discourse.nix
@@ -1080,6 +1080,6 @@ in
     ];
   };
 
-  meta.doc = ./discourse.xml;
+  meta.doc = ./discourse.md;
   meta.maintainers = [ lib.maintainers.talyz ];
 }
diff --git a/nixos/modules/services/web-apps/discourse.xml b/nixos/modules/services/web-apps/discourse.xml
deleted file mode 100644
index a5e8b3656b7..00000000000
--- a/nixos/modules/services/web-apps/discourse.xml
+++ /dev/null
@@ -1,331 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-discourse">
-  <title>Discourse</title>
-  <para>
-    <link xlink:href="https://www.discourse.org/">Discourse</link> is a
-    modern and open source discussion platform.
-  </para>
-  <section xml:id="module-services-discourse-basic-usage">
-    <title>Basic usage</title>
-    <para>
-      A minimal configuration using Let’s Encrypt for TLS certificates
-      looks like this:
-    </para>
-    <programlisting>
-services.discourse = {
-  enable = true;
-  hostname = &quot;discourse.example.com&quot;;
-  admin = {
-    email = &quot;admin@example.com&quot;;
-    username = &quot;admin&quot;;
-    fullName = &quot;Administrator&quot;;
-    passwordFile = &quot;/path/to/password_file&quot;;
-  };
-  secretKeyBaseFile = &quot;/path/to/secret_key_base_file&quot;;
-};
-security.acme.email = &quot;me@example.com&quot;;
-security.acme.acceptTerms = true;
-</programlisting>
-    <para>
-      Provided a proper DNS setup, you’ll be able to connect to the
-      instance at <literal>discourse.example.com</literal> and log in
-      using the credentials provided in
-      <literal>services.discourse.admin</literal>.
-    </para>
-  </section>
-  <section xml:id="module-services-discourse-tls">
-    <title>Using a regular TLS certificate</title>
-    <para>
-      To set up TLS using a regular certificate and key on file, use the
-      <xref linkend="opt-services.discourse.sslCertificate" /> and
-      <xref linkend="opt-services.discourse.sslCertificateKey" />
-      options:
-    </para>
-    <programlisting>
-services.discourse = {
-  enable = true;
-  hostname = &quot;discourse.example.com&quot;;
-  sslCertificate = &quot;/path/to/ssl_certificate&quot;;
-  sslCertificateKey = &quot;/path/to/ssl_certificate_key&quot;;
-  admin = {
-    email = &quot;admin@example.com&quot;;
-    username = &quot;admin&quot;;
-    fullName = &quot;Administrator&quot;;
-    passwordFile = &quot;/path/to/password_file&quot;;
-  };
-  secretKeyBaseFile = &quot;/path/to/secret_key_base_file&quot;;
-};
-</programlisting>
-  </section>
-  <section xml:id="module-services-discourse-database">
-    <title>Database access</title>
-    <para>
-      Discourse uses PostgreSQL to store most of its data. A database
-      will automatically be enabled and a database and role created
-      unless <xref linkend="opt-services.discourse.database.host" /> is
-      changed from its default of <literal>null</literal> or
-      <xref linkend="opt-services.discourse.database.createLocally" />
-      is set to <literal>false</literal>.
-    </para>
-    <para>
-      External database access can also be configured by setting
-      <xref linkend="opt-services.discourse.database.host" />,
-      <xref linkend="opt-services.discourse.database.username" /> and
-      <xref linkend="opt-services.discourse.database.passwordFile" /> as
-      appropriate. Note that you need to manually create a database
-      called <literal>discourse</literal> (or the name you chose in
-      <xref linkend="opt-services.discourse.database.name" />) and allow
-      the configured database user full access to it.
-    </para>
-  </section>
-  <section xml:id="module-services-discourse-mail">
-    <title>Email</title>
-    <para>
-      In addition to the basic setup, you’ll want to configure an SMTP
-      server Discourse can use to send user registration and password
-      reset emails, among others. You can also optionally let Discourse
-      receive email, which enables people to reply to threads and
-      conversations via email.
-    </para>
-    <para>
-      A basic setup which assumes you want to use your configured
-      <link linkend="opt-services.discourse.hostname">hostname</link> as
-      email domain can be done like this:
-    </para>
-    <programlisting>
-services.discourse = {
-  enable = true;
-  hostname = &quot;discourse.example.com&quot;;
-  sslCertificate = &quot;/path/to/ssl_certificate&quot;;
-  sslCertificateKey = &quot;/path/to/ssl_certificate_key&quot;;
-  admin = {
-    email = &quot;admin@example.com&quot;;
-    username = &quot;admin&quot;;
-    fullName = &quot;Administrator&quot;;
-    passwordFile = &quot;/path/to/password_file&quot;;
-  };
-  mail.outgoing = {
-    serverAddress = &quot;smtp.emailprovider.com&quot;;
-    port = 587;
-    username = &quot;user@emailprovider.com&quot;;
-    passwordFile = &quot;/path/to/smtp_password_file&quot;;
-  };
-  mail.incoming.enable = true;
-  secretKeyBaseFile = &quot;/path/to/secret_key_base_file&quot;;
-};
-</programlisting>
-    <para>
-      This assumes you have set up an MX record for the address you’ve
-      set in
-      <link linkend="opt-services.discourse.hostname">hostname</link>
-      and requires proper SPF, DKIM and DMARC configuration to be done
-      for the domain you’re sending from, in order for email to be
-      reliably delivered.
-    </para>
-    <para>
-      If you want to use a different domain for your outgoing email (for
-      example <literal>example.com</literal> instead of
-      <literal>discourse.example.com</literal>) you should set
-      <xref linkend="opt-services.discourse.mail.notificationEmailAddress" />
-      and
-      <xref linkend="opt-services.discourse.mail.contactEmailAddress" />
-      manually.
-    </para>
-    <note>
-      <para>
-        Setup of TLS for incoming email is currently only configured
-        automatically when a regular TLS certificate is used, i.e. when
-        <xref linkend="opt-services.discourse.sslCertificate" /> and
-        <xref linkend="opt-services.discourse.sslCertificateKey" /> are
-        set.
-      </para>
-    </note>
-  </section>
-  <section xml:id="module-services-discourse-settings">
-    <title>Additional settings</title>
-    <para>
-      Additional site settings and backend settings, for which no
-      explicit NixOS options are provided, can be set in
-      <xref linkend="opt-services.discourse.siteSettings" /> and
-      <xref linkend="opt-services.discourse.backendSettings" />
-      respectively.
-    </para>
-    <section xml:id="module-services-discourse-site-settings">
-      <title>Site settings</title>
-      <para>
-        <quote>Site settings</quote> are the settings that can be
-        changed through the Discourse UI. Their
-        <emphasis>default</emphasis> values can be set using
-        <xref linkend="opt-services.discourse.siteSettings" />.
-      </para>
-      <para>
-        Settings are expressed as a Nix attribute set which matches the
-        structure of the configuration in
-        <link xlink:href="https://github.com/discourse/discourse/blob/master/config/site_settings.yml">config/site_settings.yml</link>.
-        To find a setting’s path, you only need to care about the first
-        two levels; i.e. its category (e.g. <literal>login</literal>)
-        and name (e.g. <literal>invite_only</literal>).
-      </para>
-      <para>
-        Settings containing secret data should be set to an attribute
-        set containing the attribute <literal>_secret</literal> - a
-        string pointing to a file containing the value the option should
-        be set to. See the example.
-      </para>
-    </section>
-    <section xml:id="module-services-discourse-backend-settings">
-      <title>Backend settings</title>
-      <para>
-        Settings are expressed as a Nix attribute set which matches the
-        structure of the configuration in
-        <link xlink:href="https://github.com/discourse/discourse/blob/stable/config/discourse_defaults.conf">config/discourse.conf</link>.
-        Empty parameters can be defined by setting them to
-        <literal>null</literal>.
-      </para>
-    </section>
-    <section xml:id="module-services-discourse-settings-example">
-      <title>Example</title>
-      <para>
-        The following example sets the title and description of the
-        Discourse instance and enables GitHub login in the site
-        settings, and changes a few request limits in the backend
-        settings:
-      </para>
-      <programlisting>
-services.discourse = {
-  enable = true;
-  hostname = &quot;discourse.example.com&quot;;
-  sslCertificate = &quot;/path/to/ssl_certificate&quot;;
-  sslCertificateKey = &quot;/path/to/ssl_certificate_key&quot;;
-  admin = {
-    email = &quot;admin@example.com&quot;;
-    username = &quot;admin&quot;;
-    fullName = &quot;Administrator&quot;;
-    passwordFile = &quot;/path/to/password_file&quot;;
-  };
-  mail.outgoing = {
-    serverAddress = &quot;smtp.emailprovider.com&quot;;
-    port = 587;
-    username = &quot;user@emailprovider.com&quot;;
-    passwordFile = &quot;/path/to/smtp_password_file&quot;;
-  };
-  mail.incoming.enable = true;
-  siteSettings = {
-    required = {
-      title = &quot;My Cats&quot;;
-      site_description = &quot;Discuss My Cats (and be nice plz)&quot;;
-    };
-    login = {
-      enable_github_logins = true;
-      github_client_id = &quot;a2f6dfe838cb3206ce20&quot;;
-      github_client_secret._secret = /run/keys/discourse_github_client_secret;
-    };
-  };
-  backendSettings = {
-    max_reqs_per_ip_per_minute = 300;
-    max_reqs_per_ip_per_10_seconds = 60;
-    max_asset_reqs_per_ip_per_10_seconds = 250;
-    max_reqs_per_ip_mode = &quot;warn+block&quot;;
-  };
-  secretKeyBaseFile = &quot;/path/to/secret_key_base_file&quot;;
-};
-</programlisting>
-      <para>
-        In the resulting site settings file, the
-        <literal>login.github_client_secret</literal> key will be set to
-        the contents of the
-        <filename>/run/keys/discourse_github_client_secret</filename>
-        file.
-      </para>
-    </section>
-  </section>
-  <section xml:id="module-services-discourse-plugins">
-    <title>Plugins</title>
-    <para>
-      You can install Discourse plugins using the
-      <xref linkend="opt-services.discourse.plugins" /> option.
-      Pre-packaged plugins are provided in
-      <literal>&lt;your_discourse_package_here&gt;.plugins</literal>. If
-      you want the full suite of plugins provided through
-      <literal>nixpkgs</literal>, you can also set the
-      <xref linkend="opt-services.discourse.package" /> option to
-      <literal>pkgs.discourseAllPlugins</literal>.
-    </para>
-    <para>
-      Plugins can be built with the
-      <literal>&lt;your_discourse_package_here&gt;.mkDiscoursePlugin</literal>
-      function. Normally, it should suffice to provide a
-      <literal>name</literal> and <literal>src</literal> attribute. If
-      the plugin has Ruby dependencies, however, they need to be
-      packaged in accordance with the
-      <link xlink:href="https://nixos.org/manual/nixpkgs/stable/#developing-with-ruby">Developing
-      with Ruby</link> section of the Nixpkgs manual and the appropriate
-      gem options set in <literal>bundlerEnvArgs</literal> (normally
-      <literal>gemdir</literal> is sufficient). A plugin’s Ruby
-      dependencies are listed in its <filename>plugin.rb</filename> file
-      as function calls to <literal>gem</literal>. To construct the
-      corresponding <filename>Gemfile</filename> manually, run
-      <command>bundle init</command>, then add the
-      <literal>gem</literal> lines to it verbatim.
-    </para>
-    <para>
-      Much of the packaging can be done automatically by the
-      <filename>nixpkgs/pkgs/servers/web-apps/discourse/update.py</filename>
-      script - just add the plugin to the <literal>plugins</literal>
-      list in the <literal>update_plugins</literal> function and run the
-      script:
-    </para>
-    <programlisting language="bash">
-./update.py update-plugins
-</programlisting>
-    <para>
-      Some plugins provide
-      <link linkend="module-services-discourse-site-settings">site
-      settings</link>. Their defaults can be configured using
-      <xref linkend="opt-services.discourse.siteSettings" />, just like
-      regular site settings. To find the names of these settings, look
-      in the <literal>config/settings.yml</literal> file of the plugin
-      repo.
-    </para>
-    <para>
-      For example, to add the
-      <link xlink:href="https://github.com/discourse/discourse-spoiler-alert">discourse-spoiler-alert</link>
-      and
-      <link xlink:href="https://github.com/discourse/discourse-solved">discourse-solved</link>
-      plugins, and disable <literal>discourse-spoiler-alert</literal> by
-      default:
-    </para>
-    <programlisting>
-services.discourse = {
-  enable = true;
-  hostname = &quot;discourse.example.com&quot;;
-  sslCertificate = &quot;/path/to/ssl_certificate&quot;;
-  sslCertificateKey = &quot;/path/to/ssl_certificate_key&quot;;
-  admin = {
-    email = &quot;admin@example.com&quot;;
-    username = &quot;admin&quot;;
-    fullName = &quot;Administrator&quot;;
-    passwordFile = &quot;/path/to/password_file&quot;;
-  };
-  mail.outgoing = {
-    serverAddress = &quot;smtp.emailprovider.com&quot;;
-    port = 587;
-    username = &quot;user@emailprovider.com&quot;;
-    passwordFile = &quot;/path/to/smtp_password_file&quot;;
-  };
-  mail.incoming.enable = true;
-  plugins = with config.services.discourse.package.plugins; [
-    discourse-spoiler-alert
-    discourse-solved
-  ];
-  siteSettings = {
-    plugins = {
-      spoiler_enabled = false;
-    };
-  };
-  secretKeyBaseFile = &quot;/path/to/secret_key_base_file&quot;;
-};
-</programlisting>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/web-apps/grocy.nix b/nixos/modules/services/web-apps/grocy.nix
index 6efc2ccfd30..3bcda3caeda 100644
--- a/nixos/modules/services/web-apps/grocy.nix
+++ b/nixos/modules/services/web-apps/grocy.nix
@@ -167,6 +167,6 @@ in {
 
   meta = {
     maintainers = with maintainers; [ ma27 ];
-    doc = ./grocy.xml;
+    doc = ./grocy.md;
   };
 }
diff --git a/nixos/modules/services/web-apps/grocy.xml b/nixos/modules/services/web-apps/grocy.xml
deleted file mode 100644
index 08de25b4ce2..00000000000
--- a/nixos/modules/services/web-apps/grocy.xml
+++ /dev/null
@@ -1,84 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-grocy">
-  <title>Grocy</title>
-  <para>
-    <link xlink:href="https://grocy.info/">Grocy</link> is a web-based
-    self-hosted groceries &amp; household management solution for your
-    home.
-  </para>
-  <section xml:id="module-services-grocy-basic-usage">
-    <title>Basic usage</title>
-    <para>
-      A very basic configuration may look like this:
-    </para>
-    <programlisting>
-{ pkgs, ... }:
-{
-  services.grocy = {
-    enable = true;
-    hostName = &quot;grocy.tld&quot;;
-  };
-}
-</programlisting>
-    <para>
-      This configures a simple vhost using
-      <link linkend="opt-services.nginx.enable">nginx</link> which
-      listens to <literal>grocy.tld</literal> with fully configured
-      ACME/LE (this can be disabled by setting
-      <link linkend="opt-services.grocy.nginx.enableSSL">services.grocy.nginx.enableSSL</link>
-      to <literal>false</literal>). After the initial setup the
-      credentials <literal>admin:admin</literal> can be used to login.
-    </para>
-    <para>
-      The application’s state is persisted at
-      <literal>/var/lib/grocy/grocy.db</literal> in a
-      <literal>sqlite3</literal> database. The migration is applied when
-      requesting the <literal>/</literal>-route of the application.
-    </para>
-  </section>
-  <section xml:id="module-services-grocy-settings">
-    <title>Settings</title>
-    <para>
-      The configuration for <literal>grocy</literal> is located at
-      <literal>/etc/grocy/config.php</literal>. By default, the
-      following settings can be defined in the NixOS-configuration:
-    </para>
-    <programlisting>
-{ pkgs, ... }:
-{
-  services.grocy.settings = {
-    # The default currency in the system for invoices etc.
-    # Please note that exchange rates aren't taken into account, this
-    # is just the setting for what's shown in the frontend.
-    currency = &quot;EUR&quot;;
-
-    # The display language (and locale configuration) for grocy.
-    culture = &quot;de&quot;;
-
-    calendar = {
-      # Whether or not to show the week-numbers
-      # in the calendar.
-      showWeekNumber = true;
-
-      # Index of the first day to be shown in the calendar (0=Sunday, 1=Monday,
-      # 2=Tuesday and so on).
-      firstDayOfWeek = 2;
-    };
-  };
-}
-</programlisting>
-    <para>
-      If you want to alter the configuration file on your own, you can
-      do this manually with an expression like this:
-    </para>
-    <programlisting>
-{ lib, ... }:
-{
-  environment.etc.&quot;grocy/config.php&quot;.text = lib.mkAfter ''
-    // Arbitrary PHP code in grocy's configuration file
-  '';
-}
-</programlisting>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/web-apps/jitsi-meet.nix b/nixos/modules/services/web-apps/jitsi-meet.nix
index 5b0934b2fb7..28be3a3702e 100644
--- a/nixos/modules/services/web-apps/jitsi-meet.nix
+++ b/nixos/modules/services/web-apps/jitsi-meet.nix
@@ -451,6 +451,6 @@ in
     };
   };
 
-  meta.doc = ./jitsi-meet.xml;
+  meta.doc = ./jitsi-meet.md;
   meta.maintainers = lib.teams.jitsi.members;
 }
diff --git a/nixos/modules/services/web-apps/jitsi-meet.xml b/nixos/modules/services/web-apps/jitsi-meet.xml
deleted file mode 100644
index 4d2d8aa55e1..00000000000
--- a/nixos/modules/services/web-apps/jitsi-meet.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-jitsi-meet">
-  <title>Jitsi Meet</title>
-  <para>
-    With Jitsi Meet on NixOS you can quickly configure a complete,
-    private, self-hosted video conferencing solution.
-  </para>
-  <section xml:id="module-services-jitsi-basic-usage">
-    <title>Basic usage</title>
-    <para>
-      A minimal configuration using Let’s Encrypt for TLS certificates
-      looks like this:
-    </para>
-    <programlisting>
-{
-  services.jitsi-meet = {
-    enable = true;
-    hostName = &quot;jitsi.example.com&quot;;
-  };
-  services.jitsi-videobridge.openFirewall = true;
-  networking.firewall.allowedTCPPorts = [ 80 443 ];
-  security.acme.email = &quot;me@example.com&quot;;
-  security.acme.acceptTerms = true;
-}
-</programlisting>
-  </section>
-  <section xml:id="module-services-jitsi-configuration">
-    <title>Configuration</title>
-    <para>
-      Here is the minimal configuration with additional configurations:
-    </para>
-    <programlisting>
-{
-  services.jitsi-meet = {
-    enable = true;
-    hostName = &quot;jitsi.example.com&quot;;
-    config = {
-      enableWelcomePage = false;
-      prejoinPageEnabled = true;
-      defaultLang = &quot;fi&quot;;
-    };
-    interfaceConfig = {
-      SHOW_JITSI_WATERMARK = false;
-      SHOW_WATERMARK_FOR_GUESTS = false;
-    };
-  };
-  services.jitsi-videobridge.openFirewall = true;
-  networking.firewall.allowedTCPPorts = [ 80 443 ];
-  security.acme.email = &quot;me@example.com&quot;;
-  security.acme.acceptTerms = true;
-}
-</programlisting>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/web-apps/keycloak.nix b/nixos/modules/services/web-apps/keycloak.nix
index d52190a2864..a7e4fab8ea2 100644
--- a/nixos/modules/services/web-apps/keycloak.nix
+++ b/nixos/modules/services/web-apps/keycloak.nix
@@ -674,6 +674,6 @@ in
           mkIf createLocalMySQL (mkDefault dbPkg);
       };
 
-  meta.doc = ./keycloak.xml;
+  meta.doc = ./keycloak.md;
   meta.maintainers = [ maintainers.talyz ];
 }
diff --git a/nixos/modules/services/web-apps/keycloak.xml b/nixos/modules/services/web-apps/keycloak.xml
deleted file mode 100644
index 148782d30f3..00000000000
--- a/nixos/modules/services/web-apps/keycloak.xml
+++ /dev/null
@@ -1,177 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-keycloak">
-  <title>Keycloak</title>
-  <para>
-    <link xlink:href="https://www.keycloak.org/">Keycloak</link> is an
-    open source identity and access management server with support for
-    <link xlink:href="https://openid.net/connect/">OpenID
-    Connect</link>, <link xlink:href="https://oauth.net/2/">OAUTH
-    2.0</link> and
-    <link xlink:href="https://en.wikipedia.org/wiki/SAML_2.0">SAML
-    2.0</link>.
-  </para>
-  <section xml:id="module-services-keycloak-admin">
-    <title>Administration</title>
-    <para>
-      An administrative user with the username <literal>admin</literal>
-      is automatically created in the <literal>master</literal> realm.
-      Its initial password can be configured by setting
-      <xref linkend="opt-services.keycloak.initialAdminPassword" /> and
-      defaults to <literal>changeme</literal>. The password is not
-      stored safely and should be changed immediately in the admin
-      panel.
-    </para>
-    <para>
-      Refer to the
-      <link xlink:href="https://www.keycloak.org/docs/latest/server_admin/index.html">Keycloak
-      Server Administration Guide</link> for information on how to
-      administer your Keycloak instance.
-    </para>
-  </section>
-  <section xml:id="module-services-keycloak-database">
-    <title>Database access</title>
-    <para>
-      Keycloak can be used with either PostgreSQL, MariaDB or MySQL.
-      Which one is used can be configured in
-      <xref linkend="opt-services.keycloak.database.type" />. The
-      selected database will automatically be enabled and a database and
-      role created unless
-      <xref linkend="opt-services.keycloak.database.host" /> is changed
-      from its default of <literal>localhost</literal> or
-      <xref linkend="opt-services.keycloak.database.createLocally" /> is
-      set to <literal>false</literal>.
-    </para>
-    <para>
-      External database access can also be configured by setting
-      <xref linkend="opt-services.keycloak.database.host" />,
-      <xref linkend="opt-services.keycloak.database.name" />,
-      <xref linkend="opt-services.keycloak.database.username" />,
-      <xref linkend="opt-services.keycloak.database.useSSL" /> and
-      <xref linkend="opt-services.keycloak.database.caCert" /> as
-      appropriate. Note that you need to manually create the database
-      and allow the configured database user full access to it.
-    </para>
-    <para>
-      <xref linkend="opt-services.keycloak.database.passwordFile" />
-      must be set to the path to a file containing the password used to
-      log in to the database. If
-      <xref linkend="opt-services.keycloak.database.host" /> and
-      <xref linkend="opt-services.keycloak.database.createLocally" />
-      are kept at their defaults, the database role
-      <literal>keycloak</literal> with that password is provisioned on
-      the local database instance.
-    </para>
-    <warning>
-      <para>
-        The path should be provided as a string, not a Nix path, since
-        Nix paths are copied into the world readable Nix store.
-      </para>
-    </warning>
-  </section>
-  <section xml:id="module-services-keycloak-hostname">
-    <title>Hostname</title>
-    <para>
-      The hostname is used to build the public URL used as base for all
-      frontend requests and must be configured through
-      <xref linkend="opt-services.keycloak.settings.hostname" />.
-    </para>
-    <note>
-      <para>
-        If you’re migrating an old Wildfly based Keycloak instance and
-        want to keep compatibility with your current clients, you’ll
-        likely want to set
-        <xref linkend="opt-services.keycloak.settings.http-relative-path" />
-        to <literal>/auth</literal>. See the option description for more
-        details.
-      </para>
-    </note>
-    <para>
-      <xref linkend="opt-services.keycloak.settings.hostname-strict-backchannel" />
-      determines whether Keycloak should force all requests to go
-      through the frontend URL. By default, Keycloak allows backend
-      requests to instead use its local hostname or IP address and may
-      also advertise it to clients through its OpenID Connect Discovery
-      endpoint.
-    </para>
-    <para>
-      For more information on hostname configuration, see the
-      <link xlink:href="https://www.keycloak.org/server/hostname">Hostname
-      section of the Keycloak Server Installation and Configuration
-      Guide</link>.
-    </para>
-  </section>
-  <section xml:id="module-services-keycloak-tls">
-    <title>Setting up TLS/SSL</title>
-    <para>
-      By default, Keycloak won’t accept unsecured HTTP connections
-      originating from outside its local network.
-    </para>
-    <para>
-      HTTPS support requires a TLS/SSL certificate and a private key,
-      both
-      <link xlink:href="https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail">PEM
-      formatted</link>. Their paths should be set through
-      <xref linkend="opt-services.keycloak.sslCertificate" /> and
-      <xref linkend="opt-services.keycloak.sslCertificateKey" />.
-    </para>
-    <warning>
-      <para>
-        The paths should be provided as a strings, not a Nix paths,
-        since Nix paths are copied into the world readable Nix store.
-      </para>
-    </warning>
-  </section>
-  <section xml:id="module-services-keycloak-themes">
-    <title>Themes</title>
-    <para>
-      You can package custom themes and make them visible to Keycloak
-      through <xref linkend="opt-services.keycloak.themes" />. See the
-      <link xlink:href="https://www.keycloak.org/docs/latest/server_development/#_themes">Themes
-      section of the Keycloak Server Development Guide</link> and the
-      description of the aforementioned NixOS option for more
-      information.
-    </para>
-  </section>
-  <section xml:id="module-services-keycloak-settings">
-    <title>Configuration file settings</title>
-    <para>
-      Keycloak server configuration parameters can be set in
-      <xref linkend="opt-services.keycloak.settings" />. These
-      correspond directly to options in
-      <filename>conf/keycloak.conf</filename>. Some of the most
-      important parameters are documented as suboptions, the rest can be
-      found in the
-      <link xlink:href="https://www.keycloak.org/server/all-config">All
-      configuration section of the Keycloak Server Installation and
-      Configuration Guide</link>.
-    </para>
-    <para>
-      Options containing secret data should be set to an attribute set
-      containing the attribute <literal>_secret</literal> - a string
-      pointing to a file containing the value the option should be set
-      to. See the description of
-      <xref linkend="opt-services.keycloak.settings" /> for an example.
-    </para>
-  </section>
-  <section xml:id="module-services-keycloak-example-config">
-    <title>Example configuration</title>
-    <para>
-      A basic configuration with some custom settings could look like
-      this:
-    </para>
-    <programlisting>
-services.keycloak = {
-  enable = true;
-  settings = {
-    hostname = &quot;keycloak.example.com&quot;;
-    hostname-strict-backchannel = true;
-  };
-  initialAdminPassword = &quot;e6Wcm0RrtegMEHl&quot;;  # change on first login
-  sslCertificate = &quot;/run/keys/ssl_cert&quot;;
-  sslCertificateKey = &quot;/run/keys/ssl_key&quot;;
-  database.passwordFile = &quot;/run/keys/db_password&quot;;
-};
-</programlisting>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/web-apps/lemmy.nix b/nixos/modules/services/web-apps/lemmy.nix
index f2eb6e726b9..af0fb38121a 100644
--- a/nixos/modules/services/web-apps/lemmy.nix
+++ b/nixos/modules/services/web-apps/lemmy.nix
@@ -6,7 +6,7 @@ let
 in
 {
   meta.maintainers = with maintainers; [ happysalada ];
-  meta.doc = ./lemmy.xml;
+  meta.doc = ./lemmy.md;
 
   imports = [
     (mkRemovedOptionModule [ "services" "lemmy" "jwtSecretPath" ] "As of v0.13.0, Lemmy auto-generates the JWT secret.")
diff --git a/nixos/modules/services/web-apps/lemmy.xml b/nixos/modules/services/web-apps/lemmy.xml
deleted file mode 100644
index 114e11f3488..00000000000
--- a/nixos/modules/services/web-apps/lemmy.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-lemmy">
-  <title>Lemmy</title>
-  <para>
-    Lemmy is a federated alternative to reddit in rust.
-  </para>
-  <section xml:id="module-services-lemmy-quickstart">
-    <title>Quickstart</title>
-    <para>
-      the minimum to start lemmy is
-    </para>
-    <programlisting language="nix">
-services.lemmy = {
-  enable = true;
-  settings = {
-    hostname = &quot;lemmy.union.rocks&quot;;
-    database.createLocally = true;
-  };
-  caddy.enable = true;
-}
-</programlisting>
-    <para>
-      this will start the backend on port 8536 and the frontend on port
-      1234. It will expose your instance with a caddy reverse proxy to
-      the hostname you’ve provided. Postgres will be initialized on that
-      same instance automatically.
-    </para>
-  </section>
-  <section xml:id="module-services-lemmy-usage">
-    <title>Usage</title>
-    <para>
-      On first connection you will be asked to define an admin user.
-    </para>
-  </section>
-  <section xml:id="module-services-lemmy-missing">
-    <title>Missing</title>
-    <itemizedlist spacing="compact">
-      <listitem>
-        <para>
-          Exposing with nginx is not implemented yet.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          This has been tested using a local database with a unix socket
-          connection. Using different database settings will likely
-          require modifications
-        </para>
-      </listitem>
-    </itemizedlist>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/web-apps/matomo.nix b/nixos/modules/services/web-apps/matomo.nix
index 98451065995..eadf8b62b97 100644
--- a/nixos/modules/services/web-apps/matomo.nix
+++ b/nixos/modules/services/web-apps/matomo.nix
@@ -325,7 +325,7 @@ in {
   };
 
   meta = {
-    doc = ./matomo.xml;
+    doc = ./matomo.md;
     maintainers = with lib.maintainers; [ florianjacob ];
   };
 }
diff --git a/nixos/modules/services/web-apps/matomo.xml b/nixos/modules/services/web-apps/matomo.xml
deleted file mode 100644
index 30994cc9f1d..00000000000
--- a/nixos/modules/services/web-apps/matomo.xml
+++ /dev/null
@@ -1,107 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-matomo">
-  <title>Matomo</title>
-  <para>
-    Matomo is a real-time web analytics application. This module
-    configures php-fpm as backend for Matomo, optionally configuring an
-    nginx vhost as well.
-  </para>
-  <para>
-    An automatic setup is not suported by Matomo, so you need to
-    configure Matomo itself in the browser-based Matomo setup.
-  </para>
-  <section xml:id="module-services-matomo-database-setup">
-    <title>Database Setup</title>
-    <para>
-      You also need to configure a MariaDB or MySQL database and -user
-      for Matomo yourself, and enter those credentials in your browser.
-      You can use passwordless database authentication via the
-      UNIX_SOCKET authentication plugin with the following SQL commands:
-    </para>
-    <programlisting>
-# For MariaDB
-INSTALL PLUGIN unix_socket SONAME 'auth_socket';
-CREATE DATABASE matomo;
-CREATE USER 'matomo'@'localhost' IDENTIFIED WITH unix_socket;
-GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost';
-
-# For MySQL
-INSTALL PLUGIN auth_socket SONAME 'auth_socket.so';
-CREATE DATABASE matomo;
-CREATE USER 'matomo'@'localhost' IDENTIFIED WITH auth_socket;
-GRANT ALL PRIVILEGES ON matomo.* TO 'matomo'@'localhost';
-</programlisting>
-    <para>
-      Then fill in <literal>matomo</literal> as database user and
-      database name, and leave the password field blank. This
-      authentication works by allowing only the
-      <literal>matomo</literal> unix user to authenticate as the
-      <literal>matomo</literal> database user (without needing a
-      password), but no other users. For more information on
-      passwordless login, see
-      <link xlink:href="https://mariadb.com/kb/en/mariadb/unix_socket-authentication-plugin/">https://mariadb.com/kb/en/mariadb/unix_socket-authentication-plugin/</link>.
-    </para>
-    <para>
-      Of course, you can use password based authentication as well, e.g.
-      when the database is not on the same host.
-    </para>
-  </section>
-  <section xml:id="module-services-matomo-archive-processing">
-    <title>Archive Processing</title>
-    <para>
-      This module comes with the systemd service
-      <literal>matomo-archive-processing.service</literal> and a timer
-      that automatically triggers archive processing every hour. This
-      means that you can safely
-      <link xlink:href="https://matomo.org/docs/setup-auto-archiving/#disable-browser-triggers-for-matomo-archiving-and-limit-matomo-reports-to-updating-every-hour">disable
-      browser triggers for Matomo archiving</link> at
-      <literal>Administration &gt; System &gt; General Settings</literal>.
-    </para>
-    <para>
-      With automatic archive processing, you can now also enable to
-      <link xlink:href="https://matomo.org/docs/privacy/#step-2-delete-old-visitors-logs">delete
-      old visitor logs</link> at
-      <literal>Administration &gt; System &gt; Privacy</literal>, but
-      make sure that you run
-      <literal>systemctl start matomo-archive-processing.service</literal>
-      at least once without errors if you have already collected data
-      before, so that the reports get archived before the source data
-      gets deleted.
-    </para>
-  </section>
-  <section xml:id="module-services-matomo-backups">
-    <title>Backup</title>
-    <para>
-      You only need to take backups of your MySQL database and the
-      <filename>/var/lib/matomo/config/config.ini.php</filename> file.
-      Use a user in the <literal>matomo</literal> group or root to
-      access the file. For more information, see
-      <link xlink:href="https://matomo.org/faq/how-to-install/faq_138/">https://matomo.org/faq/how-to-install/faq_138/</link>.
-    </para>
-  </section>
-  <section xml:id="module-services-matomo-issues">
-    <title>Issues</title>
-    <itemizedlist spacing="compact">
-      <listitem>
-        <para>
-          Matomo will warn you that the JavaScript tracker is not
-          writable. This is because it’s located in the read-only nix
-          store. You can safely ignore this, unless you need a plugin
-          that needs JavaScript tracker access.
-        </para>
-      </listitem>
-    </itemizedlist>
-  </section>
-  <section xml:id="module-services-matomo-other-web-servers">
-    <title>Using other Web Servers than nginx</title>
-    <para>
-      You can use other web servers by forwarding calls for
-      <filename>index.php</filename> and <filename>piwik.php</filename>
-      to the
-      <link linkend="opt-services.phpfpm.pools._name_.socket"><literal>services.phpfpm.pools.&lt;name&gt;.socket</literal></link>
-      fastcgi unix socket. You can use the nginx configuration in the
-      module code as a reference to what else should be configured.
-    </para>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix
index 90801e99681..50c2d68c77e 100644
--- a/nixos/modules/services/web-apps/nextcloud.nix
+++ b/nixos/modules/services/web-apps/nextcloud.nix
@@ -1146,5 +1146,5 @@ in {
     }
   ]);
 
-  meta.doc = ./nextcloud.xml;
+  meta.doc = ./nextcloud.md;
 }
diff --git a/nixos/modules/services/web-apps/nextcloud.xml b/nixos/modules/services/web-apps/nextcloud.xml
deleted file mode 100644
index a5ac05723ef..00000000000
--- a/nixos/modules/services/web-apps/nextcloud.xml
+++ /dev/null
@@ -1,333 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-nextcloud">
-  <title>Nextcloud</title>
-  <para>
-    <link xlink:href="https://nextcloud.com/">Nextcloud</link> is an
-    open-source, self-hostable cloud platform. The server setup can be
-    automated using
-    <link linkend="opt-services.nextcloud.enable">services.nextcloud</link>.
-    A desktop client is packaged at
-    <literal>pkgs.nextcloud-client</literal>.
-  </para>
-  <para>
-    The current default by NixOS is <literal>nextcloud25</literal> which
-    is also the latest major version available.
-  </para>
-  <section xml:id="module-services-nextcloud-basic-usage">
-    <title>Basic usage</title>
-    <para>
-      Nextcloud is a PHP-based application which requires an HTTP server
-      (<link linkend="opt-services.nextcloud.enable"><literal>services.nextcloud</literal></link>
-      optionally supports
-      <link linkend="opt-services.nginx.enable"><literal>services.nginx</literal></link>)
-      and a database (it’s recommended to use
-      <link linkend="opt-services.postgresql.enable"><literal>services.postgresql</literal></link>).
-    </para>
-    <para>
-      A very basic configuration may look like this:
-    </para>
-    <programlisting>
-{ pkgs, ... }:
-{
-  services.nextcloud = {
-    enable = true;
-    hostName = &quot;nextcloud.tld&quot;;
-    config = {
-      dbtype = &quot;pgsql&quot;;
-      dbuser = &quot;nextcloud&quot;;
-      dbhost = &quot;/run/postgresql&quot;; # nextcloud will add /.s.PGSQL.5432 by itself
-      dbname = &quot;nextcloud&quot;;
-      adminpassFile = &quot;/path/to/admin-pass-file&quot;;
-      adminuser = &quot;root&quot;;
-    };
-  };
-
-  services.postgresql = {
-    enable = true;
-    ensureDatabases = [ &quot;nextcloud&quot; ];
-    ensureUsers = [
-     { name = &quot;nextcloud&quot;;
-       ensurePermissions.&quot;DATABASE nextcloud&quot; = &quot;ALL PRIVILEGES&quot;;
-     }
-    ];
-  };
-
-  # ensure that postgres is running *before* running the setup
-  systemd.services.&quot;nextcloud-setup&quot; = {
-    requires = [&quot;postgresql.service&quot;];
-    after = [&quot;postgresql.service&quot;];
-  };
-
-  networking.firewall.allowedTCPPorts = [ 80 443 ];
-}
-</programlisting>
-    <para>
-      The <literal>hostName</literal> option is used internally to
-      configure an HTTP server using
-      <link xlink:href="https://php-fpm.org/"><literal>PHP-FPM</literal></link>
-      and <literal>nginx</literal>. The <literal>config</literal>
-      attribute set is used by the imperative installer and all values
-      are written to an additional file to ensure that changes can be
-      applied by changing the module’s options.
-    </para>
-    <para>
-      In case the application serves multiple domains (those are checked
-      with
-      <link xlink:href="http://php.net/manual/en/reserved.variables.server.php"><literal>$_SERVER['HTTP_HOST']</literal></link>)
-      it’s needed to add them to
-      <link linkend="opt-services.nextcloud.config.extraTrustedDomains"><literal>services.nextcloud.config.extraTrustedDomains</literal></link>.
-    </para>
-    <para>
-      Auto updates for Nextcloud apps can be enabled using
-      <link linkend="opt-services.nextcloud.autoUpdateApps.enable"><literal>services.nextcloud.autoUpdateApps</literal></link>.
-    </para>
-  </section>
-  <section xml:id="module-services-nextcloud-pitfalls-during-upgrade">
-    <title>Common problems</title>
-    <itemizedlist>
-      <listitem>
-        <para>
-          <emphasis role="strong">General notes.</emphasis>
-          Unfortunately Nextcloud appears to be very stateful when it
-          comes to managing its own configuration. The config file lives
-          in the home directory of the <literal>nextcloud</literal> user
-          (by default
-          <literal>/var/lib/nextcloud/config/config.php</literal>) and
-          is also used to track several states of the application (e.g.,
-          whether installed or not).
-        </para>
-        <para>
-          All configuration parameters are also stored in
-          <filename>/var/lib/nextcloud/config/override.config.php</filename>
-          which is generated by the module and linked from the store to
-          ensure that all values from <filename>config.php</filename>
-          can be modified by the module. However
-          <filename>config.php</filename> manages the application’s
-          state and shouldn’t be touched manually because of that.
-        </para>
-        <warning>
-          <para>
-            Don’t delete <filename>config.php</filename>! This file
-            tracks the application’s state and a deletion can cause
-            unwanted side-effects!
-          </para>
-        </warning>
-        <warning>
-          <para>
-            Don’t rerun
-            <literal>nextcloud-occ maintenance:install</literal>! This
-            command tries to install the application and can cause
-            unwanted side-effects!
-          </para>
-        </warning>
-      </listitem>
-      <listitem>
-        <para>
-          <emphasis role="strong">Multiple version upgrades.</emphasis>
-          Nextcloud doesn’t allow to move more than one major-version
-          forward. E.g., if you’re on <literal>v16</literal>, you cannot
-          upgrade to <literal>v18</literal>, you need to upgrade to
-          <literal>v17</literal> first. This is ensured automatically as
-          long as the
-          <link linkend="opt-system.stateVersion">stateVersion</link> is
-          declared properly. In that case the oldest version available
-          (one major behind the one from the previous NixOS release)
-          will be selected by default and the module will generate a
-          warning that reminds the user to upgrade to latest Nextcloud
-          <emphasis>after</emphasis> that deploy.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          <emphasis role="strong"><literal>Error: Command &quot;upgrade&quot; is not defined.</literal></emphasis>
-          This error usually occurs if the initial installation
-          (<command>nextcloud-occ maintenance:install</command>) has
-          failed. After that, the application is not installed, but the
-          upgrade is attempted to be executed. Further context can be
-          found in
-          <link xlink:href="https://github.com/NixOS/nixpkgs/issues/111175">NixOS/nixpkgs#111175</link>.
-        </para>
-        <para>
-          First of all, it makes sense to find out what went wrong by
-          looking at the logs of the installation via
-          <command>journalctl -u nextcloud-setup</command> and try to
-          fix the underlying issue.
-        </para>
-        <itemizedlist>
-          <listitem>
-            <para>
-              If this occurs on an <emphasis>existing</emphasis> setup,
-              this is most likely because the maintenance mode is
-              active. It can be deactivated by running
-              <command>nextcloud-occ maintenance:mode --off</command>.
-              It’s advisable though to check the logs first on why the
-              maintenance mode was activated.
-            </para>
-          </listitem>
-          <listitem>
-            <warning>
-              <para>
-                Only perform the following measures on <emphasis>freshly
-                installed instances!</emphasis>
-              </para>
-            </warning>
-            <para>
-              A re-run of the installer can be forced by
-              <emphasis>deleting</emphasis>
-              <filename>/var/lib/nextcloud/config/config.php</filename>.
-              This is the only time advisable because the fresh install
-              doesn’t have any state that can be lost. In case that
-              doesn’t help, an entire re-creation can be forced via
-              <command>rm -rf ~nextcloud/</command>.
-            </para>
-          </listitem>
-        </itemizedlist>
-      </listitem>
-      <listitem>
-        <para>
-          <emphasis role="strong">Server-side encryption.</emphasis>
-          Nextcloud supports
-          <link xlink:href="https://docs.nextcloud.com/server/latest/admin_manual/configuration_files/encryption_configuration.html">server-side
-          encryption (SSE)</link>. This is not an end-to-end encryption,
-          but can be used to encrypt files that will be persisted to
-          external storage such as S3. Please note that this won’t work
-          anymore when using OpenSSL 3 for PHP’s openssl extension
-          because this is implemented using the legacy cipher RC4. If
-          <xref linkend="opt-system.stateVersion" /> is
-          <emphasis>above</emphasis> <literal>22.05</literal>, this is
-          disabled by default. To turn it on again and for further
-          information please refer to
-          <xref linkend="opt-services.nextcloud.enableBrokenCiphersForSSE" />.
-        </para>
-      </listitem>
-    </itemizedlist>
-  </section>
-  <section xml:id="module-services-nextcloud-httpd">
-    <title>Using an alternative webserver as reverse-proxy (e.g.
-    <literal>httpd</literal>)</title>
-    <para>
-      By default, <literal>nginx</literal> is used as reverse-proxy for
-      <literal>nextcloud</literal>. However, it’s possible to use e.g.
-      <literal>httpd</literal> by explicitly disabling
-      <literal>nginx</literal> using
-      <xref linkend="opt-services.nginx.enable" /> and fixing the
-      settings <literal>listen.owner</literal> &amp;
-      <literal>listen.group</literal> in the
-      <link linkend="opt-services.phpfpm.pools">corresponding
-      <literal>phpfpm</literal> pool</link>.
-    </para>
-    <para>
-      An exemplary configuration may look like this:
-    </para>
-    <programlisting>
-{ config, lib, pkgs, ... }: {
-  services.nginx.enable = false;
-  services.nextcloud = {
-    enable = true;
-    hostName = &quot;localhost&quot;;
-
-    /* further, required options */
-  };
-  services.phpfpm.pools.nextcloud.settings = {
-    &quot;listen.owner&quot; = config.services.httpd.user;
-    &quot;listen.group&quot; = config.services.httpd.group;
-  };
-  services.httpd = {
-    enable = true;
-    adminAddr = &quot;webmaster@localhost&quot;;
-    extraModules = [ &quot;proxy_fcgi&quot; ];
-    virtualHosts.&quot;localhost&quot; = {
-      documentRoot = config.services.nextcloud.package;
-      extraConfig = ''
-        &lt;Directory &quot;${config.services.nextcloud.package}&quot;&gt;
-          &lt;FilesMatch &quot;\.php$&quot;&gt;
-            &lt;If &quot;-f %{REQUEST_FILENAME}&quot;&gt;
-              SetHandler &quot;proxy:unix:${config.services.phpfpm.pools.nextcloud.socket}|fcgi://localhost/&quot;
-            &lt;/If&gt;
-          &lt;/FilesMatch&gt;
-          &lt;IfModule mod_rewrite.c&gt;
-            RewriteEngine On
-            RewriteBase /
-            RewriteRule ^index\.php$ - [L]
-            RewriteCond %{REQUEST_FILENAME} !-f
-            RewriteCond %{REQUEST_FILENAME} !-d
-            RewriteRule . /index.php [L]
-          &lt;/IfModule&gt;
-          DirectoryIndex index.php
-          Require all granted
-          Options +FollowSymLinks
-        &lt;/Directory&gt;
-      '';
-    };
-  };
-}
-</programlisting>
-  </section>
-  <section xml:id="installing-apps-php-extensions-nextcloud">
-    <title>Installing Apps and PHP extensions</title>
-    <para>
-      Nextcloud apps are installed statefully through the web interface.
-      Some apps may require extra PHP extensions to be installed. This
-      can be configured with the
-      <xref linkend="opt-services.nextcloud.phpExtraExtensions" />
-      setting.
-    </para>
-    <para>
-      Alternatively, extra apps can also be declared with the
-      <xref linkend="opt-services.nextcloud.extraApps" /> setting. When
-      using this setting, apps can no longer be managed statefully
-      because this can lead to Nextcloud updating apps that are managed
-      by Nix. If you want automatic updates it is recommended that you
-      use web interface to install apps.
-    </para>
-  </section>
-  <section xml:id="module-services-nextcloud-maintainer-info">
-    <title>Maintainer information</title>
-    <para>
-      As stated in the previous paragraph, we must provide a clean
-      upgrade-path for Nextcloud since it cannot move more than one
-      major version forward on a single upgrade. This chapter adds some
-      notes how Nextcloud updates should be rolled out in the future.
-    </para>
-    <para>
-      While minor and patch-level updates are no problem and can be done
-      directly in the package-expression (and should be backported to
-      supported stable branches after that), major-releases should be
-      added in a new attribute (e.g. Nextcloud
-      <literal>v19.0.0</literal> should be available in
-      <literal>nixpkgs</literal> as
-      <literal>pkgs.nextcloud19</literal>). To provide simple upgrade
-      paths it’s generally useful to backport those as well to stable
-      branches. As long as the package-default isn’t altered, this won’t
-      break existing setups. After that, the versioning-warning in the
-      <literal>nextcloud</literal>-module should be updated to make sure
-      that the
-      <link linkend="opt-services.nextcloud.package">package</link>-option
-      selects the latest version on fresh setups.
-    </para>
-    <para>
-      If major-releases will be abandoned by upstream, we should check
-      first if those are needed in NixOS for a safe upgrade-path before
-      removing those. In that case we should keep those packages, but
-      mark them as insecure in an expression like this (in
-      <literal>&lt;nixpkgs/pkgs/servers/nextcloud/default.nix&gt;</literal>):
-    </para>
-    <programlisting>
-/* ... */
-{
-  nextcloud17 = generic {
-    version = &quot;17.0.x&quot;;
-    sha256 = &quot;0000000000000000000000000000000000000000000000000000&quot;;
-    eol = true;
-  };
-}
-</programlisting>
-    <para>
-      Ideally we should make sure that it’s possible to jump two NixOS
-      versions forward: i.e. the warnings and the logic in the module
-      should guard a user to upgrade from a Nextcloud on e.g. 19.09 to a
-      Nextcloud on 20.09.
-    </para>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/web-apps/pict-rs.nix b/nixos/modules/services/web-apps/pict-rs.nix
index ad07507ca37..0f13b2ae6db 100644
--- a/nixos/modules/services/web-apps/pict-rs.nix
+++ b/nixos/modules/services/web-apps/pict-rs.nix
@@ -5,7 +5,7 @@ let
 in
 {
   meta.maintainers = with maintainers; [ happysalada ];
-  meta.doc = ./pict-rs.xml;
+  meta.doc = ./pict-rs.md;
 
   options.services.pict-rs = {
     enable = mkEnableOption (lib.mdDoc "pict-rs server");
diff --git a/nixos/modules/services/web-apps/pict-rs.xml b/nixos/modules/services/web-apps/pict-rs.xml
deleted file mode 100644
index 3f5900c55f1..00000000000
--- a/nixos/modules/services/web-apps/pict-rs.xml
+++ /dev/null
@@ -1,185 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-pict-rs">
-  <title>Pict-rs</title>
-  <para>
-    pict-rs is a a simple image hosting service.
-  </para>
-  <section xml:id="module-services-pict-rs-quickstart">
-    <title>Quickstart</title>
-    <para>
-      the minimum to start pict-rs is
-    </para>
-    <programlisting language="nix">
-services.pict-rs.enable = true;
-</programlisting>
-    <para>
-      this will start the http server on port 8080 by default.
-    </para>
-  </section>
-  <section xml:id="module-services-pict-rs-usage">
-    <title>Usage</title>
-    <para>
-      pict-rs offers the following endpoints:
-    </para>
-    <itemizedlist>
-      <listitem>
-        <para>
-          <literal>POST /image</literal> for uploading an image.
-          Uploaded content must be valid multipart/form-data with an
-          image array located within the <literal>images[]</literal> key
-        </para>
-        <para>
-          This endpoint returns the following JSON structure on success
-          with a 201 Created status
-        </para>
-        <programlisting language="json">
-{
-    &quot;files&quot;: [
-        {
-            &quot;delete_token&quot;: &quot;JFvFhqJA98&quot;,
-            &quot;file&quot;: &quot;lkWZDRvugm.jpg&quot;
-        },
-        {
-            &quot;delete_token&quot;: &quot;kAYy9nk2WK&quot;,
-            &quot;file&quot;: &quot;8qFS0QooAn.jpg&quot;
-        },
-        {
-            &quot;delete_token&quot;: &quot;OxRpM3sf0Y&quot;,
-            &quot;file&quot;: &quot;1hJaYfGE01.jpg&quot;
-        }
-    ],
-    &quot;msg&quot;: &quot;ok&quot;
-}
-</programlisting>
-      </listitem>
-      <listitem>
-        <para>
-          <literal>GET /image/download?url=...</literal> Download an
-          image from a remote server, returning the same JSON payload as
-          the <literal>POST</literal> endpoint
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          <literal>GET /image/original/{file}</literal> for getting a
-          full-resolution image. <literal>file</literal> here is the
-          <literal>file</literal> key from the <literal>/image</literal>
-          endpoint’s JSON
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          <literal>GET /image/details/original/{file}</literal> for
-          getting the details of a full-resolution image. The returned
-          JSON is structured like so:
-        </para>
-        <programlisting language="json">
-{
-    &quot;width&quot;: 800,
-    &quot;height&quot;: 537,
-    &quot;content_type&quot;: &quot;image/webp&quot;,
-    &quot;created_at&quot;: [
-        2020,
-        345,
-        67376,
-        394363487
-    ]
-}
-</programlisting>
-      </listitem>
-      <listitem>
-        <para>
-          <literal>GET /image/process.{ext}?src={file}&amp;...</literal>
-          get a file with transformations applied. existing
-          transformations include
-        </para>
-        <itemizedlist spacing="compact">
-          <listitem>
-            <para>
-              <literal>identity=true</literal>: apply no changes
-            </para>
-          </listitem>
-          <listitem>
-            <para>
-              <literal>blur={float}</literal>: apply a gaussian blur to
-              the file
-            </para>
-          </listitem>
-          <listitem>
-            <para>
-              <literal>thumbnail={int}</literal>: produce a thumbnail of
-              the image fitting inside an <literal>{int}</literal> by
-              <literal>{int}</literal> square using raw pixel sampling
-            </para>
-          </listitem>
-          <listitem>
-            <para>
-              <literal>resize={int}</literal>: produce a thumbnail of
-              the image fitting inside an <literal>{int}</literal> by
-              <literal>{int}</literal> square using a Lanczos2 filter.
-              This is slower than sampling but looks a bit better in
-              some cases
-            </para>
-          </listitem>
-          <listitem>
-            <para>
-              <literal>crop={int-w}x{int-h}</literal>: produce a cropped
-              version of the image with an <literal>{int-w}</literal> by
-              <literal>{int-h}</literal> aspect ratio. The resulting
-              crop will be centered on the image. Either the width or
-              height of the image will remain full-size, depending on
-              the image’s aspect ratio and the requested aspect ratio.
-              For example, a 1600x900 image cropped with a 1x1 aspect
-              ratio will become 900x900. A 1600x1100 image cropped with
-              a 16x9 aspect ratio will become 1600x900.
-            </para>
-          </listitem>
-        </itemizedlist>
-        <para>
-          Supported <literal>ext</literal> file extensions include
-          <literal>png</literal>, <literal>jpg</literal>, and
-          <literal>webp</literal>
-        </para>
-        <para>
-          An example of usage could be
-        </para>
-        <programlisting>
-GET /image/process.jpg?src=asdf.png&amp;thumbnail=256&amp;blur=3.0
-</programlisting>
-        <para>
-          which would create a 256x256px JPEG thumbnail and blur it
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          <literal>GET /image/details/process.{ext}?src={file}&amp;...</literal>
-          for getting the details of a processed image. The returned
-          JSON is the same format as listed for the full-resolution
-          details endpoint.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          <literal>DELETE /image/delete/{delete_token}/{file}</literal>
-          or <literal>GET /image/delete/{delete_token}/{file}</literal>
-          to delete a file, where <literal>delete_token</literal> and
-          <literal>file</literal> are from the <literal>/image</literal>
-          endpoint’s JSON
-        </para>
-      </listitem>
-    </itemizedlist>
-  </section>
-  <section xml:id="module-services-pict-rs-missing">
-    <title>Missing</title>
-    <itemizedlist spacing="compact">
-      <listitem>
-        <para>
-          Configuring the secure-api-key is not included yet. The
-          envisioned basic use case is consumption on localhost by other
-          services without exposing the service to the internet.
-        </para>
-      </listitem>
-    </itemizedlist>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/web-apps/plausible.nix b/nixos/modules/services/web-apps/plausible.nix
index e5dc1b10360..f64254d6252 100644
--- a/nixos/modules/services/web-apps/plausible.nix
+++ b/nixos/modules/services/web-apps/plausible.nix
@@ -292,5 +292,5 @@ in {
   };
 
   meta.maintainers = with maintainers; [ ma27 ];
-  meta.doc = ./plausible.xml;
+  meta.doc = ./plausible.md;
 }
diff --git a/nixos/modules/services/web-apps/plausible.xml b/nixos/modules/services/web-apps/plausible.xml
deleted file mode 100644
index 39ff004ffd9..00000000000
--- a/nixos/modules/services/web-apps/plausible.xml
+++ /dev/null
@@ -1,45 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-plausible">
-  <title>Plausible</title>
-  <para>
-    <link xlink:href="https://plausible.io/">Plausible</link> is a
-    privacy-friendly alternative to Google analytics.
-  </para>
-  <section xml:id="module-services-plausible-basic-usage">
-    <title>Basic Usage</title>
-    <para>
-      At first, a secret key is needed to be generated. This can be done
-      with e.g.
-    </para>
-    <programlisting>
-$ openssl rand -base64 64
-</programlisting>
-    <para>
-      After that, <literal>plausible</literal> can be deployed like
-      this:
-    </para>
-    <programlisting>
-{
-  services.plausible = {
-    enable = true;
-    adminUser = {
-      # activate is used to skip the email verification of the admin-user that's
-      # automatically created by plausible. This is only supported if
-      # postgresql is configured by the module. This is done by default, but
-      # can be turned off with services.plausible.database.postgres.setup.
-      activate = true;
-      email = &quot;admin@localhost&quot;;
-      passwordFile = &quot;/run/secrets/plausible-admin-pwd&quot;;
-    };
-    server = {
-      baseUrl = &quot;http://analytics.example.org&quot;;
-      # secretKeybaseFile is a path to the file which contains the secret generated
-      # with openssl as described above.
-      secretKeybaseFile = &quot;/run/secrets/plausible-secret-key-base&quot;;
-    };
-  };
-}
-</programlisting>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/web-servers/garage.nix b/nixos/modules/services/web-servers/garage.nix
index 1c25d865f98..2491c788d6c 100644
--- a/nixos/modules/services/web-servers/garage.nix
+++ b/nixos/modules/services/web-servers/garage.nix
@@ -9,7 +9,7 @@ let
 in
 {
   meta = {
-    doc = ./garage.xml;
+    doc = ./garage.md;
     maintainers = with pkgs.lib.maintainers; [ raitobezarius ];
   };
 
diff --git a/nixos/modules/services/web-servers/garage.xml b/nixos/modules/services/web-servers/garage.xml
deleted file mode 100644
index 6a16b1693da..00000000000
--- a/nixos/modules/services/web-servers/garage.xml
+++ /dev/null
@@ -1,206 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="module-services-garage">
-  <title>Garage</title>
-  <para>
-    <link xlink:href="https://garagehq.deuxfleurs.fr/">Garage</link> is
-    an open-source, self-hostable S3 store, simpler than MinIO, for
-    geodistributed stores. The server setup can be automated using
-    <link linkend="opt-services.garage.enable">services.garage</link>. A
-    client configured to your local Garage instance is available in the
-    global environment as <literal>garage-manage</literal>.
-  </para>
-  <para>
-    The current default by NixOS is <literal>garage_0_8</literal> which
-    is also the latest major version available.
-  </para>
-  <section xml:id="module-services-garage-upgrade-scenarios">
-    <title>General considerations on upgrades</title>
-    <para>
-      Garage provides a cookbook documentation on how to upgrade:
-      <link xlink:href="https://garagehq.deuxfleurs.fr/documentation/cookbook/upgrading/">https://garagehq.deuxfleurs.fr/documentation/cookbook/upgrading/</link>
-    </para>
-    <warning>
-      <para>
-        Garage has two types of upgrades: patch-level upgrades and
-        minor/major version upgrades.
-      </para>
-      <para>
-        In all cases, you should read the changelog and ideally test the
-        upgrade on a staging cluster.
-      </para>
-      <para>
-        Checking the health of your cluster can be achieved using
-        <literal>garage-manage repair</literal>.
-      </para>
-    </warning>
-    <warning>
-      <para>
-        Until 1.0 is released, patch-level upgrades are considered as
-        minor version upgrades. Minor version upgrades are considered as
-        major version upgrades. i.e. 0.6 to 0.7 is a major version
-        upgrade.
-      </para>
-    </warning>
-    <itemizedlist spacing="compact">
-      <listitem>
-        <para>
-          <emphasis role="strong">Straightforward upgrades (patch-level
-          upgrades).</emphasis> Upgrades must be performed one by one,
-          i.e. for each node, stop it, upgrade it : change
-          <link linkend="opt-system.stateVersion">stateVersion</link> or
-          <link linkend="opt-services.garage.package">services.garage.package</link>,
-          restart it if it was not already by switching.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          <emphasis role="strong">Multiple version upgrades.</emphasis>
-          Garage do not provide any guarantee on moving more than one
-          major-version forward. E.g., if you’re on
-          <literal>0.7</literal>, you cannot upgrade to
-          <literal>0.9</literal>. You need to upgrade to
-          <literal>0.8</literal> first. As long as
-          <link linkend="opt-system.stateVersion">stateVersion</link> is
-          declared properly, this is enforced automatically. The module
-          will issue a warning to remind the user to upgrade to latest
-          Garage <emphasis>after</emphasis> that deploy.
-        </para>
-      </listitem>
-    </itemizedlist>
-  </section>
-  <section xml:id="module-services-garage-advanced-upgrades">
-    <title>Advanced upgrades (minor/major version upgrades)</title>
-    <para>
-      Here are some baseline instructions to handle advanced upgrades in
-      Garage, when in doubt, please refer to upstream instructions.
-    </para>
-    <itemizedlist spacing="compact">
-      <listitem>
-        <para>
-          Disable API and web access to Garage.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Perform
-          <literal>garage-manage repair --all-nodes --yes tables</literal>
-          and
-          <literal>garage-manage repair --all-nodes --yes blocks</literal>.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Verify the resulting logs and check that data is synced
-          properly between all nodes. If you have time, do additional
-          checks (<literal>scrub</literal>,
-          <literal>block_refs</literal>, etc.).
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Check if queues are empty by
-          <literal>garage-manage stats</literal> or through monitoring
-          tools.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Run <literal>systemctl stop garage</literal> to stop the
-          actual Garage version.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Backup the metadata folder of ALL your nodes, e.g. for a
-          metadata directory (the default one) in
-          <literal>/var/lib/garage/meta</literal>, you can run
-          <literal>pushd /var/lib/garage; tar -acf meta-v0.7.tar.zst meta/; popd</literal>.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Run the offline migration:
-          <literal>nix-shell -p garage_0_8 --run &quot;garage offline-repair --yes&quot;</literal>,
-          this can take some time depending on how many objects are
-          stored in your cluster.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Bump Garage version in your NixOS configuration, either by
-          changing
-          <link linkend="opt-system.stateVersion">stateVersion</link> or
-          bumping
-          <link linkend="opt-services.garage.package">services.garage.package</link>,
-          this should restart Garage automatically.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Perform
-          <literal>garage-manage repair --all-nodes --yes tables</literal>
-          and
-          <literal>garage-manage repair --all-nodes --yes blocks</literal>.
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          Wait for a full table sync to run.
-        </para>
-      </listitem>
-    </itemizedlist>
-    <para>
-      Your upgraded cluster should be in a working state, re-enable API
-      and web access.
-    </para>
-  </section>
-  <section xml:id="module-services-garage-maintainer-info">
-    <title>Maintainer information</title>
-    <para>
-      As stated in the previous paragraph, we must provide a clean
-      upgrade-path for Garage since it cannot move more than one major
-      version forward on a single upgrade. This chapter adds some notes
-      how Garage updates should be rolled out in the future. This is
-      inspired from how Nextcloud does it.
-    </para>
-    <para>
-      While patch-level updates are no problem and can be done directly
-      in the package-expression (and should be backported to supported
-      stable branches after that), major-releases should be added in a
-      new attribute (e.g. Garage <literal>v0.8.0</literal> should be
-      available in <literal>nixpkgs</literal> as
-      <literal>pkgs.garage_0_8_0</literal>). To provide simple upgrade
-      paths it’s generally useful to backport those as well to stable
-      branches. As long as the package-default isn’t altered, this won’t
-      break existing setups. After that, the versioning-warning in the
-      <literal>garage</literal>-module should be updated to make sure
-      that the
-      <link linkend="opt-services.garage.package">package</link>-option
-      selects the latest version on fresh setups.
-    </para>
-    <para>
-      If major-releases will be abandoned by upstream, we should check
-      first if those are needed in NixOS for a safe upgrade-path before
-      removing those. In that case we shold keep those packages, but
-      mark them as insecure in an expression like this (in
-      <literal>&lt;nixpkgs/pkgs/tools/filesystem/garage/default.nix&gt;</literal>):
-    </para>
-    <programlisting>
-/* ... */
-{
-  garage_0_7_3 = generic {
-    version = &quot;0.7.3&quot;;
-    sha256 = &quot;0000000000000000000000000000000000000000000000000000&quot;;
-    eol = true;
-  };
-}
-</programlisting>
-    <para>
-      Ideally we should make sure that it’s possible to jump two NixOS
-      versions forward: i.e. the warnings and the logic in the module
-      should guard a user to upgrade from a Garage on e.g. 22.11 to a
-      Garage on 23.11.
-    </para>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index c723b962c84..c0b90997ae9 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -211,6 +211,8 @@ let
         proxy_send_timeout      ${cfg.proxyTimeout};
         proxy_read_timeout      ${cfg.proxyTimeout};
         proxy_http_version      1.1;
+        # don't let clients close the keep-alive connection to upstream
+        proxy_set_header        "Connection" "";
         include ${recommendedProxyConfig};
       ''}
 
diff --git a/nixos/modules/services/x11/desktop-managers/gnome.nix b/nixos/modules/services/x11/desktop-managers/gnome.nix
index dadfb421d3a..79b2e7c6ead 100644
--- a/nixos/modules/services/x11/desktop-managers/gnome.nix
+++ b/nixos/modules/services/x11/desktop-managers/gnome.nix
@@ -66,7 +66,7 @@ in
 {
 
   meta = {
-    doc = ./gnome.xml;
+    doc = ./gnome.md;
     maintainers = teams.gnome.members;
   };
 
diff --git a/nixos/modules/services/x11/desktop-managers/gnome.xml b/nixos/modules/services/x11/desktop-managers/gnome.xml
deleted file mode 100644
index 6613f49eec7..00000000000
--- a/nixos/modules/services/x11/desktop-managers/gnome.xml
+++ /dev/null
@@ -1,261 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="chap-gnome">
-  <title>GNOME Desktop</title>
-  <para>
-    GNOME provides a simple, yet full-featured desktop environment with
-    a focus on productivity. Its Mutter compositor supports both Wayland
-    and X server, and the GNOME Shell user interface is fully
-    customizable by extensions.
-  </para>
-  <section xml:id="sec-gnome-enable">
-    <title>Enabling GNOME</title>
-    <para>
-      All of the core apps, optional apps, games, and core developer
-      tools from GNOME are available.
-    </para>
-    <para>
-      To enable the GNOME desktop use:
-    </para>
-    <programlisting>
-services.xserver.desktopManager.gnome.enable = true;
-services.xserver.displayManager.gdm.enable = true;
-</programlisting>
-    <note>
-      <para>
-        While it is not strictly necessary to use GDM as the display
-        manager with GNOME, it is recommended, as some features such as
-        screen lock
-        <link linkend="sec-gnome-faq-can-i-use-lightdm-with-gnome">might
-        not work</link> without it.
-      </para>
-    </note>
-    <para>
-      The default applications used in NixOS are very minimal, inspired
-      by the defaults used in
-      <link xlink:href="https://gitlab.gnome.org/GNOME/gnome-build-meta/blob/40.0/elements/core/meta-gnome-core-utilities.bst">gnome-build-meta</link>.
-    </para>
-    <section xml:id="sec-gnome-without-the-apps">
-      <title>GNOME without the apps</title>
-      <para>
-        If you’d like to only use the GNOME desktop and not the apps,
-        you can disable them with:
-      </para>
-      <programlisting>
-services.gnome.core-utilities.enable = false;
-</programlisting>
-      <para>
-        and none of them will be installed.
-      </para>
-      <para>
-        If you’d only like to omit a subset of the core utilities, you
-        can use
-        <xref linkend="opt-environment.gnome.excludePackages" />. Note
-        that this mechanism can only exclude core utilities, games and
-        core developer tools.
-      </para>
-    </section>
-    <section xml:id="sec-gnome-disabling-services">
-      <title>Disabling GNOME services</title>
-      <para>
-        It is also possible to disable many of the
-        <link xlink:href="https://github.com/NixOS/nixpkgs/blob/b8ec4fd2a4edc4e30d02ba7b1a2cc1358f3db1d5/nixos/modules/services/x11/desktop-managers/gnome.nix#L329-L348">core
-        services</link>. For example, if you do not need indexing files,
-        you can disable Tracker with:
-      </para>
-      <programlisting>
-services.gnome.tracker-miners.enable = false;
-services.gnome.tracker.enable = false;
-</programlisting>
-      <para>
-        Note, however, that doing so is not supported and might break
-        some applications. Notably, GNOME Music cannot work without
-        Tracker.
-      </para>
-    </section>
-    <section xml:id="sec-gnome-games">
-      <title>GNOME games</title>
-      <para>
-        You can install all of the GNOME games with:
-      </para>
-      <programlisting>
-services.gnome.games.enable = true;
-</programlisting>
-    </section>
-    <section xml:id="sec-gnome-core-developer-tools">
-      <title>GNOME core developer tools</title>
-      <para>
-        You can install GNOME core developer tools with:
-      </para>
-      <programlisting>
-services.gnome.core-developer-tools.enable = true;
-</programlisting>
-    </section>
-  </section>
-  <section xml:id="sec-gnome-enable-flashback">
-    <title>Enabling GNOME Flashback</title>
-    <para>
-      GNOME Flashback provides a desktop environment based on the
-      classic GNOME 2 architecture. You can enable the default GNOME
-      Flashback session, which uses the Metacity window manager, with:
-    </para>
-    <programlisting>
-services.xserver.desktopManager.gnome.flashback.enableMetacity = true;
-</programlisting>
-    <para>
-      It is also possible to create custom sessions that replace
-      Metacity with a different window manager using
-      <xref linkend="opt-services.xserver.desktopManager.gnome.flashback.customSessions" />.
-    </para>
-    <para>
-      The following example uses <literal>xmonad</literal> window
-      manager:
-    </para>
-    <programlisting>
-services.xserver.desktopManager.gnome.flashback.customSessions = [
-  {
-    wmName = &quot;xmonad&quot;;
-    wmLabel = &quot;XMonad&quot;;
-    wmCommand = &quot;${pkgs.haskellPackages.xmonad}/bin/xmonad&quot;;
-    enableGnomePanel = false;
-  }
-];
-</programlisting>
-  </section>
-  <section xml:id="sec-gnome-icons-and-gtk-themes">
-    <title>Icons and GTK Themes</title>
-    <para>
-      Icon themes and GTK themes don’t require any special option to
-      install in NixOS.
-    </para>
-    <para>
-      You can add them to
-      <xref linkend="opt-environment.systemPackages" /> and switch to
-      them with GNOME Tweaks. If you’d like to do this manually in
-      dconf, change the values of the following keys:
-    </para>
-    <programlisting>
-/org/gnome/desktop/interface/gtk-theme
-/org/gnome/desktop/interface/icon-theme
-</programlisting>
-    <para>
-      in <literal>dconf-editor</literal>
-    </para>
-  </section>
-  <section xml:id="sec-gnome-shell-extensions">
-    <title>Shell Extensions</title>
-    <para>
-      Most Shell extensions are packaged under the
-      <literal>gnomeExtensions</literal> attribute. Some packages that
-      include Shell extensions, like <literal>gnome.gpaste</literal>,
-      don’t have their extension decoupled under this attribute.
-    </para>
-    <para>
-      You can install them like any other package:
-    </para>
-    <programlisting>
-environment.systemPackages = [
-  gnomeExtensions.dash-to-dock
-  gnomeExtensions.gsconnect
-  gnomeExtensions.mpris-indicator-button
-];
-</programlisting>
-    <para>
-      Unfortunately, we lack a way for these to be managed in a
-      completely declarative way. So you have to enable them manually
-      with an Extensions application. It is possible to use a
-      <link linkend="sec-gnome-gsettings-overrides">GSettings
-      override</link> for this on
-      <literal>org.gnome.shell.enabled-extensions</literal>, but that
-      will only influence the default value.
-    </para>
-  </section>
-  <section xml:id="sec-gnome-gsettings-overrides">
-    <title>GSettings Overrides</title>
-    <para>
-      Majority of software building on the GNOME platform use GLib’s
-      <link xlink:href="https://developer.gnome.org/gio/unstable/GSettings.html">GSettings</link>
-      system to manage runtime configuration. For our purposes, the
-      system consists of XML schemas describing the individual
-      configuration options, stored in the package, and a settings
-      backend, where the values of the settings are stored. On NixOS,
-      like on most Linux distributions, dconf database is used as the
-      backend.
-    </para>
-    <para>
-      <link xlink:href="https://developer.gnome.org/gio/unstable/GSettings.html#id-1.4.19.2.9.25">GSettings
-      vendor overrides</link> can be used to adjust the default values
-      for settings of the GNOME desktop and apps by replacing the
-      default values specified in the XML schemas. Using overrides will
-      allow you to pre-seed user settings before you even start the
-      session.
-    </para>
-    <warning>
-      <para>
-        Overrides really only change the default values for GSettings
-        keys so if you or an application changes the setting value, the
-        value set by the override will be ignored. Until
-        <link xlink:href="https://github.com/NixOS/nixpkgs/issues/54150">NixOS’s
-        dconf module implements changing values</link>, you will either
-        need to keep that in mind and clear the setting from the backend
-        using <literal>dconf reset</literal> command when that happens,
-        or use the
-        <link xlink:href="https://nix-community.github.io/home-manager/options.html#opt-dconf.settings">module
-        from home-manager</link>.
-      </para>
-    </warning>
-    <para>
-      You can override the default GSettings values using the
-      <xref linkend="opt-services.xserver.desktopManager.gnome.extraGSettingsOverrides" />
-      option.
-    </para>
-    <para>
-      Take note that whatever packages you want to override GSettings
-      for, you need to add them to
-      <xref linkend="opt-services.xserver.desktopManager.gnome.extraGSettingsOverridePackages" />.
-    </para>
-    <para>
-      You can use <literal>dconf-editor</literal> tool to explore which
-      GSettings you can set.
-    </para>
-    <section xml:id="sec-gnome-gsettings-overrides-example">
-      <title>Example</title>
-      <programlisting>
-services.xserver.desktopManager.gnome = {
-  extraGSettingsOverrides = ''
-    # Change default background
-    [org.gnome.desktop.background]
-    picture-uri='file://${pkgs.nixos-artwork.wallpapers.mosaic-blue.gnomeFilePath}'
-
-    # Favorite apps in gnome-shell
-    [org.gnome.shell]
-    favorite-apps=['org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop']
-  '';
-
-  extraGSettingsOverridePackages = [
-    pkgs.gsettings-desktop-schemas # for org.gnome.desktop
-    pkgs.gnome.gnome-shell # for org.gnome.shell
-  ];
-};
-</programlisting>
-    </section>
-  </section>
-  <section xml:id="sec-gnome-faq">
-    <title>Frequently Asked Questions</title>
-    <section xml:id="sec-gnome-faq-can-i-use-lightdm-with-gnome">
-      <title>Can I use LightDM with GNOME?</title>
-      <para>
-        Yes you can, and any other display-manager in NixOS.
-      </para>
-      <para>
-        However, it doesn’t work correctly for the Wayland session of
-        GNOME Shell yet, and won’t be able to lock your screen.
-      </para>
-      <para>
-        See
-        <link xlink:href="https://github.com/NixOS/nixpkgs/issues/56342">this
-        issue.</link>
-      </para>
-    </section>
-  </section>
-</chapter>
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix
index f5cc2d8187d..7791a98965d 100644
--- a/nixos/modules/services/x11/desktop-managers/pantheon.nix
+++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix
@@ -17,7 +17,7 @@ in
 {
 
   meta = {
-    doc = ./pantheon.xml;
+    doc = ./pantheon.md;
     maintainers = teams.pantheon.members;
   };
 
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.xml b/nixos/modules/services/x11/desktop-managers/pantheon.xml
deleted file mode 100644
index 0e98b08fb65..00000000000
--- a/nixos/modules/services/x11/desktop-managers/pantheon.xml
+++ /dev/null
@@ -1,171 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="chap-pantheon">
-  <title>Pantheon Desktop</title>
-  <para>
-    Pantheon is the desktop environment created for the elementary OS
-    distribution. It is written from scratch in Vala, utilizing GNOME
-    technologies with GTK and Granite.
-  </para>
-  <section xml:id="sec-pantheon-enable">
-    <title>Enabling Pantheon</title>
-    <para>
-      All of Pantheon is working in NixOS and the applications should be
-      available, aside from a few
-      <link xlink:href="https://github.com/NixOS/nixpkgs/issues/58161">exceptions</link>.
-      To enable Pantheon, set
-    </para>
-    <programlisting>
-services.xserver.desktopManager.pantheon.enable = true;
-</programlisting>
-    <para>
-      This automatically enables LightDM and Pantheon’s LightDM greeter.
-      If you’d like to disable this, set
-    </para>
-    <programlisting>
-services.xserver.displayManager.lightdm.greeters.pantheon.enable = false;
-services.xserver.displayManager.lightdm.enable = false;
-</programlisting>
-    <para>
-      but please be aware using Pantheon without LightDM as a display
-      manager will break screenlocking from the UI. The NixOS module for
-      Pantheon installs all of Pantheon’s default applications. If you’d
-      like to not install Pantheon’s apps, set
-    </para>
-    <programlisting>
-services.pantheon.apps.enable = false;
-</programlisting>
-    <para>
-      You can also use
-      <xref linkend="opt-environment.pantheon.excludePackages" /> to
-      remove any other app (like <literal>elementary-mail</literal>).
-    </para>
-  </section>
-  <section xml:id="sec-pantheon-wingpanel-switchboard">
-    <title>Wingpanel and Switchboard plugins</title>
-    <para>
-      Wingpanel and Switchboard work differently than they do in other
-      distributions, as far as using plugins. You cannot install a
-      plugin globally (like with
-      <option>environment.systemPackages</option>) to start using it.
-      You should instead be using the following options:
-    </para>
-    <itemizedlist spacing="compact">
-      <listitem>
-        <para>
-          <xref linkend="opt-services.xserver.desktopManager.pantheon.extraWingpanelIndicators" />
-        </para>
-      </listitem>
-      <listitem>
-        <para>
-          <xref linkend="opt-services.xserver.desktopManager.pantheon.extraSwitchboardPlugs" />
-        </para>
-      </listitem>
-    </itemizedlist>
-    <para>
-      to configure the programs with plugs or indicators.
-    </para>
-    <para>
-      The difference in NixOS is both these programs are patched to load
-      plugins from a directory that is the value of an environment
-      variable. All of which is controlled in Nix. If you need to
-      configure the particular packages manually you can override the
-      packages like:
-    </para>
-    <programlisting>
-wingpanel-with-indicators.override {
-  indicators = [
-    pkgs.some-special-indicator
-  ];
-};
-
-switchboard-with-plugs.override {
-  plugs = [
-    pkgs.some-special-plug
-  ];
-};
-</programlisting>
-    <para>
-      please note that, like how the NixOS options describe these as
-      extra plugins, this would only add to the default plugins included
-      with the programs. If for some reason you’d like to configure
-      which plugins to use exactly, both packages have an argument for
-      this:
-    </para>
-    <programlisting>
-wingpanel-with-indicators.override {
-  useDefaultIndicators = false;
-  indicators = specialListOfIndicators;
-};
-
-switchboard-with-plugs.override {
-  useDefaultPlugs = false;
-  plugs = specialListOfPlugs;
-};
-</programlisting>
-    <para>
-      this could be most useful for testing a particular plug-in in
-      isolation.
-    </para>
-  </section>
-  <section xml:id="sec-pantheon-faq">
-    <title>FAQ</title>
-    <variablelist spacing="compact">
-      <varlistentry>
-        <term>
-          <anchor xml:id="sec-pantheon-faq-messed-up-theme" />I have
-          switched from a different desktop and Pantheon’s theming looks
-          messed up.
-        </term>
-        <listitem>
-          <para>
-            Open Switchboard and go to: Administration → About → Restore
-            Default Settings → Restore Settings. This will reset any
-            dconf settings to their Pantheon defaults. Note this could
-            reset certain GNOME specific preferences if that desktop was
-            used prior.
-          </para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>
-          <anchor xml:id="sec-pantheon-faq-gnome-and-pantheon" />I
-          cannot enable both GNOME and Pantheon.
-        </term>
-        <listitem>
-          <para>
-            This is a known
-            <link xlink:href="https://github.com/NixOS/nixpkgs/issues/64611">issue</link>
-            and there is no known workaround.
-          </para>
-        </listitem>
-      </varlistentry>
-      <varlistentry>
-        <term>
-          <anchor xml:id="sec-pantheon-faq-appcenter" />Does AppCenter
-          work, or is it available?
-        </term>
-        <listitem>
-          <para>
-            AppCenter has been available since 20.03. Starting from
-            21.11, the Flatpak backend should work so you can install
-            some Flatpak applications using it. However, due to missing
-            appstream metadata, the Packagekit backend does not function
-            currently. See this
-            <link xlink:href="https://github.com/NixOS/nixpkgs/issues/15932">issue</link>.
-          </para>
-          <para>
-            If you are using Pantheon, AppCenter should be installed by
-            default if you have
-            <link linkend="module-services-flatpak">Flatpak
-            support</link> enabled. If you also wish to add the
-            <literal>appcenter</literal> Flatpak remote:
-          </para>
-          <programlisting>
-$ flatpak remote-add --if-not-exists appcenter https://flatpak.elementary.io/repo.flatpakrepo
-</programlisting>
-        </listitem>
-      </varlistentry>
-    </variablelist>
-  </section>
-</chapter>
diff --git a/nixos/modules/system/boot/loader/external/external.nix b/nixos/modules/system/boot/loader/external/external.nix
index 7c5455bb47a..926cbd2b4b3 100644
--- a/nixos/modules/system/boot/loader/external/external.nix
+++ b/nixos/modules/system/boot/loader/external/external.nix
@@ -8,7 +8,7 @@ in
 {
   meta = {
     maintainers = with maintainers; [ cole-h grahamc raitobezarius ];
-    doc = ./external.xml;
+    doc = ./external.md;
   };
 
   options.boot.loader.external = {
diff --git a/nixos/modules/system/boot/loader/external/external.xml b/nixos/modules/system/boot/loader/external/external.xml
deleted file mode 100644
index 9a392c27441..00000000000
--- a/nixos/modules/system/boot/loader/external/external.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<!-- Do not edit this file directly, edit its companion .md instead
-     and regenerate this file using nixos/doc/manual/md-to-db.sh -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-bootloader-external">
-  <title>External Bootloader Backends</title>
-  <para>
-    NixOS has support for several bootloader backends by default:
-    systemd-boot, grub, uboot, etc. The built-in bootloader backend
-    support is generic and supports most use cases. Some users may
-    prefer to create advanced workflows around managing the bootloader
-    and bootable entries.
-  </para>
-  <para>
-    You can replace the built-in bootloader support with your own
-    tooling using the <quote>external</quote> bootloader option.
-  </para>
-  <para>
-    Imagine you have created a new package called FooBoot. FooBoot
-    provides a program at
-    <literal>${pkgs.fooboot}/bin/fooboot-install</literal> which takes
-    the system closure’s path as its only argument and configures the
-    system’s bootloader.
-  </para>
-  <para>
-    You can enable FooBoot like this:
-  </para>
-  <programlisting language="nix">
-{ pkgs, ... }: {
-  boot.loader.external = {
-    enable = true;
-    installHook = &quot;${pkgs.fooboot}/bin/fooboot-install&quot;;
-  };
-}
-</programlisting>
-  <section xml:id="sec-bootloader-external-developing">
-    <title>Developing Custom Bootloader Backends</title>
-    <para>
-      Bootloaders should use
-      <link xlink:href="https://github.com/NixOS/rfcs/pull/125">RFC-0125</link>’s
-      Bootspec format and synthesis tools to identify the key properties
-      for bootable system generations.
-    </para>
-  </section>
-</chapter>
diff --git a/nixos/modules/system/boot/systemd/coredump.nix b/nixos/modules/system/boot/systemd/coredump.nix
index c2ca973d380..03ef00e5683 100644
--- a/nixos/modules/system/boot/systemd/coredump.nix
+++ b/nixos/modules/system/boot/systemd/coredump.nix
@@ -44,7 +44,21 @@ in {
         '';
 
         # install provided sysctl snippets
-        "sysctl.d/50-coredump.conf".source = "${systemd}/example/sysctl.d/50-coredump.conf";
+        "sysctl.d/50-coredump.conf".source =
+          # Fix systemd-coredump error caused by truncation of `kernel.core_pattern`
+          # when the `systemd` derivation name is too long. This works by substituting
+          # the path to `systemd` with a symlink that has a constant-length path.
+          #
+          # See: https://github.com/NixOS/nixpkgs/issues/213408
+          pkgs.substitute {
+            src = "${systemd}/example/sysctl.d/50-coredump.conf";
+            replacements = [
+              "--replace"
+              "${systemd}"
+              "${pkgs.symlinkJoin { name = "systemd"; paths = [ systemd ]; }}"
+            ];
+          };
+
         "sysctl.d/50-default.conf".source = "${systemd}/example/sysctl.d/50-default.conf";
       };
 
diff --git a/pkgs/applications/audio/tidal-hifi/default.nix b/pkgs/applications/audio/tidal-hifi/default.nix
index 8905351da53..93b8d320353 100644
--- a/pkgs/applications/audio/tidal-hifi/default.nix
+++ b/pkgs/applications/audio/tidal-hifi/default.nix
@@ -37,11 +37,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tidal-hifi";
-  version = "4.3.1";
+  version = "4.4.0";
 
   src = fetchurl {
     url = "https://github.com/Mastermindzh/tidal-hifi/releases/download/${version}/tidal-hifi_${version}_amd64.deb";
-    sha256 = "sha256-Q+K8oF1VEsuhmhPH6K3as1+71vCfaKCdzRzCIxtiXvE=";
+    sha256 = "sha256-6KlcxBV/zHN+ZnvIu1PcKNeS0u7LqhDqAjbXawT5Vv8=";
   };
 
   nativeBuildInputs = [ autoPatchelfHook dpkg makeWrapper ];
@@ -109,13 +109,12 @@ stdenv.mkDerivation rec {
       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath buildInputs}" \
       "''${gappsWrapperArgs[@]}"
     substituteInPlace $out/share/applications/tidal-hifi.desktop \
-      --replace "/opt/tidal-hifi/tidal-hifi" "tidal-hifi" \
-      --replace "/usr/share/icons/hicolor/0x0/apps/tidal-hifi.png" "tidal-hifi.png"
+      --replace "/opt/tidal-hifi/tidal-hifi" "tidal-hifi"
 
     for size in 48 64 128 256 512; do
       mkdir -p $out/share/icons/hicolor/''${size}x''${size}/apps/
       convert $out/share/icons/hicolor/0x0/apps/tidal-hifi.png \
-        -resize ''${size}x''${size} $out/share/icons/hicolor/''${size}x''${size}/apps/tidal-hifi.png
+        -resize ''${size}x''${size} $out/share/icons/hicolor/''${size}x''${size}/apps/icon.png
     done
   '';
 
@@ -124,7 +123,7 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/Mastermindzh/tidal-hifi";
     changelog = "https://github.com/Mastermindzh/tidal-hifi/releases/tag/${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ alternateved ];
+    maintainers = with maintainers; [ qbit ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/applications/gis/qgis/unwrapped-ltr.nix b/pkgs/applications/gis/qgis/unwrapped-ltr.nix
index a3d3fda5912..1f78d539859 100644
--- a/pkgs/applications/gis/qgis/unwrapped-ltr.nix
+++ b/pkgs/applications/gis/qgis/unwrapped-ltr.nix
@@ -73,14 +73,14 @@ let
     six
   ];
 in mkDerivation rec {
-  version = "3.22.14";
+  version = "3.22.15";
   pname = "qgis-ltr-unwrapped";
 
   src = fetchFromGitHub {
     owner = "qgis";
     repo = "QGIS";
     rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
-    hash = "sha256-VT85cVeKuHQCGQokID9yrbents7ewHK1j7I17oFTvlo=";
+    hash = "sha256-0hly1yZ7NAcSe84XMwDlcmZPunPcNXYzvAhd0Z5rB0Q=";
   };
 
   passthru = {
diff --git a/pkgs/applications/gis/qgis/unwrapped.nix b/pkgs/applications/gis/qgis/unwrapped.nix
index 929a40d6daa..18603e38ec5 100644
--- a/pkgs/applications/gis/qgis/unwrapped.nix
+++ b/pkgs/applications/gis/qgis/unwrapped.nix
@@ -73,14 +73,14 @@ let
     six
   ];
 in mkDerivation rec {
-  version = "3.28.2";
+  version = "3.28.3";
   pname = "qgis-unwrapped";
 
   src = fetchFromGitHub {
     owner = "qgis";
     repo = "QGIS";
     rev = "final-${lib.replaceStrings [ "." ] [ "_" ] version}";
-    hash = "sha256-ndwDN/DH+Y+dc8aNa45cSIM8yQUmIWq0jx6xWsZo4rk=";
+    hash = "sha256-nXauZSC78BX1fcx0SXniwQpRmdSLfoqZ5jlbXeHgRGI=";
   };
 
   passthru = {
diff --git a/pkgs/applications/misc/obsidian/default.nix b/pkgs/applications/misc/obsidian/default.nix
index 51841f9852a..45ca034b747 100644
--- a/pkgs/applications/misc/obsidian/default.nix
+++ b/pkgs/applications/misc/obsidian/default.nix
@@ -2,7 +2,7 @@
 , fetchurl
 , lib
 , makeWrapper
-, electron_18
+, electron_21
 , makeDesktopItem
 , graphicsmagick
 , writeScript
@@ -50,7 +50,7 @@ let
     installPhase = ''
       runHook preInstall
       mkdir -p $out/bin
-      makeWrapper ${electron_18}/bin/electron $out/bin/obsidian \
+      makeWrapper ${electron_21}/bin/electron $out/bin/obsidian \
         --add-flags $out/share/obsidian/app.asar \
         --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland}}"
       install -m 444 -D resources/app.asar $out/share/obsidian/app.asar
diff --git a/pkgs/applications/science/misc/cwltool/default.nix b/pkgs/applications/science/misc/cwltool/default.nix
index f6d9f4510fa..665a2924af4 100644
--- a/pkgs/applications/science/misc/cwltool/default.nix
+++ b/pkgs/applications/science/misc/cwltool/default.nix
@@ -7,14 +7,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "cwltool";
-  version = "3.1.20221201130942";
+  version = "3.1.20230127121939";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "common-workflow-language";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-PeddmHMJYtj/AAItmUVeyETizF7SKzkJ3bXYkeZU+xs=";
+    hash = "sha256-pEow2vEpQ2+c3fXkB8q7R4pud1xLzE74+HEqcBzg0D8=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/video/ani-cli/default.nix b/pkgs/applications/video/ani-cli/default.nix
index 07a0a5803ca..03e9996a100 100644
--- a/pkgs/applications/video/ani-cli/default.nix
+++ b/pkgs/applications/video/ani-cli/default.nix
@@ -4,21 +4,21 @@
 , lib
 , gnugrep
 , gnused
-, curl
-, openssl
+, wget
+, fzf
 , mpv
 , aria2
 }:
 
 stdenvNoCC.mkDerivation rec {
   pname = "ani-cli";
-  version = "3.4";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "pystardust";
     repo = "ani-cli";
     rev = "v${version}";
-    sha256 = "sha256-Xb7MNL7YKbvyRR5ZppUfCYeYpjNAiJWNOjIFk5fUvpY=";
+    hash = "sha256-1yhBlQ/abT+/BKEIskgnAh+cmKCzXuS9hu6apaangVk=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -29,7 +29,7 @@ stdenvNoCC.mkDerivation rec {
     install -Dm755 ani-cli $out/bin/ani-cli
 
     wrapProgram $out/bin/ani-cli \
-      --prefix PATH : ${lib.makeBinPath [ gnugrep gnused curl openssl mpv aria2 ]}
+      --prefix PATH : ${lib.makeBinPath [ gnugrep gnused wget fzf mpv aria2 ]}
 
     runHook postInstall
   '';
diff --git a/pkgs/data/fonts/font-awesome/default.nix b/pkgs/data/fonts/font-awesome/default.nix
index 973df59e408..a6f748f2f07 100644
--- a/pkgs/data/fonts/font-awesome/default.nix
+++ b/pkgs/data/fonts/font-awesome/default.nix
@@ -1,21 +1,22 @@
-{ lib, fetchFromGitHub }:
+{ lib, stdenvNoCC, fetchFromGitHub }:
 let
-  font-awesome = { version, sha256, rev ? version }: fetchFromGitHub {
-    name = "font-awesome-${version}";
+  font-awesome = { version, hash, rev ? version }: stdenvNoCC.mkDerivation {
+    pname = "font-awesome";
+    inherit version;
 
+    src = fetchFromGitHub {
+      owner = "FortAwesome";
+      repo = "Font-Awesome";
+      inherit rev hash;
+    };
 
-    owner = "FortAwesome";
-    repo = "Font-Awesome";
-    inherit rev;
+    installPhase = ''
+      runHook preInstall
 
-    postFetch = ''
-      install -m444 -Dt $out/share/fonts/opentype $out/{fonts,otfs}/*.otf
-      shopt -s extglob dotglob
-      rm -rf $out/!(share)
-      shopt -u extglob dotglob
-    '';
+      install -m444 -Dt $out/share/fonts/opentype {fonts,otfs}/*.otf
 
-    inherit sha256;
+      runHook postInstall
+    '';
 
     meta = with lib; {
       description = "Font Awesome - OTF font";
@@ -40,14 +41,14 @@ in
   v4 = font-awesome {
     version = "4.7.0";
     rev = "v4.7.0";
-    sha256 = "sha256-qdrIwxAB+z+4PXrKrj6bBuiJY0DYQuHm2DRng5sYEck=";
+    hash = "sha256-LL9zWFC+76wH74nqKszPQf2ZDfXq8BiH6tuiK43wYHA=";
   };
   v5 = font-awesome {
     version = "5.15.3";
-    sha256 = "sha256-EDxk/yO3nMmtM/ytrAEgPYSBbep3rA3NrKkiqf3OsU0=";
+    hash = "sha256-CFXGsl70o/gXUCEKu8Wkv4EBRhrrcMIq8NpfWzcxEus=";
   };
   v6 = font-awesome {
     version = "6.1.1";
-    sha256 = "sha256-BjK1PJQFWtKDvfQ2Vh7BoOPqYucyvOG+2Pu/Kh+JpAA=";
+    hash = "sha256-rujqhKI33Pi2xugMKGoTJDkPkCDK407+Da6yNJP2yAc=";
   };
 }
diff --git a/pkgs/data/fonts/open-sans/default.nix b/pkgs/data/fonts/open-sans/default.nix
index 0c7f8dce57a..4883cd818b1 100644
--- a/pkgs/data/fonts/open-sans/default.nix
+++ b/pkgs/data/fonts/open-sans/default.nix
@@ -1,21 +1,25 @@
-{ lib, fetchFromGitLab }:
+{ lib, stdenvNoCC, fetchFromGitLab }:
 
-let
+stdenvNoCC.mkDerivation {
   pname = "open-sans";
   version = "1.11";
-in fetchFromGitLab {
-  name = "${pname}-${version}";
 
-  domain = "salsa.debian.org";
-  owner = "fonts-team";
-  repo = "fonts-open-sans";
-  rev = "debian/1.11-1";
-  postFetch = ''
-    tar xf $downloadedFile --strip=1
+  src = fetchFromGitLab {
+    domain = "salsa.debian.org";
+    owner = "fonts-team";
+    repo = "fonts-open-sans";
+    rev = "debian/1.11-1";
+    hash = "sha256-gkq5RPa83dND91q1hiA9Qokq1iA8gLQ8XvCNWe+e8Bw=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/share/fonts/truetype
     cp *.ttf $out/share/fonts/truetype
+
+    runHook postInstall
   '';
-  sha256 = "146ginwx18z624z582lrnhil8jvi9bjg6843265bgxxrfmf75vhp";
 
   meta = with lib; {
     description = "Open Sans fonts";
diff --git a/pkgs/development/libraries/libde265/default.nix b/pkgs/development/libraries/libde265/default.nix
index d054e223cf0..18b8d6ba5d6 100644
--- a/pkgs/development/libraries/libde265/default.nix
+++ b/pkgs/development/libraries/libde265/default.nix
@@ -6,7 +6,6 @@
 
 # for passthru.tests
 , imagemagick
-, imagemagick6
 , libheif
 , imlib2Full
 , gst_all_1
@@ -28,7 +27,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   passthru.tests = {
-    inherit imagemagick imagemagick6 libheif imlib2Full;
+    inherit imagemagick libheif imlib2Full;
     inherit (gst_all_1) gst-plugins-bad;
   };
 
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index 2d47b090b1a..3c3c08e3847 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -39,7 +39,11 @@
       "amd" # AMD (aka RADV)
       "microsoft-experimental" # WSL virtualized GPU (aka DZN/Dozen)
       "swrast" # software renderer (aka Lavapipe)
-      "virtio-experimental" # QEMU virtualized GPU (aka VirGL)
+    ]
+    ++ lib.optionals (stdenv.hostPlatform.isAarch -> lib.versionAtLeast stdenv.hostPlatform.parsed.cpu.version "6") [
+      # QEMU virtualized GPU (aka VirGL)
+      # Requires ATOMIC_INT_LOCK_FREE == 2.
+      "virtio-experimental"
     ]
     ++ lib.optionals stdenv.isAarch64 [
       "broadcom" # Broadcom VC5 (Raspberry Pi 4, aka V3D)
diff --git a/pkgs/development/mobile/maestro/default.nix b/pkgs/development/mobile/maestro/default.nix
index f1a7c049d83..0df241ad378 100644
--- a/pkgs/development/mobile/maestro/default.nix
+++ b/pkgs/development/mobile/maestro/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "maestro";
-  version = "1.21.2";
+  version = "1.21.3";
 
   src = fetchurl {
     url = "https://github.com/mobile-dev-inc/maestro/releases/download/cli-${version}/maestro.zip";
-    sha256 = "1pd38izpwr19929pmqqqw9cvyf1sqzcmrywr7cyn9q8saxs97z8z";
+    sha256 = "1sphkzknz4lidj3vxzvq31x6k6si32smn2yylibccv4p4hjwvn68";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json
index c687e763c28..c0abee84841 100644
--- a/pkgs/development/node-packages/node-packages.json
+++ b/pkgs/development/node-packages/node-packages.json
@@ -183,7 +183,7 @@
 , "insect"
 , "intelephense"
 , "ionic"
-, {"iosevka": "https://github.com/be5invis/Iosevka/archive/v15.6.3.tar.gz"}
+, {"iosevka": "https://github.com/be5invis/Iosevka/archive/v17.1.0.tar.gz"}
 , "jake"
 , "javascript-typescript-langserver"
 , "joplin"
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index 9c30ac4dc6d..6b11be178ff 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -31,13 +31,13 @@ let
         sha512 = "ULSIYPy4ZPM301dfCxRz0l2GJjOwIo/PqmWonIu1bLml7UmnVQmH+juJcoyXp6E8gIRRNAjGYftJnNQlfy4vPg==";
       };
     };
-    "@adobe/css-tools-4.0.2" = {
+    "@adobe/css-tools-4.1.0" = {
       name = "_at_adobe_slash_css-tools";
       packageName = "@adobe/css-tools";
-      version = "4.0.2";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.0.2.tgz";
-        sha512 = "Fx6tYjk2wKUgLi8uMANZr8GNZx05u44ArIJldn9VxLvolzlJVgHbTUCbwhMd6bcYky178+WUSxPHO3DAtGLWpw==";
+        url = "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.1.0.tgz";
+        sha512 = "mMVJ/j/GbZ/De4ZHWbQAQO1J6iVnjtZLc9WEdkUQb8S/Bu2cAF2bETXUgMAdvMG3/ngtKmcNBe+Zms9bg6jnQQ==";
       };
     };
     "@akryum/winattr-3.0.0" = {
@@ -148,13 +148,13 @@ let
         sha512 = "qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==";
       };
     };
-    "@angular-devkit/architect-0.1501.1" = {
+    "@angular-devkit/architect-0.1501.3" = {
       name = "_at_angular-devkit_slash_architect";
       packageName = "@angular-devkit/architect";
-      version = "0.1501.1";
+      version = "0.1501.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1501.1.tgz";
-        sha512 = "2uDa/+nVGwQ5X6UJtB14V37SbD/64WSg0hKyX5z1yp6wYrSuk7PWV8hddIsiYM3aIT5wTGqfLil6NkV4G/BzQw==";
+        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1501.3.tgz";
+        sha512 = "+hvesYUgChdAkBcWSO2pseIGBzRDAATyIw36UBwOmYkL7wM65TEXpspbo5ZIfU1M/l7X/lHzDXLTzCMfb0Qxbg==";
       };
     };
     "@angular-devkit/core-15.0.4" = {
@@ -166,13 +166,13 @@ let
         sha512 = "4ITpRAevd652SxB+qNesIQ9qfbm7wT5UBU5kJOPPwGL77I21g8CQpkmV1n5VSacPvC9Zbz90feOWexf7w7JzcA==";
       };
     };
-    "@angular-devkit/core-15.1.1" = {
+    "@angular-devkit/core-15.1.3" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
-      version = "15.1.1";
+      version = "15.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-15.1.1.tgz";
-        sha512 = "wss76zfw4oPHs+Dd0OIbLv8os/BXDkDErj9hCjBbycQN768EqF8z7EBNGy6SKHYhmfXJy9REUkEgt9qPMJb4CQ==";
+        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-15.1.3.tgz";
+        sha512 = "biuS+DceyZEqcE/cLvndtslqn3Q6uCmJ0RLpACikH6ESYorvk+A91H0ofuGue6HB/2CUN/F+mPSr7sWVI1W9sA==";
       };
     };
     "@angular-devkit/schematics-15.0.4" = {
@@ -184,13 +184,13 @@ let
         sha512 = "/gXiLFS0+xFdx6wPoBpe/c6/K9I5edMpaASqPf4XheKtrsSvL+qTlIi3nsbfItzOiDXbaBmlbxGfkMHz/yg0Ig==";
       };
     };
-    "@angular-devkit/schematics-15.1.1" = {
+    "@angular-devkit/schematics-15.1.3" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
-      version = "15.1.1";
+      version = "15.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.1.1.tgz";
-        sha512 = "ullwoxFT9aMhQR2aNwb/66A6l4HTgp4I6thbBywt86nn+ZGbJCzLKRdv2vmYh9JaxZYh1pydxWjKLEUdlycKXg==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-15.1.3.tgz";
+        sha512 = "IXZ56/5uFnHqnLq+80JhmFx5mflyW8LgS/8Tr2l5DYVA71Fh3b1q+vGrEZB1X2zPoFeDOGAxv3Fi+kmjcz1GZg==";
       };
     };
     "@angular-devkit/schematics-cli-15.0.4" = {
@@ -364,13 +364,13 @@ let
         sha512 = "GBD2Le9w2+lVFoc4vswGI/TjkNIZSVp7+9xPf+X3uidBfWnAeUWmquteSyt0+VCrhNMWj/FTABISQrD3Z/YA+w==";
       };
     };
-    "@apidevtools/json-schema-ref-parser-9.1.0" = {
+    "@apidevtools/json-schema-ref-parser-9.1.2" = {
       name = "_at_apidevtools_slash_json-schema-ref-parser";
       packageName = "@apidevtools/json-schema-ref-parser";
-      version = "9.1.0";
+      version = "9.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.1.0.tgz";
-        sha512 = "teB30tFooE3iQs2HQIKJ02D8UZA1Xy1zaczzhUjJs0CymYxeC0g+y5rCY2p8NHBM6DBUVoR8rSM4kHLj1WE9mQ==";
+        url = "https://registry.npmjs.org/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.1.2.tgz";
+        sha512 = "r1w81DpR+KyRWd3f+rk6TNqMgedmAxZP5v5KWlXQWlgMUUtyEJch0DKEci1SorPMiSeM8XPl7MZ3miJ60JIpQg==";
       };
     };
     "@apidevtools/openapi-schemas-2.1.0" = {
@@ -562,85 +562,85 @@ let
         sha512 = "FO+EteK+Gk3zwumrBw6frpp9cJ4oQL5++hBBpfM81w16e9KaiA4sKrzvQsvVjifoZZHNvVEX4D2zoz9i8CLccQ==";
       };
     };
-    "@aws-crypto/crc32-2.0.0" = {
+    "@aws-crypto/crc32-3.0.0" = {
       name = "_at_aws-crypto_slash_crc32";
       packageName = "@aws-crypto/crc32";
-      version = "2.0.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-2.0.0.tgz";
-        sha512 = "TvE1r2CUueyXOuHdEigYjIZVesInd9KN+K/TFFNfkkxRThiNxO6i4ZqqAVMoEjAamZZ1AA8WXJkjCz7YShHPQA==";
+        url = "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz";
+        sha512 = "IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==";
       };
     };
-    "@aws-crypto/crc32c-2.0.0" = {
+    "@aws-crypto/crc32c-3.0.0" = {
       name = "_at_aws-crypto_slash_crc32c";
       packageName = "@aws-crypto/crc32c";
-      version = "2.0.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-2.0.0.tgz";
-        sha512 = "vF0eMdMHx3O3MoOXUfBZry8Y4ZDtcuskjjKgJz8YfIDjLStxTZrYXk+kZqtl6A0uCmmiN/Eb/JbC/CndTV1MHg==";
+        url = "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-3.0.0.tgz";
+        sha512 = "ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==";
       };
     };
-    "@aws-crypto/ie11-detection-2.0.2" = {
+    "@aws-crypto/ie11-detection-3.0.0" = {
       name = "_at_aws-crypto_slash_ie11-detection";
       packageName = "@aws-crypto/ie11-detection";
-      version = "2.0.2";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-2.0.2.tgz";
-        sha512 = "5XDMQY98gMAf/WRTic5G++jfmS/VLM0rwpiOpaainKi4L0nqWMSB1SzsrEG5rjFZGYN6ZAefO+/Yta2dFM0kMw==";
+        url = "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz";
+        sha512 = "341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==";
       };
     };
-    "@aws-crypto/sha1-browser-2.0.0" = {
+    "@aws-crypto/sha1-browser-3.0.0" = {
       name = "_at_aws-crypto_slash_sha1-browser";
       packageName = "@aws-crypto/sha1-browser";
-      version = "2.0.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-2.0.0.tgz";
-        sha512 = "3fIVRjPFY8EG5HWXR+ZJZMdWNRpwbxGzJ9IH9q93FpbgCH8u8GHRi46mZXp3cYD7gealmyqpm3ThZwLKJjWJhA==";
+        url = "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-3.0.0.tgz";
+        sha512 = "NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==";
       };
     };
-    "@aws-crypto/sha256-browser-2.0.0" = {
+    "@aws-crypto/sha256-browser-3.0.0" = {
       name = "_at_aws-crypto_slash_sha256-browser";
       packageName = "@aws-crypto/sha256-browser";
-      version = "2.0.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-2.0.0.tgz";
-        sha512 = "rYXOQ8BFOaqMEHJrLHul/25ckWH6GTJtdLSajhlqGMx0PmSueAuvboCuZCTqEKlxR8CQOwRarxYMZZSYlhRA1A==";
+        url = "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz";
+        sha512 = "8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==";
       };
     };
-    "@aws-crypto/sha256-js-2.0.0" = {
+    "@aws-crypto/sha256-js-3.0.0" = {
       name = "_at_aws-crypto_slash_sha256-js";
       packageName = "@aws-crypto/sha256-js";
-      version = "2.0.0";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-2.0.0.tgz";
-        sha512 = "VZY+mCY4Nmrs5WGfitmNqXzaE873fcIZDu54cbaDaaamsaTOP1DBImV9F4pICc3EHjQXujyE8jig+PFCaew9ig==";
+        url = "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz";
+        sha512 = "PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==";
       };
     };
-    "@aws-crypto/supports-web-crypto-2.0.2" = {
+    "@aws-crypto/supports-web-crypto-3.0.0" = {
       name = "_at_aws-crypto_slash_supports-web-crypto";
       packageName = "@aws-crypto/supports-web-crypto";
-      version = "2.0.2";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-2.0.2.tgz";
-        sha512 = "6mbSsLHwZ99CTOOswvCRP3C+VCWnzBf+1SnbWxzzJ9lR0mA0JnY2JEAhp8rqmTE0GPFy88rrM27ffgp62oErMQ==";
+        url = "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz";
+        sha512 = "06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==";
       };
     };
-    "@aws-crypto/util-2.0.2" = {
+    "@aws-crypto/util-3.0.0" = {
       name = "_at_aws-crypto_slash_util";
       packageName = "@aws-crypto/util";
-      version = "2.0.2";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-crypto/util/-/util-2.0.2.tgz";
-        sha512 = "Lgu5v/0e/BcrZ5m/IWqzPUf3UYFTy/PpeED+uc9SWUR1iZQL8XXbGQg10UfllwwBryO3hFF5dizK+78aoXC1eA==";
+        url = "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz";
+        sha512 = "2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==";
       };
     };
-    "@aws-sdk/abort-controller-3.226.0" = {
+    "@aws-sdk/abort-controller-3.257.0" = {
       name = "_at_aws-sdk_slash_abort-controller";
       packageName = "@aws-sdk/abort-controller";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.226.0.tgz";
-        sha512 = "cJVzr1xxPBd08voknXvR0RLgtZKGKt6WyDpH/BaPCu3rfSqWCDZKzwqe940eqosjmKrxC6pUZNKASIqHOQ8xxQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.257.0.tgz";
+        sha512 = "ekWy391lOerS0ZECdhp/c+X7AToJIpfNrCPjuj3bKr+GMQYckGsYsdbm6AUD4sxBmfvuaQmVniSXWovaxwcFcQ==";
       };
     };
     "@aws-sdk/chunked-blob-reader-3.188.0" = {
@@ -661,202 +661,202 @@ let
         sha512 = "JeOZ95PW+fJ6bbuqPySYqLqHk1n4+4ueEEraJsiUrPBV0S1ZtyvOGHcnGztKUjr2PYNaiexmpWuvUve9K12HRA==";
       };
     };
-    "@aws-sdk/client-s3-3.252.0" = {
+    "@aws-sdk/client-s3-3.259.0" = {
       name = "_at_aws-sdk_slash_client-s3";
       packageName = "@aws-sdk/client-s3";
-      version = "3.252.0";
+      version = "3.259.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.252.0.tgz";
-        sha512 = "VsTDuztgrwwBnkTZKm3t3cyXNTnWRCxDN4fCeEabw8/GB6KKSrs1a9pYXyWXuXtuvV5lFG4tIZMcXF7UkVXqyg==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.259.0.tgz";
+        sha512 = "yZy7oTTqPAn5H1SxbsynzVRr6kSf5hJQYl00P1dpzsAjTJmRzV4CdHwUxsBkyfUeC6u324iJi9zir1v8HHgUJw==";
       };
     };
-    "@aws-sdk/client-sso-3.252.0" = {
+    "@aws-sdk/client-sso-3.259.0" = {
       name = "_at_aws-sdk_slash_client-sso";
       packageName = "@aws-sdk/client-sso";
-      version = "3.252.0";
+      version = "3.259.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.252.0.tgz";
-        sha512 = "VgBqJvvCU4y9zAHJwYj5nOeNGcCxKdCO4edUxWQVHcpLsVWu49maOVtWuteq9MOrHYeWfQi8bVWGt8MPvv9+bA==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.259.0.tgz";
+        sha512 = "TKi9Lj0zqxsrQWOZ+e4WchNDtLDz6B+ahMzYDIOFlglDPPEzbZE//PBMZCba/AAIe6U3xaUQSnni+4mNbRLg7Q==";
       };
     };
-    "@aws-sdk/client-sso-oidc-3.252.0" = {
+    "@aws-sdk/client-sso-oidc-3.259.0" = {
       name = "_at_aws-sdk_slash_client-sso-oidc";
       packageName = "@aws-sdk/client-sso-oidc";
-      version = "3.252.0";
+      version = "3.259.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.252.0.tgz";
-        sha512 = "OOwfEXFS+UliGZorEleARsXXUp3ObZSXo9/YY+8XF7/8froAqYjKCEi0tflghgYlh7d6qe7wzD7/6gDL1a/qgA==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-sso-oidc/-/client-sso-oidc-3.259.0.tgz";
+        sha512 = "TKpUX55qLM35sQXx96VnB/ZcQCcBxVU/0j0wqL8Hij+blD7fy6KrGGJPORzRphmFg8Ehf1IoCivFxrQwLrjZ6A==";
       };
     };
-    "@aws-sdk/client-sts-3.252.0" = {
+    "@aws-sdk/client-sts-3.259.0" = {
       name = "_at_aws-sdk_slash_client-sts";
       packageName = "@aws-sdk/client-sts";
-      version = "3.252.0";
+      version = "3.259.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.252.0.tgz";
-        sha512 = "wzfsWOlDFLdmeML8R7DUJWGl9wcRKf2uiunfB1aWzpdlgms0Z7FkHWgkDYHjCPyYHL6EBm84ajGl1UkE7AcmqQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.259.0.tgz";
+        sha512 = "LXqua4FoXxR30sM4BSwmPI6x0YmDTw6yQhxQQXA5hrx+YwUf8CSpa0K6Xwfv8M5+zP0uHfY1iVxx/rnT8FOEmA==";
       };
     };
-    "@aws-sdk/config-resolver-3.234.0" = {
+    "@aws-sdk/config-resolver-3.259.0" = {
       name = "_at_aws-sdk_slash_config-resolver";
       packageName = "@aws-sdk/config-resolver";
-      version = "3.234.0";
+      version = "3.259.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.234.0.tgz";
-        sha512 = "uZxy4wzllfvgCQxVc+Iqhde0NGAnfmV2hWR6ejadJaAFTuYNvQiRg9IqJy3pkyDPqXySiJ8Bom5PoJfgn55J/A==";
+        url = "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.259.0.tgz";
+        sha512 = "gViMRsc4Ye6+nzJ0OYTZIT8m4glIAdtugN2Sr/t6P2iJW5X0bSL/EcbcHBgsve1lHjeGPeyzVkT7UnyGOZ5Z/A==";
       };
     };
-    "@aws-sdk/credential-provider-env-3.226.0" = {
+    "@aws-sdk/credential-provider-env-3.257.0" = {
       name = "_at_aws-sdk_slash_credential-provider-env";
       packageName = "@aws-sdk/credential-provider-env";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.226.0.tgz";
-        sha512 = "sd8uK1ojbXxaZXlthzw/VXZwCPUtU3PjObOfr3Evj7MPIM2IH8h29foOlggx939MdLQGboJf9gKvLlvKDWtJRA==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.257.0.tgz";
+        sha512 = "GsmBi5Di6hk1JAi1iB6/LCY8o+GmlCvJoB7wuoVmXI3VxRVwptUVjuj8EtJbIrVGrF9dSuIRPCzUoSuzEzYGlg==";
       };
     };
-    "@aws-sdk/credential-provider-imds-3.226.0" = {
+    "@aws-sdk/credential-provider-imds-3.259.0" = {
       name = "_at_aws-sdk_slash_credential-provider-imds";
       packageName = "@aws-sdk/credential-provider-imds";
-      version = "3.226.0";
+      version = "3.259.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.226.0.tgz";
-        sha512 = "//z/COQm2AjYFI1Lb0wKHTQSrvLFTyuKLFQGPJsKS7DPoxGOCKB7hmYerlbl01IDoCxTdyL//TyyPxbZEOQD5Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.259.0.tgz";
+        sha512 = "yCxoYWZAaDrCUEWxRfrpB0Mp1cFgJEMYW8T6GIb/+DQ5QLpZmorgaVD/j90QXupqFrR5tlxwuskBIkdD2E9YNg==";
       };
     };
-    "@aws-sdk/credential-provider-ini-3.252.0" = {
+    "@aws-sdk/credential-provider-ini-3.259.0" = {
       name = "_at_aws-sdk_slash_credential-provider-ini";
       packageName = "@aws-sdk/credential-provider-ini";
-      version = "3.252.0";
+      version = "3.259.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.252.0.tgz";
-        sha512 = "OfpU8xMYK7+6XQ2dUO4rN0gUhhb/ZLV7iwSL6Ji2pI9gglGhKdOSfmbn6fBfCB50kzWZRNoiQJVaBu/d0Kr0EQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.259.0.tgz";
+        sha512 = "/sjZv+XvcSMnvDTsau0cHxMFcbz4f4ksvgu10JQ1PpcH5CPQJviDJjZRzzijcOuMZ3SOO0skyuYU6tjY18cgIg==";
       };
     };
-    "@aws-sdk/credential-provider-node-3.252.0" = {
+    "@aws-sdk/credential-provider-node-3.259.0" = {
       name = "_at_aws-sdk_slash_credential-provider-node";
       packageName = "@aws-sdk/credential-provider-node";
-      version = "3.252.0";
+      version = "3.259.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.252.0.tgz";
-        sha512 = "Jt854JnB7izkJ/gb3S0hBFqAQPUNUP3eL8gXX2uqk9A9bQFQdS57/Ci0FXaEPwOXzJwAAPazD8dTf6HXMhnm3w==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.259.0.tgz";
+        sha512 = "7doM6hCPTZD0H+A7VtElLY4Ztuhg3MbjoHs00TyPZNCym7f/AKmKi9Exiw1tGgxTJkfn/SzcAWz+TyqMP078ow==";
       };
     };
-    "@aws-sdk/credential-provider-process-3.226.0" = {
+    "@aws-sdk/credential-provider-process-3.257.0" = {
       name = "_at_aws-sdk_slash_credential-provider-process";
       packageName = "@aws-sdk/credential-provider-process";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.226.0.tgz";
-        sha512 = "iUDMdnrTvbvaCFhWwqyXrhvQ9+ojPqPqXhwZtY1X/Qaz+73S9gXBPJHZaZb2Ke0yKE1Ql3bJbKvmmxC/qLQMng==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.257.0.tgz";
+        sha512 = "xK8uYeNXaclaBCGrLi4z2pxPRngqLf5BM5jg2fn57zqvlL9V5gJF972FehrVBL0bfp1/laG0ZJtD2K2sapyWAw==";
       };
     };
-    "@aws-sdk/credential-provider-sso-3.252.0" = {
+    "@aws-sdk/credential-provider-sso-3.259.0" = {
       name = "_at_aws-sdk_slash_credential-provider-sso";
       packageName = "@aws-sdk/credential-provider-sso";
-      version = "3.252.0";
+      version = "3.259.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.252.0.tgz";
-        sha512 = "2JGoojMOBjG9/DenctEszjdPechq0uDTpH5nx+z1xxIAugA5+HYG/ncNfpwhmUBCrnOxpRaQViTNqXddEPHlAg==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.259.0.tgz";
+        sha512 = "cz+8aNKxvZ8ikd0JDcB9MZredOJNRZkbco8QAM0gXfy6ziyX+23oU8+aekZljDzQR5QNRouvMz1KKmBxZLpNyg==";
       };
     };
-    "@aws-sdk/credential-provider-web-identity-3.226.0" = {
+    "@aws-sdk/credential-provider-web-identity-3.257.0" = {
       name = "_at_aws-sdk_slash_credential-provider-web-identity";
       packageName = "@aws-sdk/credential-provider-web-identity";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.226.0.tgz";
-        sha512 = "CCpv847rLB0SFOHz2igvUMFAzeT2fD3YnY4C8jltuJoEkn0ITn1Hlgt13nTJ5BUuvyti2mvyXZHmNzhMIMrIlw==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.257.0.tgz";
+        sha512 = "Cm0uvRv4JuIbD0Kp3W0J/vwjADIyCx8HoZi5yg+QIi5nilocuTQ3ajvLeuPVSvFvdy+yaxSc5FxNXquWt7Mngw==";
       };
     };
-    "@aws-sdk/eventstream-codec-3.226.0" = {
+    "@aws-sdk/eventstream-codec-3.258.0" = {
       name = "_at_aws-sdk_slash_eventstream-codec";
       packageName = "@aws-sdk/eventstream-codec";
-      version = "3.226.0";
+      version = "3.258.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.226.0.tgz";
-        sha512 = "6uPtR8vSwz3fqoZk9hrb6qBYdp3PJ22+JxV5Wimdesvow4kJXSgDQXIxEkxbv6SxB9tNRB4uJHD84RetHEi15Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-codec/-/eventstream-codec-3.258.0.tgz";
+        sha512 = "DTd6aggICXOH74tBQEliwLbeoXRbQ3uROBWYl7DdrbAemzHACDFzPCXXa9MTJMZcq3Tva8/E/3bv1fXuU/xkAA==";
       };
     };
-    "@aws-sdk/eventstream-serde-browser-3.226.0" = {
+    "@aws-sdk/eventstream-serde-browser-3.258.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-browser";
       packageName = "@aws-sdk/eventstream-serde-browser";
-      version = "3.226.0";
+      version = "3.258.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.226.0.tgz";
-        sha512 = "otYC5aZE9eJUqAlKpy8w0rPDQ1eKGvZPtgxWXmFYSO2lDVGfI1nBBNmdZ4MdHqNuQ7ucsKMQYF8BFJ65K2tYPA==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.258.0.tgz";
+        sha512 = "bRcNxDrBFd0UsrLh88kwpvGDHjVupZP3gPJ5b7wseCuuWJzp56/7hNI97IywgARta91rcaf4K147VxFkSNaVlw==";
       };
     };
-    "@aws-sdk/eventstream-serde-config-resolver-3.226.0" = {
+    "@aws-sdk/eventstream-serde-config-resolver-3.257.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-config-resolver";
       packageName = "@aws-sdk/eventstream-serde-config-resolver";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.226.0.tgz";
-        sha512 = "A56Gypg+lyEfA5cna+EUH9XTrj0SvRG1gwNW7lrUzviN36SeA/LFTUIOEjxVML3Lowy+EPAcrSZ67h6aepoAig==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.257.0.tgz";
+        sha512 = "YbUETgkcFqPJmwcBozHbx3Xloh7mPk9SunNB+Ndy8egwV3L/jNZnEzZnPOtWbD10AXSuJvSbGQ8+l4FblRqZqw==";
       };
     };
-    "@aws-sdk/eventstream-serde-node-3.226.0" = {
+    "@aws-sdk/eventstream-serde-node-3.258.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-node";
       packageName = "@aws-sdk/eventstream-serde-node";
-      version = "3.226.0";
+      version = "3.258.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.226.0.tgz";
-        sha512 = "KWLnKkKDzI9RNkiK6OiSYpG/XjZfue6Bsp/vRG+H5z3fbXdHv4X2+iW+Efu2Kvn7jsUyUv82TCl57DyJ/HKYhQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.258.0.tgz";
+        sha512 = "KvuitKB3fK1ZjWcB+U6d8JNv0WJtE1zvW5DXI/OabzaIR4i/LNis7469EwTsEkTqG3mV3wUa6cBA6kBSJWTVeA==";
       };
     };
-    "@aws-sdk/eventstream-serde-universal-3.226.0" = {
+    "@aws-sdk/eventstream-serde-universal-3.258.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-universal";
       packageName = "@aws-sdk/eventstream-serde-universal";
-      version = "3.226.0";
+      version = "3.258.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.226.0.tgz";
-        sha512 = "Q8viYM1Sv90/yIUqyWNeG1GEvyVlAI3GIrInQcCMC+xT59jS+IKGy2y7ojCvSWXnhf5/HMXKcmG092QsqeKy0Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.258.0.tgz";
+        sha512 = "woHNrBp8YSIaf3mcRJA0SyKFnjeLX2fRudLZq9wd555Zz/U7f45AuZOpXlU66tIZiYJI1xm32VRSIYfpIwXI+A==";
       };
     };
-    "@aws-sdk/fetch-http-handler-3.226.0" = {
+    "@aws-sdk/fetch-http-handler-3.257.0" = {
       name = "_at_aws-sdk_slash_fetch-http-handler";
       packageName = "@aws-sdk/fetch-http-handler";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.226.0.tgz";
-        sha512 = "JewZPMNEBXfi1xVnRa7pVtK/zgZD8/lQ/YnD8pq79WuMa2cwyhDtr8oqCoqsPW+WJT5ScXoMtuHxN78l8eKWgg==";
+        url = "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.257.0.tgz";
+        sha512 = "zOF+RzQ+wfF7tq7tGUdPcqUTh3+k2f8KCVJE07A8kCopVq4nBu4NH6Eq29Tjpwdya3YlKvE+kFssuQRRRRex+Q==";
       };
     };
-    "@aws-sdk/hash-blob-browser-3.226.0" = {
+    "@aws-sdk/hash-blob-browser-3.257.0" = {
       name = "_at_aws-sdk_slash_hash-blob-browser";
       packageName = "@aws-sdk/hash-blob-browser";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.226.0.tgz";
-        sha512 = "5DCvWE6L4xGoViEHyjcPFuUe1G2EtNx8TqswWaoaKgyasP/yuRm4H99Ra7rqIrjCcSTAGD9NVsUQvVVw1bGt9w==";
+        url = "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.257.0.tgz";
+        sha512 = "3Nrcci3pCCc0ZILMGa/oUMq9le6nhvgCoVxFy5skYs/mQu4QnA8HcK0u4bTueW41rBj0ZW6BHLk/2SmigIkjCQ==";
       };
     };
-    "@aws-sdk/hash-node-3.226.0" = {
+    "@aws-sdk/hash-node-3.257.0" = {
       name = "_at_aws-sdk_slash_hash-node";
       packageName = "@aws-sdk/hash-node";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.226.0.tgz";
-        sha512 = "MdlJhJ9/Espwd0+gUXdZRsHuostB2WxEVAszWxobP0FTT9PnicqnfK7ExmW+DUAc0ywxtEbR3e0UND65rlSTVw==";
+        url = "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.257.0.tgz";
+        sha512 = "W/USUuea5Ep3OJ2U7Ve8/5KN1YsDun2WzOFUxc1PyxXP5pW6OgC15/op0e+bmWPG851clvp5S8ZuroUr3aKi3Q==";
       };
     };
-    "@aws-sdk/hash-stream-node-3.226.0" = {
+    "@aws-sdk/hash-stream-node-3.257.0" = {
       name = "_at_aws-sdk_slash_hash-stream-node";
       packageName = "@aws-sdk/hash-stream-node";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.226.0.tgz";
-        sha512 = "cgNTGlF8SdHaQXtjEmuLXz2U8SLM2JDKtIVPku/lHTMsUsEn+fuv2C+h1f/hvd4aNw5t1zggym7sO1/h/rv56Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.257.0.tgz";
+        sha512 = "A24+EI0sO+IYO78sQPY4vVx7vzToc6XAobQqowmBJ6GXXILK72d3MR3NVbm0lmcS4Dh6MVZEFQD/DCyKvj2C7g==";
       };
     };
-    "@aws-sdk/invalid-dependency-3.226.0" = {
+    "@aws-sdk/invalid-dependency-3.257.0" = {
       name = "_at_aws-sdk_slash_invalid-dependency";
       packageName = "@aws-sdk/invalid-dependency";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.226.0.tgz";
-        sha512 = "QXOYFmap8g9QzRjumcRCIo2GEZkdCwd7ePQW0OABWPhKHzlJ74vvBxywjU3s39EEBEluWXtZ7Iufg6GxZM4ifw==";
+        url = "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.257.0.tgz";
+        sha512 = "T68SAPRNMEhpke0wlxURgogL7q0B8dfqZsSeS20BVR/lksJxLse9+pbmCDxiu1RrXoEIsEwl5rbLN+Hw8BFFYw==";
       };
     };
     "@aws-sdk/is-array-buffer-3.201.0" = {
@@ -868,310 +868,310 @@ let
         sha512 = "UPez5qLh3dNgt0DYnPD/q0mVJY84rA17QE26hVNOW3fAji8W2wrwrxdacWOxyXvlxWsVRcKmr+lay1MDqpAMfg==";
       };
     };
-    "@aws-sdk/md5-js-3.226.0" = {
+    "@aws-sdk/md5-js-3.258.0" = {
       name = "_at_aws-sdk_slash_md5-js";
       packageName = "@aws-sdk/md5-js";
-      version = "3.226.0";
+      version = "3.258.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.226.0.tgz";
-        sha512 = "ENigJRNudqyh6xsch166SZ4gggHd3XzZJ8gkCU4CWPne04HcR3BkWSO774IuWooCHt8zkaEHKecPurRz6qR+Vw==";
+        url = "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.258.0.tgz";
+        sha512 = "aLdZ43sEiT68p7YYPHwKsWU1WDC8Wf8UQfb4pzbvhYNgr5VxN46AtbWTKxLAqK2adKS4FnbyX2i66fINg2dHdw==";
       };
     };
-    "@aws-sdk/middleware-bucket-endpoint-3.226.0" = {
+    "@aws-sdk/middleware-bucket-endpoint-3.259.0" = {
       name = "_at_aws-sdk_slash_middleware-bucket-endpoint";
       packageName = "@aws-sdk/middleware-bucket-endpoint";
-      version = "3.226.0";
+      version = "3.259.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.226.0.tgz";
-        sha512 = "A1Vq5W2X7jgTfjqcKPmjoHohF0poP+9fxwL97fQMvzcwmjhtoCV3bLEpo6CGYx0pKPiSlRJXZkRwRPj2hDHDmA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.259.0.tgz";
+        sha512 = "eY4Bf7ZeiYK2c2XQ5IU0TDneEYSnZbaFk+ysgAkNmGoLKBhybXiKy7Dh8djB3uXeNtsZ+fZaazWmsU2kxf6Ntg==";
       };
     };
-    "@aws-sdk/middleware-content-length-3.226.0" = {
+    "@aws-sdk/middleware-content-length-3.257.0" = {
       name = "_at_aws-sdk_slash_middleware-content-length";
       packageName = "@aws-sdk/middleware-content-length";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.226.0.tgz";
-        sha512 = "ksUzlHJN2JMuyavjA46a4sctvnrnITqt2tbGGWWrAuXY1mel2j+VbgnmJUiwHKUO6bTFBBeft5Vd1TSOb4JmiA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.257.0.tgz";
+        sha512 = "yiawbV2azm6QnMY1L2ypG8PDRdjOcEIvFmT0T7y0F49rfbKJOu21j1ONAoCkLrINK6kMqcD5JSQLVCoURxiTxQ==";
       };
     };
-    "@aws-sdk/middleware-endpoint-3.226.0" = {
+    "@aws-sdk/middleware-endpoint-3.257.0" = {
       name = "_at_aws-sdk_slash_middleware-endpoint";
       packageName = "@aws-sdk/middleware-endpoint";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.226.0.tgz";
-        sha512 = "EvLFafjtUxTT0AC9p3aBQu1/fjhWdIeK58jIXaNFONfZ3F8QbEYUPuF/SqZvJM6cWfOO9qwYKkRDbCSTYhprIg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-endpoint/-/middleware-endpoint-3.257.0.tgz";
+        sha512 = "RQNQe/jeVuWZtXXfcOm+e3qMFICY6ERsXUrbt0rjHgvajZCklcrRJgxJSCwrcS7Le3nl9azFPMAMj9L7uSK28g==";
       };
     };
-    "@aws-sdk/middleware-expect-continue-3.226.0" = {
+    "@aws-sdk/middleware-expect-continue-3.257.0" = {
       name = "_at_aws-sdk_slash_middleware-expect-continue";
       packageName = "@aws-sdk/middleware-expect-continue";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.226.0.tgz";
-        sha512 = "YxvQKTV/eA9P8AgW0hXOgj5Qa+TSnNFfyOkfeP089aP3f6p92b1cESf33TEOKsddive2mHT5LRCN6MuPcgWWrA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.257.0.tgz";
+        sha512 = "7HSRA2Ta0fTq9Ewznp6fYG7CYOoqr5TeqEhKL1HyFb5i6YmsCiz88JKNJTllD5O7uFcd7Td/fJ66pK4JttfaaQ==";
       };
     };
-    "@aws-sdk/middleware-flexible-checksums-3.226.0" = {
+    "@aws-sdk/middleware-flexible-checksums-3.259.0" = {
       name = "_at_aws-sdk_slash_middleware-flexible-checksums";
       packageName = "@aws-sdk/middleware-flexible-checksums";
-      version = "3.226.0";
+      version = "3.259.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.226.0.tgz";
-        sha512 = "8A9Ot9A7794UP5tMGl2MnfTW/UM/jYy1wRWF9YkR/hPIcPb7OmE0hmlwIQGzb/7grxpYw66ETKf0WeH/41YfeQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.259.0.tgz";
+        sha512 = "DwY3+cWaONvzJSVYQncfX+ZnoPnLVA7LfgR0mrgcvVZJFrqCr1lJeUmJOmE2/kcOQefPfSbKB/L4BP6vg2EUMQ==";
       };
     };
-    "@aws-sdk/middleware-host-header-3.226.0" = {
+    "@aws-sdk/middleware-host-header-3.257.0" = {
       name = "_at_aws-sdk_slash_middleware-host-header";
       packageName = "@aws-sdk/middleware-host-header";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.226.0.tgz";
-        sha512 = "haVkWVh6BUPwKgWwkL6sDvTkcZWvJjv8AgC8jiQuSl8GLZdzHTB8Qhi3IsfFta9HAuoLjxheWBE5Z/L0UrfhLA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.257.0.tgz";
+        sha512 = "gEi9AJdJfRfU8Qr6HK1hfhxTzyV3Giq4B/h7um99hIFAT/GCg9xiPvAOKPo6UeuiKEv3b7RpSL4s6cBvnJMJBA==";
       };
     };
-    "@aws-sdk/middleware-location-constraint-3.226.0" = {
+    "@aws-sdk/middleware-location-constraint-3.257.0" = {
       name = "_at_aws-sdk_slash_middleware-location-constraint";
       packageName = "@aws-sdk/middleware-location-constraint";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.226.0.tgz";
-        sha512 = "qHiYaBYPc2R37KxG2uqsUUwh4usrQMHfGkrpTUnx5d4rGzM3mC+muPsTpSHnAL63K2/yJOHQJFjss3GGwV4SSA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.257.0.tgz";
+        sha512 = "pmm5rJR5aatXG0kC0KPBxkgoNn/ePcyVIYHGMEuJXRJm3ENy569QAH9UZeMFjprp3uuAbkqItQbY3MP8TYvuYA==";
       };
     };
-    "@aws-sdk/middleware-logger-3.226.0" = {
+    "@aws-sdk/middleware-logger-3.257.0" = {
       name = "_at_aws-sdk_slash_middleware-logger";
       packageName = "@aws-sdk/middleware-logger";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.226.0.tgz";
-        sha512 = "m9gtLrrYnpN6yckcQ09rV7ExWOLMuq8mMPF/K3DbL/YL0TuILu9i2T1W+JuxSX+K9FMG2HrLAKivE/kMLr55xA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.257.0.tgz";
+        sha512 = "8RDXW/VbMKBsXDfcCLmROZcWKyrekyiPa3J1aIaBy0tq9o4xpGoXw/lwwIrNVvISAFslb57rteup34bfn6ta6w==";
       };
     };
-    "@aws-sdk/middleware-recursion-detection-3.226.0" = {
+    "@aws-sdk/middleware-recursion-detection-3.257.0" = {
       name = "_at_aws-sdk_slash_middleware-recursion-detection";
       packageName = "@aws-sdk/middleware-recursion-detection";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.226.0.tgz";
-        sha512 = "mwRbdKEUeuNH5TEkyZ5FWxp6bL2UC1WbY+LDv6YjHxmSMKpAoOueEdtU34PqDOLrpXXxIGHDFmjeGeMfktyEcA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.257.0.tgz";
+        sha512 = "rUCih6zHh8k9Edf5N5Er4s508FYbwLM0MWTD2axzlj9TjLqEQ9OKED3wHaLffXSDzodd3oTAfJCLPbWQyoZ3ZQ==";
       };
     };
-    "@aws-sdk/middleware-retry-3.235.0" = {
+    "@aws-sdk/middleware-retry-3.259.0" = {
       name = "_at_aws-sdk_slash_middleware-retry";
       packageName = "@aws-sdk/middleware-retry";
-      version = "3.235.0";
+      version = "3.259.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.235.0.tgz";
-        sha512 = "50WHbJGpD3SNp9763MAlHqIhXil++JdQbKejNpHg7HsJne/ao3ub+fDOfx//mMBjpzBV25BGd5UlfL6blrClSg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.259.0.tgz";
+        sha512 = "pVh1g8e84MAi7eVtWLiiiCtn82LzxOP7+LxTRHatmgIeN22yGQBZILliPDJypUPvDYlwxI1ekiK+oPTcte0Uww==";
       };
     };
-    "@aws-sdk/middleware-sdk-s3-3.231.0" = {
+    "@aws-sdk/middleware-sdk-s3-3.257.0" = {
       name = "_at_aws-sdk_slash_middleware-sdk-s3";
       packageName = "@aws-sdk/middleware-sdk-s3";
-      version = "3.231.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.231.0.tgz";
-        sha512 = "UGaSvevd2TanfKgStF46dDSHkh4bxOr1gdUkyHm9i+1pF5lx4KdbnBZv/5SKnn7XifhHRXrs1M3lTzemXREhTA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.257.0.tgz";
+        sha512 = "l9KRlUgsDKV1MB3zfttX/syhIBsG5Z3VVslz6EW09eSqZVreCudW3TMdyeLemup57xC2veEpkgVj8igiXd/LVQ==";
       };
     };
-    "@aws-sdk/middleware-sdk-sts-3.226.0" = {
+    "@aws-sdk/middleware-sdk-sts-3.257.0" = {
       name = "_at_aws-sdk_slash_middleware-sdk-sts";
       packageName = "@aws-sdk/middleware-sdk-sts";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.226.0.tgz";
-        sha512 = "NN9T/qoSD1kZvAT+VLny3NnlqgylYQcsgV3rvi/8lYzw/G/2s8VS6sm/VTWGGZhx08wZRv20MWzYu3bftcyqUg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.257.0.tgz";
+        sha512 = "d6IJCLRi3O2tm4AFK60WNhIwmMmspj1WzKR1q1TaoPzoREPG2xg+Am18wZBRkCyYuRPPrbizmkvAmAJiUolMAw==";
       };
     };
-    "@aws-sdk/middleware-serde-3.226.0" = {
+    "@aws-sdk/middleware-serde-3.257.0" = {
       name = "_at_aws-sdk_slash_middleware-serde";
       packageName = "@aws-sdk/middleware-serde";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.226.0.tgz";
-        sha512 = "nPuOOAkSfx9TxzdKFx0X2bDlinOxGrqD7iof926K/AEflxGD1DBdcaDdjlYlPDW2CVE8LV/rAgbYuLxh/E/1VA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.257.0.tgz";
+        sha512 = "/JasfXPWFq24mnCrx9fxW/ISBSp07RJwhsF14qzm8Qy3Z0z470C+QRM6otTwAkYuuVt1wuLjja5agq3Jtzq7dQ==";
       };
     };
-    "@aws-sdk/middleware-signing-3.226.0" = {
+    "@aws-sdk/middleware-signing-3.257.0" = {
       name = "_at_aws-sdk_slash_middleware-signing";
       packageName = "@aws-sdk/middleware-signing";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.226.0.tgz";
-        sha512 = "E6HmtPcl+IjYDDzi1xI2HpCbBq2avNWcjvCriMZWuTAtRVpnA6XDDGW5GY85IfS3A8G8vuWqEVPr8JcYUcjfew==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.257.0.tgz";
+        sha512 = "hCH3D83LHmm6nqmtNrGTWZCVjsQXrGHIXbd17/qrw7aPFvcAhsiiCncGFP+XsUXEKa2ZqcSNMUyPrx69ofNRZQ==";
       };
     };
-    "@aws-sdk/middleware-ssec-3.226.0" = {
+    "@aws-sdk/middleware-ssec-3.257.0" = {
       name = "_at_aws-sdk_slash_middleware-ssec";
       packageName = "@aws-sdk/middleware-ssec";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.226.0.tgz";
-        sha512 = "DR97oWoLHiMdaUP/wu99HtzG7/ijvCrjZGDH37WBO1rxFtEti6L7T09wgHzwxMN8gtL8FJA7dU8IrffGSC9VmA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.257.0.tgz";
+        sha512 = "YcZrKeZk/0bsFvnTqp2rcF+6BSmeLTA65ZtyNNP2hh7Imaxg3kAQcueOJBeK4YP/5nU7a1mtt/4Q8BqbIjc41g==";
       };
     };
-    "@aws-sdk/middleware-stack-3.226.0" = {
+    "@aws-sdk/middleware-stack-3.257.0" = {
       name = "_at_aws-sdk_slash_middleware-stack";
       packageName = "@aws-sdk/middleware-stack";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.226.0.tgz";
-        sha512 = "85wF29LvPvpoed60fZGDYLwv1Zpd/cM0C22WSSFPw1SSJeqO4gtFYyCg2squfT3KI6kF43IIkOCJ+L7GtryPug==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.257.0.tgz";
+        sha512 = "awg2F0SvwACBaw4HIObK8pQGfSqAc4Vy+YFzWSfZNVC35oRO6RsRdKHVU99lRC0LrT2Ptmfghl2DMPSrRDbvlQ==";
       };
     };
-    "@aws-sdk/middleware-user-agent-3.226.0" = {
+    "@aws-sdk/middleware-user-agent-3.257.0" = {
       name = "_at_aws-sdk_slash_middleware-user-agent";
       packageName = "@aws-sdk/middleware-user-agent";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.226.0.tgz";
-        sha512 = "N1WnfzCW1Y5yWhVAphf8OPGTe8Df3vmV7/LdsoQfmpkCZgLZeK2o0xITkUQhRj1mbw7yp8tVFLFV3R2lMurdAQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.257.0.tgz";
+        sha512 = "37rt75LZyD0UWpbcFuxEGqwF3DZKSixQPl7AsDe6q3KtrO5gGQB+diH5vbY0txNNYyv5IK9WMwvY73mVmoWRmw==";
       };
     };
-    "@aws-sdk/node-config-provider-3.226.0" = {
+    "@aws-sdk/node-config-provider-3.259.0" = {
       name = "_at_aws-sdk_slash_node-config-provider";
       packageName = "@aws-sdk/node-config-provider";
-      version = "3.226.0";
+      version = "3.259.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.226.0.tgz";
-        sha512 = "B8lQDqiRk7X5izFEUMXmi8CZLOKCTWQJU9HQf3ako+sF0gexo4nHN3jhoRWyLtcgC5S3on/2jxpAcqtm7kuY3w==";
+        url = "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.259.0.tgz";
+        sha512 = "DUOqr71oonBvM6yKPdhDBmraqgXHCFrVWFw7hc5ZNxL2wS/EsbKfGPJp+C+SUgpn1upIWPNnh/bNoLAbBkcLsA==";
       };
     };
-    "@aws-sdk/node-http-handler-3.226.0" = {
+    "@aws-sdk/node-http-handler-3.257.0" = {
       name = "_at_aws-sdk_slash_node-http-handler";
       packageName = "@aws-sdk/node-http-handler";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.226.0.tgz";
-        sha512 = "xQCddnZNMiPmjr3W7HYM+f5ir4VfxgJh37eqZwX6EZmyItFpNNeVzKUgA920ka1VPz/ZUYB+2OFGiX3LCLkkaA==";
+        url = "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.257.0.tgz";
+        sha512 = "8KnWHVVwaGKyTlkTU9BSOAiSovNDoagxemU2l10QqBbzUCVpljCUMUkABEGRJ1yoQCl6DJ7RtNkAyZ8Ne/E15A==";
       };
     };
-    "@aws-sdk/property-provider-3.226.0" = {
+    "@aws-sdk/property-provider-3.257.0" = {
       name = "_at_aws-sdk_slash_property-provider";
       packageName = "@aws-sdk/property-provider";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.226.0.tgz";
-        sha512 = "TsljjG+Sg0LmdgfiAlWohluWKnxB/k8xenjeozZfzOr5bHmNHtdbWv6BtNvD/R83hw7SFXxbJHlD5H4u9p2NFg==";
+        url = "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.257.0.tgz";
+        sha512 = "3rUbRAcF0GZ5PhDiXhS4yREfZ5hOEtvYEa9S/19OdM5eoypOaLU5XnFcCKfnccSP8SkdgpJujzxOMRWNWadlAQ==";
       };
     };
-    "@aws-sdk/protocol-http-3.226.0" = {
+    "@aws-sdk/protocol-http-3.257.0" = {
       name = "_at_aws-sdk_slash_protocol-http";
       packageName = "@aws-sdk/protocol-http";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.226.0.tgz";
-        sha512 = "zWkVqiTA9RXL6y0hhfZc9bcU4DX2NI6Hw9IhQmSPeM59mdbPjJlY4bLlMr5YxywqO3yQ/ylNoAfrEzrDjlOSRg==";
+        url = "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.257.0.tgz";
+        sha512 = "xt7LGOgZIvbLS3418AYQLacOqx+mo5j4mPiIMz7f6AaUg+/fBUgESVsncKDqxbEJVwwCXSka8Ca0cntJmoeMSw==";
       };
     };
-    "@aws-sdk/querystring-builder-3.226.0" = {
+    "@aws-sdk/querystring-builder-3.257.0" = {
       name = "_at_aws-sdk_slash_querystring-builder";
       packageName = "@aws-sdk/querystring-builder";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.226.0.tgz";
-        sha512 = "LVurypuNeotO4lmirKXRC4NYrZRAyMJXuwO0f2a5ZAUJCjauwYrifKue6yCfU7bls7gut7nfcR6B99WBYpHs3g==";
+        url = "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.257.0.tgz";
+        sha512 = "mZHWLP7XIkzx1GIXO5WfX/iJ+aY9TWs02RE9FkdL2+by0HEMR65L3brQTbU1mIBJ7BjaPwYH24dljUOSABX7yg==";
       };
     };
-    "@aws-sdk/querystring-parser-3.226.0" = {
+    "@aws-sdk/querystring-parser-3.257.0" = {
       name = "_at_aws-sdk_slash_querystring-parser";
       packageName = "@aws-sdk/querystring-parser";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.226.0.tgz";
-        sha512 = "FzB+VrQ47KAFxiPt2YXrKZ8AOLZQqGTLCKHzx4bjxGmwgsjV8yIbtJiJhZLMcUQV4LtGeIY9ixIqQhGvnZHE4A==";
+        url = "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.257.0.tgz";
+        sha512 = "UDrE1dEwWrWT8dG2VCrGYrPxCWOkZ1fPTPkjpkR4KZEdQDZBqU5gYZF2xPj8Nz7pjQVHFuW2wFm3XYEk56GEjg==";
       };
     };
-    "@aws-sdk/s3-request-presigner-3.252.0" = {
+    "@aws-sdk/s3-request-presigner-3.259.0" = {
       name = "_at_aws-sdk_slash_s3-request-presigner";
       packageName = "@aws-sdk/s3-request-presigner";
-      version = "3.252.0";
+      version = "3.259.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.252.0.tgz";
-        sha512 = "9V94Fi30Yz5pYPd3aDlbzRYMCUfe7C5D5srMeygZ/XPFsvKC+B16xGKYc2fXb74V+gm68W+6pUVCshOT/AThzA==";
+        url = "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.259.0.tgz";
+        sha512 = "1qoVZk/HEnnfsbcsbBa5Y/P34T2wI209+VyEtPQzzmZbBJvOONKWySk2sAS+AJO2ZjZZur/sUS61wteuklDZEA==";
       };
     };
-    "@aws-sdk/service-error-classification-3.229.0" = {
+    "@aws-sdk/service-error-classification-3.257.0" = {
       name = "_at_aws-sdk_slash_service-error-classification";
       packageName = "@aws-sdk/service-error-classification";
-      version = "3.229.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.229.0.tgz";
-        sha512 = "dnzWWQ0/NoWMUZ5C0DW3dPm0wC1O76Y/SpKbuJzWPkx1EYy6r8p32Ly4D9vUzrKDbRGf48YHIF2kOkBmu21CLg==";
+        url = "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.257.0.tgz";
+        sha512 = "FAyR0XsueGkkqDtkP03cTJQk52NdQ9sZelLynmmlGPUP75LApRPvFe1riKrou6+LsDbwVNVffj6mbDfIcOhaOw==";
       };
     };
-    "@aws-sdk/shared-ini-file-loader-3.226.0" = {
+    "@aws-sdk/shared-ini-file-loader-3.257.0" = {
       name = "_at_aws-sdk_slash_shared-ini-file-loader";
       packageName = "@aws-sdk/shared-ini-file-loader";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.226.0.tgz";
-        sha512 = "661VQefsARxVyyV2FX9V61V+nNgImk7aN2hYlFKla6BCwZfMng+dEtD0xVGyg1PfRw0qvEv5LQyxMVgHcUSevA==";
+        url = "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.257.0.tgz";
+        sha512 = "HNjC1+Wx3xHiJc+CP14GhIdVhfQGSjroAsWseRxAhONocA9Fl1ZX4hx7+sA5c9nOoMVOovi6ivJ/6lCRPTDRrQ==";
       };
     };
-    "@aws-sdk/signature-v4-3.226.0" = {
+    "@aws-sdk/signature-v4-3.257.0" = {
       name = "_at_aws-sdk_slash_signature-v4";
       packageName = "@aws-sdk/signature-v4";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.226.0.tgz";
-        sha512 = "/R5q5agdPd7HJB68XMzpxrNPk158EHUvkFkuRu5Qf3kkkHebEzWEBlWoVpUe6ss4rP9Tqcue6xPuaftEmhjpYw==";
+        url = "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.257.0.tgz";
+        sha512 = "aLQQN59X/D0+ShzPD3Anj5ntdMA/RFeNLOUCDyDvremViGi6yxUS98usQ/8bG5Rq0sW2GGMdbFUFmrDvqdiqEQ==";
       };
     };
-    "@aws-sdk/signature-v4-crt-3.226.0" = {
+    "@aws-sdk/signature-v4-crt-3.257.0" = {
       name = "_at_aws-sdk_slash_signature-v4-crt";
       packageName = "@aws-sdk/signature-v4-crt";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/signature-v4-crt/-/signature-v4-crt-3.226.0.tgz";
-        sha512 = "zaosVAgCnPzIv2qXPi1PGa9RrD3DZ7zfKg/ZGCsYhvFku8+zMK/Ky29+2lS+QB1OzGBW8+ddSuZxJcg0xQi36g==";
+        url = "https://registry.npmjs.org/@aws-sdk/signature-v4-crt/-/signature-v4-crt-3.257.0.tgz";
+        sha512 = "FHM/QulXKxCpAVmAgGduHLps6HAQHZvhY7nnWY+G2Q1S6+d8ijZeaG0fAl7bpZW6FrBbijkWEZV+F7p+V/AHqQ==";
       };
     };
-    "@aws-sdk/signature-v4-multi-region-3.226.0" = {
+    "@aws-sdk/signature-v4-multi-region-3.257.0" = {
       name = "_at_aws-sdk_slash_signature-v4-multi-region";
       packageName = "@aws-sdk/signature-v4-multi-region";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.226.0.tgz";
-        sha512 = "QHxNuf9ynK208v7Y3imdsa3Cz8ynYV7ZOf3sBJdItuEtHN6uy/KxaOrtvpF8I5Hyn48Hc8z5miTSMujFKT7GEw==";
+        url = "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.257.0.tgz";
+        sha512 = "4ZyJp6my6F6R8jG+zlIR+Sw3W2vZcBTcpzAnSAHI0UBWjx5/buiKU5QY7oj29H3pESDD7DovZinD7TtHvMNoZw==";
       };
     };
-    "@aws-sdk/smithy-client-3.234.0" = {
+    "@aws-sdk/smithy-client-3.257.0" = {
       name = "_at_aws-sdk_slash_smithy-client";
       packageName = "@aws-sdk/smithy-client";
-      version = "3.234.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.234.0.tgz";
-        sha512 = "8AtR/k4vsFvjXeQbIzq/Wy7Nbk48Ou0wUEeVYPHWHPSU8QamFWORkOwmKtKMfHAyZvmqiAPeQqHFkq+UJhWyyQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.257.0.tgz";
+        sha512 = "Vy/en+llpslHG6WZ2yuN+On6u7p2hROEURwAST/lpReAwBETjbsxylkWvP8maeGKQ54u9uC6lIZAOJut2I3INw==";
       };
     };
-    "@aws-sdk/token-providers-3.252.0" = {
+    "@aws-sdk/token-providers-3.259.0" = {
       name = "_at_aws-sdk_slash_token-providers";
       packageName = "@aws-sdk/token-providers";
-      version = "3.252.0";
+      version = "3.259.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.252.0.tgz";
-        sha512 = "xi3pUP31tyKF4lJFCOgtkwSWESE9W1vE23Vybsq53wzXEYfnRql8RP+C9FFkUouAR6ixPHEcEYplB+l92CY49g==";
+        url = "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.259.0.tgz";
+        sha512 = "61lbk+vjlHBtNK7ZOTdR0rgk9dQ6++tklHpXZY3AQWAl3xx6K4y00HsyAtcP6k24s8B356QwXlrQJrQY5nnkQQ==";
       };
     };
-    "@aws-sdk/types-3.226.0" = {
+    "@aws-sdk/types-3.257.0" = {
       name = "_at_aws-sdk_slash_types";
       packageName = "@aws-sdk/types";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/types/-/types-3.226.0.tgz";
-        sha512 = "MmmNHrWeO4man7wpOwrAhXlevqtOV9ZLcH4RhnG5LmRce0RFOApx24HoKENfFCcOyCm5LQBlsXCqi0dZWDWU0A==";
+        url = "https://registry.npmjs.org/@aws-sdk/types/-/types-3.257.0.tgz";
+        sha512 = "LmqXuBQBGeaGi/3Rp7XiEX1B5IPO2UUfBVvu0wwGqVsmstT0SbOVDZGPmxygACbm64n+PRx3uTSDefRfoiWYZg==";
       };
     };
-    "@aws-sdk/url-parser-3.226.0" = {
+    "@aws-sdk/url-parser-3.257.0" = {
       name = "_at_aws-sdk_slash_url-parser";
       packageName = "@aws-sdk/url-parser";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.226.0.tgz";
-        sha512 = "p5RLE0QWyP0OcTOLmFcLdVgUcUEzmEfmdrnOxyNzomcYb0p3vUagA5zfa1HVK2azsQJFBv28GfvMnba9bGhObg==";
+        url = "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.257.0.tgz";
+        sha512 = "Qe/AcFe/NFZHa6cN2afXEQn9ehXxh57dWGdRjfjd2lQqNV4WW1R2pl2Tm1ZJ1dwuCNLJi4NHLMk8lrD3QQ8rdg==";
       };
     };
     "@aws-sdk/util-arn-parser-3.208.0" = {
@@ -1228,49 +1228,49 @@ let
         sha512 = "DSRqwrERUsT34ug+anlMBIFooBEGwM8GejC7q00Y/9IPrQy50KnG5PW2NiTjuLKNi7pdEOlwTSEocJE15eDZIg==";
       };
     };
-    "@aws-sdk/util-create-request-3.234.0" = {
+    "@aws-sdk/util-create-request-3.257.0" = {
       name = "_at_aws-sdk_slash_util-create-request";
       packageName = "@aws-sdk/util-create-request";
-      version = "3.234.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.234.0.tgz";
-        sha512 = "rKaM2q1jRru724crQx36V6cy07f8yO6KGrsAbRdXzuS2n1c6/w56vwyAw7ArUqjPeIc8pgDxZ0K99Te/RinzdQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.257.0.tgz";
+        sha512 = "2s1/LuNtauhwULdYTDMlLCKKmaYZTO8AcAVGOU5n8rCe9eQYWV77xITcf0iB7ilKq/nXBstIpYsbuldq4AIqXQ==";
       };
     };
-    "@aws-sdk/util-defaults-mode-browser-3.234.0" = {
+    "@aws-sdk/util-defaults-mode-browser-3.257.0" = {
       name = "_at_aws-sdk_slash_util-defaults-mode-browser";
       packageName = "@aws-sdk/util-defaults-mode-browser";
-      version = "3.234.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.234.0.tgz";
-        sha512 = "IHMKXjTbOD8XMz5+2oCOsVP94BYb9YyjXdns0aAXr2NAo7k2+RCzXQ2DebJXppGda1F6opFutoKwyVSN0cmbMw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.257.0.tgz";
+        sha512 = "nkfK+MNacVd3Px/fcAvU0hDeh+r7d+RLLt3sJ5Zc0gGd+i3OQEP58V8QzR9PYMvUvSvGQP16fQVQHSbRZtuWyQ==";
       };
     };
-    "@aws-sdk/util-defaults-mode-node-3.234.0" = {
+    "@aws-sdk/util-defaults-mode-node-3.259.0" = {
       name = "_at_aws-sdk_slash_util-defaults-mode-node";
       packageName = "@aws-sdk/util-defaults-mode-node";
-      version = "3.234.0";
+      version = "3.259.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.234.0.tgz";
-        sha512 = "UGjQ+OjBYYhxFVtUY+jtr0ZZgzZh6OHtYwRhFt8IHewJXFCfZTyfsbX20szBj5y1S4HRIUJ7cwBLIytTqMbI5w==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.259.0.tgz";
+        sha512 = "wRiiwT7ayIcTYGHUg/Ho9UN/Kd4V37OAxP2IbkG9rPZJNuvtKopQJhUSMDERXaMQ47dG5US8G4YVYJIEO4cKgw==";
       };
     };
-    "@aws-sdk/util-endpoints-3.245.0" = {
+    "@aws-sdk/util-endpoints-3.257.0" = {
       name = "_at_aws-sdk_slash_util-endpoints";
       packageName = "@aws-sdk/util-endpoints";
-      version = "3.245.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.245.0.tgz";
-        sha512 = "UNOFquB1tKx+8RT8n82Zb5tIwDyZHVPBg/m0LB0RsLETjr6krien5ASpqWezsXKIR1hftN9uaxN4bvf2dZrWHg==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.257.0.tgz";
+        sha512 = "3bvmRn5XGYzPPWjLuvHBKdJOb+fijnb8Ungu9bfXnTYFsng/ndHUWeHC22O/p8w3OWoRYUIMaZHxdxe27BFozg==";
       };
     };
-    "@aws-sdk/util-format-url-3.226.0" = {
+    "@aws-sdk/util-format-url-3.257.0" = {
       name = "_at_aws-sdk_slash_util-format-url";
       packageName = "@aws-sdk/util-format-url";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.226.0.tgz";
-        sha512 = "IhuA8iuJL1urWqZZmVzW79mHnwFEEP6rMsSKgAfMmuzowhtgk9p/sT2OVPkXk0LeZL2Ghsnw1W2JfPIs8x1qVg==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.257.0.tgz";
+        sha512 = "Q/c1BLoEZLvnjagAE0nQryhQlFoC/a8ZrXJn4XljWPeFcFAVLpCoSzcTbQM1N4oQvDIgMvl5gBeGzp0BiW30QA==";
       };
     };
     "@aws-sdk/util-hex-encoding-3.201.0" = {
@@ -1291,40 +1291,40 @@ let
         sha512 = "iua1A2+P7JJEDHVgvXrRJSvsnzG7stYSGQnBVphIUlemwl6nN5D+QrgbjECtrbxRz8asYFHSzhdhECqN+tFiBg==";
       };
     };
-    "@aws-sdk/util-middleware-3.226.0" = {
+    "@aws-sdk/util-middleware-3.257.0" = {
       name = "_at_aws-sdk_slash_util-middleware";
       packageName = "@aws-sdk/util-middleware";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.226.0.tgz";
-        sha512 = "B96CQnwX4gRvQdaQkdUtqvDPkrptV5+va6FVeJOocU/DbSYMAScLxtR3peMS8cnlOT6nL1Eoa42OI9AfZz1VwQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-middleware/-/util-middleware-3.257.0.tgz";
+        sha512 = "F9ieon8B8eGVs5tyZtAIG3DZEObDvujkspho0qRbUTHUosM0ylJLsMU800fmC/uRHLRrZvb/RSp59+kNDwSAMw==";
       };
     };
-    "@aws-sdk/util-retry-3.229.0" = {
+    "@aws-sdk/util-retry-3.257.0" = {
       name = "_at_aws-sdk_slash_util-retry";
       packageName = "@aws-sdk/util-retry";
-      version = "3.229.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.229.0.tgz";
-        sha512 = "0zKTqi0P1inD0LzIMuXRIYYQ/8c1lWMg/cfiqUcIAF1TpatlpZuN7umU0ierpBFud7S+zDgg0oemh+Nj8xliJw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-retry/-/util-retry-3.257.0.tgz";
+        sha512 = "l9TOsOAYtZxwW3q5fQKW4rsD9t2HVaBfQ4zBamHkNTfB4vBVvCnz4oxkvSvA2MlxCA6am+K1K/oj917Tpqk53g==";
       };
     };
-    "@aws-sdk/util-stream-browser-3.226.0" = {
+    "@aws-sdk/util-stream-browser-3.258.0" = {
       name = "_at_aws-sdk_slash_util-stream-browser";
       packageName = "@aws-sdk/util-stream-browser";
-      version = "3.226.0";
+      version = "3.258.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.226.0.tgz";
-        sha512 = "ZvjlA1ySaLd0DqUWTKmL7LsxfPhroAONpzsinaHmw9aZVL40s2cADU9eWgBdHTuAOeFklL7NP0cc6UiTFHKe8g==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-stream-browser/-/util-stream-browser-3.258.0.tgz";
+        sha512 = "MCAxHL3Hz/+eU4LZk0ZbLWAIUueH/jHpSbrloxZ3Dil2RL3w6NSJd5gE8zS7gs1B/eMcE600Brf5xSDR8kA5HA==";
       };
     };
-    "@aws-sdk/util-stream-node-3.226.0" = {
+    "@aws-sdk/util-stream-node-3.257.0" = {
       name = "_at_aws-sdk_slash_util-stream-node";
       packageName = "@aws-sdk/util-stream-node";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.226.0.tgz";
-        sha512 = "HADXiIgDGoXcCLSKuPnjCLENf0iC0lzqqnymZu9H2FoACZhJB7DvJ9LnP51Pvw9lfCu+yvLzbMqSPdbXtMbRWg==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-stream-node/-/util-stream-node-3.257.0.tgz";
+        sha512 = "UlLEerQCNejNulYmGXm/4X463n8n21foA2d6kgJ4AUSMWWhoRBjfwrM4gI7tA30zh9U81d6xbUtoOQTqKVtMTw==";
       };
     };
     "@aws-sdk/util-uri-escape-3.201.0" = {
@@ -1336,49 +1336,49 @@ let
         sha512 = "TeTWbGx4LU2c5rx0obHeDFeO9HvwYwQtMh1yniBz00pQb6Qt6YVOETVQikRZ+XRQwEyCg/dA375UplIpiy54mA==";
       };
     };
-    "@aws-sdk/util-user-agent-browser-3.226.0" = {
+    "@aws-sdk/util-user-agent-browser-3.257.0" = {
       name = "_at_aws-sdk_slash_util-user-agent-browser";
       packageName = "@aws-sdk/util-user-agent-browser";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.226.0.tgz";
-        sha512 = "PhBIu2h6sPJPcv2I7ELfFizdl5pNiL4LfxrasMCYXQkJvVnoXztHA1x+CQbXIdtZOIlpjC+6BjDcE0uhnpvfcA==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.257.0.tgz";
+        sha512 = "YdavWK6/8Cw6mypEgysGGX/dT9p9qnzFbnN5PQsUY+JJk2Nx8fKFydjGiQ+6rWPeW17RAv9mmbboh9uPVWxVlw==";
       };
     };
-    "@aws-sdk/util-user-agent-node-3.226.0" = {
+    "@aws-sdk/util-user-agent-node-3.259.0" = {
       name = "_at_aws-sdk_slash_util-user-agent-node";
       packageName = "@aws-sdk/util-user-agent-node";
-      version = "3.226.0";
+      version = "3.259.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.226.0.tgz";
-        sha512 = "othPc5Dz/pkYkxH+nZPhc1Al0HndQT8zHD4e9h+EZ+8lkd8n+IsnLfTS/mSJWrfiC6UlNRVw55cItstmJyMe/A==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.259.0.tgz";
+        sha512 = "R0VTmNs+ySDDebU98BUbsLyeIM5YmAEr9esPpy15XfSy3AWmAeru8nLlztdaLilHZzLIDzvM2t7NGk/FzZFCvA==";
       };
     };
-    "@aws-sdk/util-utf8-browser-3.188.0" = {
-      name = "_at_aws-sdk_slash_util-utf8-browser";
-      packageName = "@aws-sdk/util-utf8-browser";
-      version = "3.188.0";
+    "@aws-sdk/util-utf8-3.254.0" = {
+      name = "_at_aws-sdk_slash_util-utf8";
+      packageName = "@aws-sdk/util-utf8";
+      version = "3.254.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.188.0.tgz";
-        sha512 = "jt627x0+jE+Ydr9NwkFstg3cUvgWh56qdaqAMDsqgRlKD21md/6G226z/Qxl7lb1VEW2LlmCx43ai/37Qwcj2Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-utf8/-/util-utf8-3.254.0.tgz";
+        sha512 = "14Kso/eIt5/qfIBmhEL9L1IfyUqswjSTqO2mY7KOzUZ9SZbwn3rpxmtkhmATkRjD7XIlLKaxBkI7tU9Zjzj8Kw==";
       };
     };
-    "@aws-sdk/util-utf8-node-3.208.0" = {
-      name = "_at_aws-sdk_slash_util-utf8-node";
-      packageName = "@aws-sdk/util-utf8-node";
-      version = "3.208.0";
+    "@aws-sdk/util-utf8-browser-3.259.0" = {
+      name = "_at_aws-sdk_slash_util-utf8-browser";
+      packageName = "@aws-sdk/util-utf8-browser";
+      version = "3.259.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.208.0.tgz";
-        sha512 = "jKY87Acv0yWBdFxx6bveagy5FYjz+dtV8IPT7ay1E2WPWH1czoIdMAkc8tSInK31T6CRnHWkLZ1qYwCbgRfERQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz";
+        sha512 = "UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==";
       };
     };
-    "@aws-sdk/util-waiter-3.226.0" = {
+    "@aws-sdk/util-waiter-3.257.0" = {
       name = "_at_aws-sdk_slash_util-waiter";
       packageName = "@aws-sdk/util-waiter";
-      version = "3.226.0";
+      version = "3.257.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.226.0.tgz";
-        sha512 = "qYQMRxnu5k8qQihJXoIWMkBOj0+XkHHj/drLdbRnwL6ni6NcG8++cs9M3DSjIcxmxgF/7SLpDjn1H3sC7cYo4g==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.257.0.tgz";
+        sha512 = "Fr6of3EDOcXVDs5534o7VsJMXdybB0uLy2LzeFAVSwGOY3geKhIquBAiUDqCVu9B+iTldrC0rQ9NIM7ZSpPG8w==";
       };
     };
     "@aws-sdk/xml-builder-3.201.0" = {
@@ -1552,13 +1552,13 @@ let
         sha512 = "XqfbglUTVLdkHQ8F9UQJtKseRr3sSnr9ysboxtoswvaMVaEfvyLtMoHv9XdKUfOc0qKGzNgRFd9yRjIWVepl6Q==";
       };
     };
-    "@azure/msal-common-9.1.0" = {
+    "@azure/msal-common-9.1.1" = {
       name = "_at_azure_slash_msal-common";
       packageName = "@azure/msal-common";
-      version = "9.1.0";
+      version = "9.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/msal-common/-/msal-common-9.1.0.tgz";
-        sha512 = "Ai7SUJPkHOVUNAjepKp753ZXI8Haw5snTNIu+Vi6fdNPAH1KCuxSyWeBZT6hLDJSgfmYf/kazZqz7Q0BjyAGTA==";
+        url = "https://registry.npmjs.org/@azure/msal-common/-/msal-common-9.1.1.tgz";
+        sha512 = "we9xR8lvu47fF0h+J8KyXoRy9+G/fPzm3QEa2TrdR3jaVS3LKAyE2qyMuUkNdbVkvzl8Zr9f7l+IUSP22HeqXw==";
       };
     };
     "@azure/msal-node-1.14.6" = {
@@ -1615,13 +1615,13 @@ let
         sha512 = "TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==";
       };
     };
-    "@babel/compat-data-7.20.10" = {
+    "@babel/compat-data-7.20.14" = {
       name = "_at_babel_slash_compat-data";
       packageName = "@babel/compat-data";
-      version = "7.20.10";
+      version = "7.20.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.10.tgz";
-        sha512 = "sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==";
+        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.20.14.tgz";
+        sha512 = "0YpKHD6ImkWMEINCyDAD0HLLUH/lPCefG8ld9it8DJB2wnApraKuhgYTvTY1z7UFIfBTGy5LwncZ+5HWWGbhFw==";
       };
     };
     "@babel/core-7.0.0" = {
@@ -1642,15 +1642,6 @@ let
         sha512 = "XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==";
       };
     };
-    "@babel/core-7.9.0" = {
-      name = "_at_babel_slash_core";
-      packageName = "@babel/core";
-      version = "7.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.9.0.tgz";
-        sha512 = "kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==";
-      };
-    };
     "@babel/generator-7.18.2" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
@@ -1660,13 +1651,13 @@ let
         sha512 = "W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==";
       };
     };
-    "@babel/generator-7.20.7" = {
+    "@babel/generator-7.20.14" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.20.7";
+      version = "7.20.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.20.7.tgz";
-        sha512 = "7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.20.14.tgz";
+        sha512 = "AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==";
       };
     };
     "@babel/helper-annotate-as-pure-7.18.6" = {
@@ -1885,13 +1876,13 @@ let
         sha512 = "bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==";
       };
     };
-    "@babel/helpers-7.20.7" = {
+    "@babel/helpers-7.20.13" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.20.7";
+      version = "7.20.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.7.tgz";
-        sha512 = "PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA==";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.20.13.tgz";
+        sha512 = "nzJ0DWCL3gB5RCXbUO3KIMMsBY2Eqbx8mBpKGE/02PgyRQFcPQLbkQ1vyy596mZLaP+dAfD+R4ckASzNVmW3jg==";
       };
     };
     "@babel/highlight-7.18.6" = {
@@ -1930,13 +1921,13 @@ let
         sha512 = "FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==";
       };
     };
-    "@babel/parser-7.20.7" = {
+    "@babel/parser-7.20.13" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.20.7";
+      version = "7.20.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.20.7.tgz";
-        sha512 = "T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.20.13.tgz";
+        sha512 = "gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==";
       };
     };
     "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6" = {
@@ -1993,13 +1984,13 @@ let
         sha512 = "AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==";
       };
     };
-    "@babel/plugin-proposal-decorators-7.20.7" = {
+    "@babel/plugin-proposal-decorators-7.20.13" = {
       name = "_at_babel_slash_plugin-proposal-decorators";
       packageName = "@babel/plugin-proposal-decorators";
-      version = "7.20.7";
+      version = "7.20.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.20.7.tgz";
-        sha512 = "JB45hbUweYpwAGjkiM7uCyXMENH2lG+9r3G2E+ttc2PRXAoEkpfd/KW5jDg4j8RS6tLtTG1jZi9LbHZVSfs1/A==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.20.13.tgz";
+        sha512 = "7T6BKHa9Cpd7lCueHBBzP0nkXNina+h5giOZw+a8ZpMfPFY19VjJAjIxyFHuWkhCWgL6QMqRiY/wB1fLXzm6Mw==";
       };
     };
     "@babel/plugin-proposal-dynamic-import-7.18.6" = {
@@ -2344,13 +2335,13 @@ let
         sha512 = "ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==";
       };
     };
-    "@babel/plugin-transform-block-scoping-7.20.11" = {
+    "@babel/plugin-transform-block-scoping-7.20.14" = {
       name = "_at_babel_slash_plugin-transform-block-scoping";
       packageName = "@babel/plugin-transform-block-scoping";
-      version = "7.20.11";
+      version = "7.20.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz";
-        sha512 = "tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.14.tgz";
+        sha512 = "sMPepQtsOs5fM1bwNvuJJHvaCfOEQfmc01FGw0ELlTpTJj5Ql/zuNRRldYhAPys4ghXdBIQJbRVYi44/7QflQQ==";
       };
     };
     "@babel/plugin-transform-classes-7.20.7" = {
@@ -2542,13 +2533,13 @@ let
         sha512 = "TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==";
       };
     };
-    "@babel/plugin-transform-react-jsx-7.20.7" = {
+    "@babel/plugin-transform-react-jsx-7.20.13" = {
       name = "_at_babel_slash_plugin-transform-react-jsx";
       packageName = "@babel/plugin-transform-react-jsx";
-      version = "7.20.7";
+      version = "7.20.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.20.7.tgz";
-        sha512 = "Tfq7qqD+tRj3EoDhY00nn2uP2hsRxgYGi5mLQ5TimKav0a9Lrpd4deE+fcLXU8zFYRjlKPHZhpCvfEA6qnBxqQ==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.20.13.tgz";
+        sha512 = "MmTZx/bkUrfJhhYAYt3Urjm+h8DQGrPrnKQ94jLo7NLuOU+T89a7IByhKmrb8SKhrIYIQ0FN0CHMbnFRen4qNw==";
       };
     };
     "@babel/plugin-transform-react-jsx-development-7.18.6" = {
@@ -2668,13 +2659,13 @@ let
         sha512 = "SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==";
       };
     };
-    "@babel/plugin-transform-typescript-7.20.7" = {
+    "@babel/plugin-transform-typescript-7.20.13" = {
       name = "_at_babel_slash_plugin-transform-typescript";
       packageName = "@babel/plugin-transform-typescript";
-      version = "7.20.7";
+      version = "7.20.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz";
-        sha512 = "m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.13.tgz";
+        sha512 = "O7I/THxarGcDZxkgWKMUrk7NK1/WbHAg3Xx86gqS6x9MTrNL6AwIluuZ96ms4xeDe6AVx6rjHbWHP7x26EPQBA==";
       };
     };
     "@babel/plugin-transform-unicode-escapes-7.18.10" = {
@@ -2794,22 +2785,22 @@ let
         sha512 = "7hGhzlcmg01CvH1EHdSPVXYX1aJ8KCEyz6I9xYIi/asDtzBPMyMhVibhM/K6g/5qnKBwjZtp10bNZIEFTRW1MA==";
       };
     };
-    "@babel/runtime-7.20.1" = {
+    "@babel/runtime-7.12.1" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
-      version = "7.20.1";
+      version = "7.12.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.1.tgz";
-        sha512 = "mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==";
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.1.tgz";
+        sha512 = "J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==";
       };
     };
-    "@babel/runtime-7.20.7" = {
+    "@babel/runtime-7.20.13" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
-      version = "7.20.7";
+      version = "7.20.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.7.tgz";
-        sha512 = "UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ==";
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.20.13.tgz";
+        sha512 = "gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==";
       };
     };
     "@babel/runtime-7.9.0" = {
@@ -2830,15 +2821,6 @@ let
         sha512 = "Yww0jXgolNtkhcK+Txo5JN+DjBpNmmAtD7G99HOebhEjBzjnACG09Tip9C8lSOF6PrhA56OeJWeOZduNJaKxBA==";
       };
     };
-    "@babel/runtime-corejs3-7.20.7" = {
-      name = "_at_babel_slash_runtime-corejs3";
-      packageName = "@babel/runtime-corejs3";
-      version = "7.20.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.20.7.tgz";
-        sha512 = "jr9lCZ4RbRQmCR28Q8U8Fu49zvFqLxTY9AMOUz+iyMohMoAgpEcVxY+wJNay99oXOpOcCTODkk70NDN2aaJEeg==";
-      };
-    };
     "@babel/template-7.0.0" = {
       name = "_at_babel_slash_template";
       packageName = "@babel/template";
@@ -2857,13 +2839,13 @@ let
         sha512 = "8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==";
       };
     };
-    "@babel/traverse-7.20.12" = {
+    "@babel/traverse-7.20.13" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.20.12";
+      version = "7.20.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.12.tgz";
-        sha512 = "MsIbFN0u+raeja38qboyF8TIT7K0BFzz/Yd/77ta4MsUsmP2RAnidIlwq7d5HFQrH/OZJecGV6B71C4zAgpoSQ==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.20.13.tgz";
+        sha512 = "kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==";
       };
     };
     "@babel/types-7.18.4" = {
@@ -2911,40 +2893,40 @@ let
         sha512 = "Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==";
       };
     };
-    "@cdktf/cli-core-0.15.0" = {
+    "@cdktf/cli-core-0.15.2" = {
       name = "_at_cdktf_slash_cli-core";
       packageName = "@cdktf/cli-core";
-      version = "0.15.0";
+      version = "0.15.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/cli-core/-/cli-core-0.15.0.tgz";
-        sha512 = "1N1N66dMl1kfAXcxTgKgePO9RfhB/p5T4dCAhfMCzLe+R0rOO1xfYQcIEXWqoORwRiIE2EyW9O9OSkxLx0DuyQ==";
+        url = "https://registry.npmjs.org/@cdktf/cli-core/-/cli-core-0.15.2.tgz";
+        sha512 = "uiOqLik/s6LETazIOkHhwReSiBlw7sPYWGaJ/VU1btmbaVbVBpHKrLY/Nr7Vf8kRN80WsboBDAgaX4RQYpYu3Q==";
       };
     };
-    "@cdktf/commons-0.15.0" = {
+    "@cdktf/commons-0.15.2" = {
       name = "_at_cdktf_slash_commons";
       packageName = "@cdktf/commons";
-      version = "0.15.0";
+      version = "0.15.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/commons/-/commons-0.15.0.tgz";
-        sha512 = "c3NB2X4OsUGUicpUMJSV9MGnmU+/nYNs0n7G98c/N7nctxWpm1oPoXkoSC8GsDbc3n44cuokBDgW2JiscB/YRA==";
+        url = "https://registry.npmjs.org/@cdktf/commons/-/commons-0.15.2.tgz";
+        sha512 = "4uVx5L+FJV+G5zoC545MmFSPohUWy/x3Iq9UGW/kf4U7xkVE9oYHeupEc7TSLXp54vPcze+VCuYvgLWtO5Lzpg==";
       };
     };
-    "@cdktf/hcl2cdk-0.15.0" = {
+    "@cdktf/hcl2cdk-0.15.2" = {
       name = "_at_cdktf_slash_hcl2cdk";
       packageName = "@cdktf/hcl2cdk";
-      version = "0.15.0";
+      version = "0.15.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/hcl2cdk/-/hcl2cdk-0.15.0.tgz";
-        sha512 = "X88IejdGoYpB7DkAf09v8YLMQiYu1VTKWVvggiGkS0q7DgFb79Q/S9aFfC5RfPrMNhZSV01Jrt/pDCQdcFJQ1A==";
+        url = "https://registry.npmjs.org/@cdktf/hcl2cdk/-/hcl2cdk-0.15.2.tgz";
+        sha512 = "LF++X2n4XOuLR2boBNzv/ihRt9ZySO3feYndRdusLtgOC3HppbTKjwlS7+2xHyH2/DYZYKMWps2gtAsqhYa4IA==";
       };
     };
-    "@cdktf/hcl2json-0.15.0" = {
+    "@cdktf/hcl2json-0.15.2" = {
       name = "_at_cdktf_slash_hcl2json";
       packageName = "@cdktf/hcl2json";
-      version = "0.15.0";
+      version = "0.15.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/hcl2json/-/hcl2json-0.15.0.tgz";
-        sha512 = "pVYjTosthO0Mro/VD5x4iUM6TcVk0hdeNzk8uaaxk49/XnJB4DiwHbvIdjKJk4BuY2YuW+bCsz6X2QjKJmz2jA==";
+        url = "https://registry.npmjs.org/@cdktf/hcl2json/-/hcl2json-0.15.2.tgz";
+        sha512 = "f98sMnJEFmo2bSrMbkNGtg8gfE9sP6wBLu5G5u7qLkR747wtF0eA7mYc2751XMyeGDwAP1IwetlG5zOpENuW0g==";
       };
     };
     "@cdktf/node-pty-prebuilt-multiarch-0.10.1-pre.10" = {
@@ -2956,13 +2938,13 @@ let
         sha512 = "5ysQrHJvqYLYg407KvaDNu+xx68ZGaqeF0SohXe5e4yNqJhPFPUQ536rkReQcPc2yZiF5PDmmvf5T9MOacHpSQ==";
       };
     };
-    "@cdktf/provider-generator-0.15.0" = {
+    "@cdktf/provider-generator-0.15.2" = {
       name = "_at_cdktf_slash_provider-generator";
       packageName = "@cdktf/provider-generator";
-      version = "0.15.0";
+      version = "0.15.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/provider-generator/-/provider-generator-0.15.0.tgz";
-        sha512 = "YY2ANbC9xuhq1yXc6dhVPvMCCKMjcXNRBUP6BqvlE2smD0RWx1s0uWKAG5Tw4D4kx4Nb6EXYpvFHRIEnjVJ4wA==";
+        url = "https://registry.npmjs.org/@cdktf/provider-generator/-/provider-generator-0.15.2.tgz";
+        sha512 = "153jtaorRZsdWy3Wt56rOlTi7SoNXNWo3hl4By4v585T1WDFMa/NIsT8qBibLrJmiwmnHyh4r5KRjrn1KQpi1Q==";
       };
     };
     "@chemzqm/msgpack-lite-0.1.29" = {
@@ -3820,13 +3802,13 @@ let
         sha512 = "pfF3Ys2gRffu5ElqkH7FQMDMi/iZMyOzpGMb3FSH0PJ2AnRQ5rRNWght1h2L36YxvXl0mWVaFrrfwiOyRIc8ZQ==";
       };
     };
-    "@cspell/dict-software-terms-3.1.0" = {
+    "@cspell/dict-software-terms-3.1.1" = {
       name = "_at_cspell_slash_dict-software-terms";
       packageName = "@cspell/dict-software-terms";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-3.1.0.tgz";
-        sha512 = "KQVpHmuGJprkriClbwTf1TfCjkCkS+GqLBO8ytltmYylCHZumJMfA3sM10e3zmsVIlungrtNLG9xz5opIdm/2A==";
+        url = "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-3.1.1.tgz";
+        sha512 = "11vzKnocWDEUnwh03ea5Pr0vfMkGgUvDsAAjNQmnXVzDMYIjPVbttrRy54pEfBv0/RxtDFR0lDKFUAcdyjPX2w==";
       };
     };
     "@cspell/dict-sql-2.0.1" = {
@@ -3919,13 +3901,13 @@ let
         sha512 = "IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==";
       };
     };
-    "@csstools/selector-specificity-2.0.2" = {
+    "@csstools/selector-specificity-2.1.1" = {
       name = "_at_csstools_slash_selector-specificity";
       packageName = "@csstools/selector-specificity";
-      version = "2.0.2";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz";
-        sha512 = "IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==";
+        url = "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.1.1.tgz";
+        sha512 = "jwx+WCqszn53YHOfvFMJJRd/B2GqkCBt+1MJSG6o5/s8+ytHMvDZXsJgUEWLk12UnLd7HYKac4BYU5i/Ron1Cw==";
       };
     };
     "@cycle/dom-18.3.0" = {
@@ -4324,6 +4306,96 @@ let
         sha512 = "5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==";
       };
     };
+    "@esbuild/android-arm-0.16.17" = {
+      name = "_at_esbuild_slash_android-arm";
+      packageName = "@esbuild/android-arm";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz";
+        sha512 = "N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==";
+      };
+    };
+    "@esbuild/android-arm64-0.16.17" = {
+      name = "_at_esbuild_slash_android-arm64";
+      packageName = "@esbuild/android-arm64";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz";
+        sha512 = "MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==";
+      };
+    };
+    "@esbuild/android-x64-0.16.17" = {
+      name = "_at_esbuild_slash_android-x64";
+      packageName = "@esbuild/android-x64";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz";
+        sha512 = "a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==";
+      };
+    };
+    "@esbuild/darwin-arm64-0.16.17" = {
+      name = "_at_esbuild_slash_darwin-arm64";
+      packageName = "@esbuild/darwin-arm64";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz";
+        sha512 = "/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==";
+      };
+    };
+    "@esbuild/darwin-x64-0.16.17" = {
+      name = "_at_esbuild_slash_darwin-x64";
+      packageName = "@esbuild/darwin-x64";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz";
+        sha512 = "2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==";
+      };
+    };
+    "@esbuild/freebsd-arm64-0.16.17" = {
+      name = "_at_esbuild_slash_freebsd-arm64";
+      packageName = "@esbuild/freebsd-arm64";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz";
+        sha512 = "mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==";
+      };
+    };
+    "@esbuild/freebsd-x64-0.16.17" = {
+      name = "_at_esbuild_slash_freebsd-x64";
+      packageName = "@esbuild/freebsd-x64";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz";
+        sha512 = "8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==";
+      };
+    };
+    "@esbuild/linux-arm-0.16.17" = {
+      name = "_at_esbuild_slash_linux-arm";
+      packageName = "@esbuild/linux-arm";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz";
+        sha512 = "iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==";
+      };
+    };
+    "@esbuild/linux-arm64-0.16.17" = {
+      name = "_at_esbuild_slash_linux-arm64";
+      packageName = "@esbuild/linux-arm64";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz";
+        sha512 = "7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==";
+      };
+    };
+    "@esbuild/linux-ia32-0.16.17" = {
+      name = "_at_esbuild_slash_linux-ia32";
+      packageName = "@esbuild/linux-ia32";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz";
+        sha512 = "kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==";
+      };
+    };
     "@esbuild/linux-loong64-0.15.18" = {
       name = "_at_esbuild_slash_linux-loong64";
       packageName = "@esbuild/linux-loong64";
@@ -4333,6 +4405,114 @@ let
         sha512 = "L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==";
       };
     };
+    "@esbuild/linux-loong64-0.16.17" = {
+      name = "_at_esbuild_slash_linux-loong64";
+      packageName = "@esbuild/linux-loong64";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz";
+        sha512 = "dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==";
+      };
+    };
+    "@esbuild/linux-mips64el-0.16.17" = {
+      name = "_at_esbuild_slash_linux-mips64el";
+      packageName = "@esbuild/linux-mips64el";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz";
+        sha512 = "ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==";
+      };
+    };
+    "@esbuild/linux-ppc64-0.16.17" = {
+      name = "_at_esbuild_slash_linux-ppc64";
+      packageName = "@esbuild/linux-ppc64";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz";
+        sha512 = "dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==";
+      };
+    };
+    "@esbuild/linux-riscv64-0.16.17" = {
+      name = "_at_esbuild_slash_linux-riscv64";
+      packageName = "@esbuild/linux-riscv64";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz";
+        sha512 = "ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==";
+      };
+    };
+    "@esbuild/linux-s390x-0.16.17" = {
+      name = "_at_esbuild_slash_linux-s390x";
+      packageName = "@esbuild/linux-s390x";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz";
+        sha512 = "gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==";
+      };
+    };
+    "@esbuild/linux-x64-0.16.17" = {
+      name = "_at_esbuild_slash_linux-x64";
+      packageName = "@esbuild/linux-x64";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz";
+        sha512 = "mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==";
+      };
+    };
+    "@esbuild/netbsd-x64-0.16.17" = {
+      name = "_at_esbuild_slash_netbsd-x64";
+      packageName = "@esbuild/netbsd-x64";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz";
+        sha512 = "/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==";
+      };
+    };
+    "@esbuild/openbsd-x64-0.16.17" = {
+      name = "_at_esbuild_slash_openbsd-x64";
+      packageName = "@esbuild/openbsd-x64";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz";
+        sha512 = "2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==";
+      };
+    };
+    "@esbuild/sunos-x64-0.16.17" = {
+      name = "_at_esbuild_slash_sunos-x64";
+      packageName = "@esbuild/sunos-x64";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz";
+        sha512 = "xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==";
+      };
+    };
+    "@esbuild/win32-arm64-0.16.17" = {
+      name = "_at_esbuild_slash_win32-arm64";
+      packageName = "@esbuild/win32-arm64";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz";
+        sha512 = "ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==";
+      };
+    };
+    "@esbuild/win32-ia32-0.16.17" = {
+      name = "_at_esbuild_slash_win32-ia32";
+      packageName = "@esbuild/win32-ia32";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz";
+        sha512 = "WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==";
+      };
+    };
+    "@esbuild/win32-x64-0.16.17" = {
+      name = "_at_esbuild_slash_win32-x64";
+      packageName = "@esbuild/win32-x64";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz";
+        sha512 = "y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==";
+      };
+    };
     "@eslint/eslintrc-0.4.3" = {
       name = "_at_eslint_slash_eslintrc";
       packageName = "@eslint/eslintrc";
@@ -4531,6 +4711,15 @@ let
         sha512 = "BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw==";
       };
     };
+    "@expo/config-6.0.20" = {
+      name = "_at_expo_slash_config";
+      packageName = "@expo/config";
+      version = "6.0.20";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@expo/config/-/config-6.0.20.tgz";
+        sha512 = "m2T1/hB4TyLkQElOUwOajn/7gBcPaGyfVwoVsuJMEh0yrNvNFtXP+nl87Cm53g5q+VyfwJUgbewPQ3j/UXkI6Q==";
+      };
+    };
     "@expo/config-6.0.24" = {
       name = "_at_expo_slash_config";
       packageName = "@expo/config";
@@ -4549,6 +4738,15 @@ let
         sha512 = "joVtB5o+NF40Tmsdp65UzryRtbnCuMbXkVO4wJnNJO4aaK0EYLdHCYSewORVqNcDfGN0LphQr8VTG2npbd9CJA==";
       };
     };
+    "@expo/config-plugins-4.1.1" = {
+      name = "_at_expo_slash_config-plugins";
+      packageName = "@expo/config-plugins";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-4.1.1.tgz";
+        sha512 = "lo3tVxRhwM9jfxPHJcURsH5WvU26kX12h5EB3C7kjVhgdQPLkvT8Jk8Cx0KSL8MXKcry2xQvZ2uuwWLkMeplJw==";
+      };
+    };
     "@expo/config-plugins-4.1.5" = {
       name = "_at_expo_slash_config-plugins";
       packageName = "@expo/config-plugins";
@@ -4567,6 +4765,15 @@ let
         sha512 = "vzUcVpqOMs3h+hyRdhGwk+eGIOhXa5xYdd92yO17RMNHav3v/+ekMbs7XA2c3lepMO8Yd4/5hqmRw9ZTL6jGzg==";
       };
     };
+    "@expo/config-types-44.0.0" = {
+      name = "_at_expo_slash_config-types";
+      packageName = "@expo/config-types";
+      version = "44.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@expo/config-types/-/config-types-44.0.0.tgz";
+        sha512 = "d+gpdKOAhqaD5RmcMzGgKzNtvE1w+GCqpFQNSXLliYlXjj+Tv0eL8EPeAdPtvke0vowpPFwd5McXLA90dgY6Jg==";
+      };
+    };
     "@expo/config-types-45.0.0" = {
       name = "_at_expo_slash_config-types";
       packageName = "@expo/config-types";
@@ -4657,6 +4864,15 @@ let
         sha512 = "nhUVvW0TrRE4jtWzHQl8TR4ox7kcmrc2I0itaeJGjxF5A54uk7avgA0wRt7jP1rdvqQo1Ke1lXyLYREdhN9tPw==";
       };
     };
+    "@expo/json-file-8.2.35" = {
+      name = "_at_expo_slash_json-file";
+      packageName = "@expo/json-file";
+      version = "8.2.35";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@expo/json-file/-/json-file-8.2.35.tgz";
+        sha512 = "cQFLGSNRRFbN9EIhVDpMCYuzXbrHUOmKEqitBR+nrU6surjKGsOsN9Ubyn/L/LAGlFvT293E4XY5zsOtJyiPZQ==";
+      };
+    };
     "@expo/json-file-8.2.36" = {
       name = "_at_expo_slash_json-file";
       packageName = "@expo/json-file";
@@ -4864,13 +5080,13 @@ let
         sha512 = "TI+l71+5aSKnShYclFa14Kum+hQMZ86b95SH6tQUG3qZEmLTarvWpKwqtTwQKqvlJSJrpFiSFu3eCuZokY6zWA==";
       };
     };
-    "@expo/webpack-config-0.17.4" = {
+    "@expo/webpack-config-18.0.1" = {
       name = "_at_expo_slash_webpack-config";
       packageName = "@expo/webpack-config";
-      version = "0.17.4";
+      version = "18.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/webpack-config/-/webpack-config-0.17.4.tgz";
-        sha512 = "vn37RDhYowfLc2oRaXhmbI/9FStjQFXPONG3yRLfwUnA4dRtfXapJUSKHJKRwOy4fBBmTrb2tthtsdb4zeWmsw==";
+        url = "https://registry.npmjs.org/@expo/webpack-config/-/webpack-config-18.0.1.tgz";
+        sha512 = "0C+wjmmQ0usySdhtzeRp0yYuf9zkUZ/kNgA6AHQ9N7eG4JIr0DM1c87g119smxcJTbd8N+//mv5znPxSJqBqmg==";
       };
     };
     "@expo/xcpretty-4.2.2" = {
@@ -5008,22 +5224,22 @@ let
         sha512 = "X4fN5zbvAETw9LE8bw9x5otKcpS3A3cB9wn/BookbTD4hkBESx06SzmX/WdabFq7qqbDqbURiQMpmdGUUlLsqw==";
       };
     };
-    "@fluentui/font-icons-mdl2-8.5.6" = {
+    "@fluentui/font-icons-mdl2-8.5.7" = {
       name = "_at_fluentui_slash_font-icons-mdl2";
       packageName = "@fluentui/font-icons-mdl2";
-      version = "8.5.6";
+      version = "8.5.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.5.6.tgz";
-        sha512 = "6yGZcc/fIeT/HDPjnn003TNuC/EUoiZTiyZQyPSSQl5PeOzkmNOqG8nq/l8s+qXHs4uZC/FH081vxPxSwA2qWA==";
+        url = "https://registry.npmjs.org/@fluentui/font-icons-mdl2/-/font-icons-mdl2-8.5.7.tgz";
+        sha512 = "IAZ4nLWW6JDzGsCAymLS7ncaxWpQDY48K8650IfIlcsdhxv027joQEgd+HiIIImgusMl+OS9nAQE04a68mE6Zw==";
       };
     };
-    "@fluentui/foundation-legacy-8.2.26" = {
+    "@fluentui/foundation-legacy-8.2.27" = {
       name = "_at_fluentui_slash_foundation-legacy";
       packageName = "@fluentui/foundation-legacy";
-      version = "8.2.26";
+      version = "8.2.27";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/foundation-legacy/-/foundation-legacy-8.2.26.tgz";
-        sha512 = "7XKz23HB7IeIIXORS1os2fIakYTLTTGFcs+mnK5f/b4xFJAOxxdte6i10f2WsPPFiTjW1kLOzICsRsfwuHAVRw==";
+        url = "https://registry.npmjs.org/@fluentui/foundation-legacy/-/foundation-legacy-8.2.27.tgz";
+        sha512 = "KIK7N6thJ9EzwQBLysavdsJHt6mnsA1O2ZHLI9d4yDQlx17EVa0aXrdsSNgqfa1czya3OmBDVQMFR2gqy38voQ==";
       };
     };
     "@fluentui/keyboard-key-0.4.4" = {
@@ -5044,22 +5260,22 @@ let
         sha512 = "+cyN28iRAn8BWlZkMSEWzXpsJJiy3wWFxdJx5UnvU3iLK1slwog94inJak/BmnQKk3dFXK9vVPtDp2s3l+2/hg==";
       };
     };
-    "@fluentui/react-8.104.5" = {
+    "@fluentui/react-8.104.8" = {
       name = "_at_fluentui_slash_react";
       packageName = "@fluentui/react";
-      version = "8.104.5";
+      version = "8.104.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react/-/react-8.104.5.tgz";
-        sha512 = "BdyDS6yEccDuzUzYQ1h1idO2wrKLi9iMkErg1wJfODlnnqVVU5x+3x8cjkH8xHndScQ0zaVBuw84xxqP7ZCPFA==";
+        url = "https://registry.npmjs.org/@fluentui/react/-/react-8.104.8.tgz";
+        sha512 = "FVpyhZwPfpkHcP9d7Q5lQ7PPeSD2tLPaWGCGNhPHBsD0BS/A5Sv1+XN2LN1E+wbJUIvKrdVfxoWmUqDaNlpZjg==";
       };
     };
-    "@fluentui/react-focus-8.8.12" = {
+    "@fluentui/react-focus-8.8.13" = {
       name = "_at_fluentui_slash_react-focus";
       packageName = "@fluentui/react-focus";
-      version = "8.8.12";
+      version = "8.8.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.8.12.tgz";
-        sha512 = "2uuU/CQ371YnNxKqUVfnxahW93OT3y2Tp8calmBVxzmyBwZxGpI5JF+PdNorNWhDSaruX+j31QwxoXUNz1vI9Q==";
+        url = "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-8.8.13.tgz";
+        sha512 = "Y9RlqjJdWB7of/GJt/M8Ezf5tP2JSFjfEqe7W6Ttjr7wxiZZr4X8hJISWOksPSzvWyc0CT5J9uPEX0IWBHFsFQ==";
       };
     };
     "@fluentui/react-hooks-8.6.15" = {
@@ -5098,13 +5314,13 @@ let
         sha512 = "v12VUrpThYcJESFrnu3LdL7/s957hoSCJ3t8C014Hp2IOmk3dnZRZJymf1k/RAOXztS4w9dF2Zhs8uP31qwcZw==";
       };
     };
-    "@fluentui/style-utilities-8.8.5" = {
+    "@fluentui/style-utilities-8.9.0" = {
       name = "_at_fluentui_slash_style-utilities";
       packageName = "@fluentui/style-utilities";
-      version = "8.8.5";
+      version = "8.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.8.5.tgz";
-        sha512 = "qUi+1a2v0nWo3LB4c13Qf81qQH1yO9YHAgfbRNLqs4w7Oie7NDBDkq7UgRmLErpSVEafvlcCZeCSKW5pvSxz5w==";
+        url = "https://registry.npmjs.org/@fluentui/style-utilities/-/style-utilities-8.9.0.tgz";
+        sha512 = "n64tj38ndvT9WSwzt3tQl5MuOaRQmRBzfv7GM2dCjJ6CblWHpSV8jRXX44RnkOFr/QRCrq+gv8sEveXKsyRtag==";
       };
     };
     "@fluentui/theme-2.6.21" = {
@@ -5125,13 +5341,13 @@ let
         sha512 = "YusKxwTEQmsJidEWxn8blf5ehBmBDMZDrOjQkSX4piCvi/57MfigQZ57L3Bdic8kDKsabVtS1IVMHLZzGy4zcQ==";
       };
     };
-    "@forge/api-2.9.1" = {
+    "@forge/api-2.10.0" = {
       name = "_at_forge_slash_api";
       packageName = "@forge/api";
-      version = "2.9.1";
+      version = "2.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@forge/api/-/api-2.9.1.tgz";
-        sha512 = "ZGW5WW9NmWkYaGXLqbZ7HwAvYO0sSCY7j8IX0ij7vMuQb7myFXk5jCFYxaA3a4uI2RnYf2v0ROZxfPx4kxd5Aw==";
+        url = "https://registry.npmjs.org/@forge/api/-/api-2.10.0.tgz";
+        sha512 = "o8xmjOUIJcQfGAiaKdpowO2FNdm74icD+KT0SdnMXCQ7wToLUcJE4K4vSFoebBov+HGRAQphnmlC/KbgkgWXFQ==";
       };
     };
     "@forge/auth-0.0.1" = {
@@ -5152,22 +5368,22 @@ let
         sha512 = "+GFtFqBhFzwKaKmeEfw1jWQgZJNX4q11CCx1fSPFJB49Fdjb7k3lx74jAyzHlX0UWnm6DMK+/cYT7j5t6G9LfA==";
       };
     };
-    "@forge/bundler-4.2.0" = {
+    "@forge/bundler-4.3.0" = {
       name = "_at_forge_slash_bundler";
       packageName = "@forge/bundler";
-      version = "4.2.0";
+      version = "4.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@forge/bundler/-/bundler-4.2.0.tgz";
-        sha512 = "4xL9ZjPVgIrrpVeg1S3187FhDbCB4EBa/9nhCBAG8abDujb+D8/zJuiapin5AmUkWl6bFS1PjTBmetanBD4gcA==";
+        url = "https://registry.npmjs.org/@forge/bundler/-/bundler-4.3.0.tgz";
+        sha512 = "S1XXXYpaiKXRdNV0Eqv4e6uyc1m+lwvnwRUZKoUsP5tpdBTUPNTT3W0jckKYtpCkHueuwh5BM/J4B9LGp7PpWQ==";
       };
     };
-    "@forge/cli-shared-3.5.0" = {
+    "@forge/cli-shared-3.5.1" = {
       name = "_at_forge_slash_cli-shared";
       packageName = "@forge/cli-shared";
-      version = "3.5.0";
+      version = "3.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-3.5.0.tgz";
-        sha512 = "n7CSsL55BCAm3s4g/duDpk/khlARggcjGoTT3KhVYe0duZ0okN47XtRo2D7mSnfM/a3jHac5zCiv+BOEFyYSag==";
+        url = "https://registry.npmjs.org/@forge/cli-shared/-/cli-shared-3.5.1.tgz";
+        sha512 = "a88bF0v8+H/JKRpPVamfdoi0Bd59vWbAy0LISrmfcE18chCQKHEeZ4ZzOI5KDII4QxXIGc7hWzxJ0aGhQyNKIQ==";
       };
     };
     "@forge/egress-1.1.1" = {
@@ -5179,22 +5395,22 @@ let
         sha512 = "ycnIIOKyurzchlocjjvTwqtQNsCF98XRT+YvwVwZWwKZ0OmSzPcXPZImrIFw3dF1qySwRwRL31R0xZ1HYUEs8w==";
       };
     };
-    "@forge/lint-3.2.12" = {
+    "@forge/lint-3.2.13" = {
       name = "_at_forge_slash_lint";
       packageName = "@forge/lint";
-      version = "3.2.12";
+      version = "3.2.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@forge/lint/-/lint-3.2.12.tgz";
-        sha512 = "Z1dRnj3zRf+Rf9BMA2ompNYQdAAXYwOVw2NHBrYK0zwQjfnKC7Aco1tAyvYjkSbnyXnDSLlWAsFocgzJ7pX5Cw==";
+        url = "https://registry.npmjs.org/@forge/lint/-/lint-3.2.13.tgz";
+        sha512 = "kP0s77zmdyT3qWGL0auScWCU0WTaOCS6tTErpbp94IUO3yruiyLMoTLrtKdbefuFbkTLPv7vFkeXkcK7et2/tw==";
       };
     };
-    "@forge/manifest-4.5.3" = {
+    "@forge/manifest-4.6.0" = {
       name = "_at_forge_slash_manifest";
       packageName = "@forge/manifest";
-      version = "4.5.3";
+      version = "4.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@forge/manifest/-/manifest-4.5.3.tgz";
-        sha512 = "px02/hJJk31JiEdMhm4kUgZwNlr6b7wAyL72cxnul2PjQ9bsMUXoP22/nSCV1uIzNznqGbXNnKJ+GKGqIhyQ1g==";
+        url = "https://registry.npmjs.org/@forge/manifest/-/manifest-4.6.0.tgz";
+        sha512 = "wmARdfQAZlqfmPXjgL8pbEzcXi/oYoyy7Eh5mH4k4NEa5rii/rwg9gz7S7Q1sFhUEdDOBjYgkonmUUc2X48DcQ==";
       };
     };
     "@forge/storage-1.3.1" = {
@@ -5296,13 +5512,13 @@ let
         sha512 = "j8yRSSqswWi1QqUGKVEKOG03Q7qOoZP6/h2zN2YO+F5h2+DHU0bSrHCK9Y7lo2DI9fBd8qGAw795sf+3Jva4yA==";
       };
     };
-    "@google-cloud/pubsub-3.2.1" = {
+    "@google-cloud/pubsub-3.3.0" = {
       name = "_at_google-cloud_slash_pubsub";
       packageName = "@google-cloud/pubsub";
-      version = "3.2.1";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-3.2.1.tgz";
-        sha512 = "TcGPqNkCYNwM3LTWBYjdryv1WQX2a4H52gaL9IAMZCp1i28r90syWjZoFhcUObowb3v3StTCL6a9YlPef4LY3g==";
+        url = "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-3.3.0.tgz";
+        sha512 = "pypP7JYqKnVOO7wES71TkyxQD7UluWMc/7zH5wFZ6ycLRfonLvO1XBBS3Hcg4ltMEjBlYxRC6ODbzYLfuZm9/g==";
       };
     };
     "@grammarly/sdk-1.11.0" = {
@@ -5368,13 +5584,13 @@ let
         sha512 = "bQu+hDd37e+FZ0CQGEEczmRSfQRnnXeUxI/0miDV+NV/zCbEdIJj5tYFNrKT03W6wgdqx8U06d8L23LxvGri/g==";
       };
     };
-    "@graphql-tools/delegate-9.0.22" = {
+    "@graphql-tools/delegate-9.0.23" = {
       name = "_at_graphql-tools_slash_delegate";
       packageName = "@graphql-tools/delegate";
-      version = "9.0.22";
+      version = "9.0.23";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-9.0.22.tgz";
-        sha512 = "dWJGMN8V7KORtbI8eDAjHYTWiMyis/md27M6pPhrlYVlcsDk3U0jbNdgkswBBUEBvqumPRCv8pVOxKcLS4caKA==";
+        url = "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-9.0.23.tgz";
+        sha512 = "pTmC2ZUGRp/j4bwQRccZV+J2ETMeHYF9RmEXHHdj0S7/LOpyfFE3mGvRV2+n6MzXpPCPp+mh037LWF+q4wLcJw==";
       };
     };
     "@graphql-tools/executor-0.0.12" = {
@@ -5386,13 +5602,13 @@ let
         sha512 = "bWpZcYRo81jDoTVONTnxS9dDHhEkNVjxzvFCH4CRpuyzD3uL+5w3MhtxIh24QyWm4LvQ4f+Bz3eMV2xU2I5+FA==";
       };
     };
-    "@graphql-tools/executor-graphql-ws-0.0.6" = {
+    "@graphql-tools/executor-graphql-ws-0.0.7" = {
       name = "_at_graphql-tools_slash_executor-graphql-ws";
       packageName = "@graphql-tools/executor-graphql-ws";
-      version = "0.0.6";
+      version = "0.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-0.0.6.tgz";
-        sha512 = "n6JvIviYO8iiasV/baclimQqNkYGP7JRlkNSnphNG5LULmVpQ2WsyvbgJHV7wtlTZ8ZQ3+dILgQF83PFyLsfdA==";
+        url = "https://registry.npmjs.org/@graphql-tools/executor-graphql-ws/-/executor-graphql-ws-0.0.7.tgz";
+        sha512 = "C6EExKoukn4vu3BbvlqsqtC91F4pTLPDZvRceYjpFzTCQSGFSjfrxQGP/haGlemXVRpIDxBy7wpXoQlsF8UmFA==";
       };
     };
     "@graphql-tools/executor-http-0.1.1" = {
@@ -5467,13 +5683,13 @@ let
         sha512 = "FlQC50VELwRxoWUbJMMMs5gG0Dl8BaQYMrXUHTsxwqR7UmksUYnysC21rdousvs6jVZ7pf4unZfZFtBjz+8Edg==";
       };
     };
-    "@graphql-tools/load-7.8.9" = {
+    "@graphql-tools/load-7.8.10" = {
       name = "_at_graphql-tools_slash_load";
       packageName = "@graphql-tools/load";
-      version = "7.8.9";
+      version = "7.8.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/load/-/load-7.8.9.tgz";
-        sha512 = "/eHRv6OCTI/Ir5XcbtSx0XbW3zOQVscp2MZQFGZKDzqCcGD+NVy4mLCoBwR/OsOUpvWAwMnc+Llb4SDKAYGmjQ==";
+        url = "https://registry.npmjs.org/@graphql-tools/load/-/load-7.8.10.tgz";
+        sha512 = "Mc1p7ZSxrW5yGG3BLQnhiL8RPG0HdxFVoHV7fpx2adp4o1V7BzDjKRSbCnAxShA1wA4n8wbA+n7NTC0edi4eNA==";
       };
     };
     "@graphql-tools/merge-6.2.17" = {
@@ -5494,22 +5710,22 @@ let
         sha512 = "BMm99mqdNZbEYeTPK3it9r9S6rsZsQKtlqJsSBknAclXq2pGEfOxjcIZi+kBSkHZKPKCRrYDd5vY0+rUmIHVLg==";
       };
     };
-    "@graphql-tools/merge-8.3.15" = {
+    "@graphql-tools/merge-8.3.16" = {
       name = "_at_graphql-tools_slash_merge";
       packageName = "@graphql-tools/merge";
-      version = "8.3.15";
+      version = "8.3.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.3.15.tgz";
-        sha512 = "hYYOlsqkUlL6oOo7zzuk6hIv7xQzy+x21sgK84d5FWaiWYkLYh9As8myuDd9SD5xovWWQ9m/iRhIOVDEMSyEKA==";
+        url = "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.3.16.tgz";
+        sha512 = "In0kcOZcPIpYOKaqdrJ3thdLPE7TutFnL9tbrHUy2zCinR2O/blpRC48jPckcs0HHrUQ0pGT4HqvzMkZUeEBAw==";
       };
     };
-    "@graphql-tools/mock-8.7.15" = {
+    "@graphql-tools/mock-8.7.16" = {
       name = "_at_graphql-tools_slash_mock";
       packageName = "@graphql-tools/mock";
-      version = "8.7.15";
+      version = "8.7.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.7.15.tgz";
-        sha512 = "0zImG5tuObhowqtijlB6TMAIVtCIBsnGGwNW8gnCOa+xZAqfGdUMsSma17tHC2XuI7xhv7A0O8pika9e3APLUg==";
+        url = "https://registry.npmjs.org/@graphql-tools/mock/-/mock-8.7.16.tgz";
+        sha512 = "g1BcIk6OKeqDwezbn6QOQ+UkbzfZDvcolomXOoGTaE+KNw5JV9EKKIt1COyWtKeNrwtIdPPBS/zcLAqOw1MUdQ==";
       };
     };
     "@graphql-tools/schema-7.1.5" = {
@@ -5530,13 +5746,13 @@ let
         sha512 = "0Esilsh0P/qYcB5DKQpiKeQs/jevzIadNTaT0jeWklPMwNbT7yMX4EqZany7mbeRRlSRwMzNzL5olyFdffHBZg==";
       };
     };
-    "@graphql-tools/schema-9.0.13" = {
+    "@graphql-tools/schema-9.0.14" = {
       name = "_at_graphql-tools_slash_schema";
       packageName = "@graphql-tools/schema";
-      version = "9.0.13";
+      version = "9.0.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.13.tgz";
-        sha512 = "guRA3fwAtv+M1Kh930P4ydH9aKJTWscIkhVFcWpj/cnjYYxj88jkEJ15ZNiJX/2breNY+sbVgmlgLKb6aXi/Jg==";
+        url = "https://registry.npmjs.org/@graphql-tools/schema/-/schema-9.0.14.tgz";
+        sha512 = "U6k+HY3Git+dsOEhq+dtWQwYg2CAgue8qBvnBXoKu5eEeH284wymMUoNm0e4IycOgMCJANVhClGEBIkLRu3FQQ==";
       };
     };
     "@graphql-tools/url-loader-6.10.1" = {
@@ -5548,13 +5764,13 @@ let
         sha512 = "DSDrbhQIv7fheQ60pfDpGD256ixUQIR6Hhf9Z5bRjVkXOCvO5XrkwoWLiU7iHL81GB1r0Ba31bf+sl+D4nyyfw==";
       };
     };
-    "@graphql-tools/url-loader-7.17.2" = {
+    "@graphql-tools/url-loader-7.17.4" = {
       name = "_at_graphql-tools_slash_url-loader";
       packageName = "@graphql-tools/url-loader";
-      version = "7.17.2";
+      version = "7.17.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.17.2.tgz";
-        sha512 = "VgCXa5vQzcM13+loJvVHLXltp3qN8PHUTeth50cImUhCm3qtRwOeuSYjpph38vllPb8DKxsZkNFxzYgzscWIow==";
+        url = "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.17.4.tgz";
+        sha512 = "nB2fhkn4LTYjU2qoTOBZYmWQRVYsCI0K2LScwD49QVMNAPWthg/lHao4hFUe70aTInT8oquvl8d0rIb7fRWOvA==";
       };
     };
     "@graphql-tools/utils-6.2.4" = {
@@ -5620,13 +5836,13 @@ let
         sha512 = "1NDUymworsOlb53Qfh7fonDi2STvqCtbeE68ntKY9K/Ju/be2ZNxrFSbrBHwnxWcN9PjISNnLcAyJ1L5tCUyhg==";
       };
     };
-    "@graphql-tools/wrap-9.3.1" = {
+    "@graphql-tools/wrap-9.3.2" = {
       name = "_at_graphql-tools_slash_wrap";
       packageName = "@graphql-tools/wrap";
-      version = "9.3.1";
+      version = "9.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-9.3.1.tgz";
-        sha512 = "uzY1HKc7qMErWL3ybv8bFG3hI1rTJPVYQ8WeJkCF/r/+aHEkUj0Bo2PYZrZTX1UIr3Tb4P5GyhqYBgZOXraZjw==";
+        url = "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-9.3.2.tgz";
+        sha512 = "jqBMJZyKFATxWA3alPhGRWh/ZluaPWrXFumXRaqAwK9QdCAxM24jG8Kmy3FrTfeyxNqDyzDlHZobtwwDKurm5g==";
       };
     };
     "@graphql-typed-document-node/core-3.1.1" = {
@@ -5647,15 +5863,6 @@ let
         sha512 = "H9l79u4kJ2PVSxUNA08HMYAnUBLj9v6KjYQ7SQ71hOZcEXhShE/y5iQCesP8+6/Ik/7i2O0a10bPquIcYfufog==";
       };
     };
-    "@grpc/grpc-js-1.8.0" = {
-      name = "_at_grpc_slash_grpc-js";
-      packageName = "@grpc/grpc-js";
-      version = "1.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.8.0.tgz";
-        sha512 = "ySMTXQuMvvswoobvN+0LsaPf7ITO2JVfJmHxQKI4cGehNrrUms+n81BlHEX7Hl/LExji6XE3fnI9U04GSkRruA==";
-      };
-    };
     "@grpc/grpc-js-1.8.1" = {
       name = "_at_grpc_slash_grpc-js";
       packageName = "@grpc/grpc-js";
@@ -6097,6 +6304,285 @@ let
         sha512 = "Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==";
       };
     };
+    "@jimp/bmp-0.16.2" = {
+      name = "_at_jimp_slash_bmp";
+      packageName = "@jimp/bmp";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.16.2.tgz";
+        sha512 = "4g9vW45QfMoGhLVvaFj26h4e7cC+McHUQwyFQmNTLW4FfC1OonN9oUr2m/FEDGkTYKR7aqdXR5XUqqIkHWLaFw==";
+      };
+    };
+    "@jimp/core-0.16.2" = {
+      name = "_at_jimp_slash_core";
+      packageName = "@jimp/core";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/core/-/core-0.16.2.tgz";
+        sha512 = "dp7HcyUMzjXphXYodI6PaXue+I9PXAavbb+AN+1XqFbotN22Z12DosNPEyy+UhLY/hZiQQqUkEaJHkvV31rs+w==";
+      };
+    };
+    "@jimp/custom-0.16.2" = {
+      name = "_at_jimp_slash_custom";
+      packageName = "@jimp/custom";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/custom/-/custom-0.16.2.tgz";
+        sha512 = "GtNwOs4hcVS2GIbqRUf42rUuX07oLB92cj7cqxZb0ZGWwcwhnmSW0TFLAkNafXmqn9ug4VTpNvcJSUdiuECVKg==";
+      };
+    };
+    "@jimp/gif-0.16.2" = {
+      name = "_at_jimp_slash_gif";
+      packageName = "@jimp/gif";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/gif/-/gif-0.16.2.tgz";
+        sha512 = "TMdyT9Q0paIKNtT7c5KzQD29CNCsI/t8ka28jMrBjEK7j5RRTvBfuoOnHv7pDJRCjCIqeUoaUSJ7QcciKic6CA==";
+      };
+    };
+    "@jimp/jpeg-0.16.2" = {
+      name = "_at_jimp_slash_jpeg";
+      packageName = "@jimp/jpeg";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.16.2.tgz";
+        sha512 = "BW5gZydgq6wdIwHd+3iUNgrTklvoQc/FUKSj9meM6A0FU21lUaansRX5BDdJqHkyXJLnnlDGwDt27J+hQuBAVw==";
+      };
+    };
+    "@jimp/plugin-blit-0.16.2" = {
+      name = "_at_jimp_slash_plugin-blit";
+      packageName = "@jimp/plugin-blit";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.16.2.tgz";
+        sha512 = "Z31rRfV80gC/r+B/bOPSVVpJEWXUV248j7MdnMOFLu4vr8DMqXVo9jYqvwU/s4LSTMAMXqm4Jg6E/jQfadPKAg==";
+      };
+    };
+    "@jimp/plugin-blur-0.16.2" = {
+      name = "_at_jimp_slash_plugin-blur";
+      packageName = "@jimp/plugin-blur";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.16.2.tgz";
+        sha512 = "ShkJCAzRI+1fAKPuLLgEkixpSpVmKTYaKEFROUcgmrv9AansDXGNCupchqVMTdxf8zPyW8rR1ilvG3OJobufLQ==";
+      };
+    };
+    "@jimp/plugin-circle-0.16.2" = {
+      name = "_at_jimp_slash_plugin-circle";
+      packageName = "@jimp/plugin-circle";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.16.2.tgz";
+        sha512 = "6T4z/48F4Z5+YwAVCLOvXQcyGmo0E3WztxCz6XGQf66r4JJK78+zcCDYZFLMx0BGM0091FogNK4QniP8JaOkrA==";
+      };
+    };
+    "@jimp/plugin-color-0.16.2" = {
+      name = "_at_jimp_slash_plugin-color";
+      packageName = "@jimp/plugin-color";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.16.2.tgz";
+        sha512 = "6oBV0g0J17/7E+aTquvUsgSc85nUbUi+64tIK5eFIDzvjhlqhjGNJYlc46KJMCWIs61qRJayQoZdL/iT/iQuGQ==";
+      };
+    };
+    "@jimp/plugin-contain-0.16.2" = {
+      name = "_at_jimp_slash_plugin-contain";
+      packageName = "@jimp/plugin-contain";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.16.2.tgz";
+        sha512 = "pLcxO3hVN3LCEhMNvpZ9B7xILHVlS433Vv16zFFJxLRqZdYvPLsc+ZzJhjAiHHuEjVblQrktHE3LGeQwGJPo0w==";
+      };
+    };
+    "@jimp/plugin-cover-0.16.2" = {
+      name = "_at_jimp_slash_plugin-cover";
+      packageName = "@jimp/plugin-cover";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.16.2.tgz";
+        sha512 = "gzWM7VvYeI8msyiwbUZxH+sGQEgO6Vd6adGxZ0CeKX00uQOe5lDzxb1Wjx7sHcJGz8a/5fmAuwz7rdDtpDUbkw==";
+      };
+    };
+    "@jimp/plugin-crop-0.16.2" = {
+      name = "_at_jimp_slash_plugin-crop";
+      packageName = "@jimp/plugin-crop";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.16.2.tgz";
+        sha512 = "qCd3hfMEE+Z2EuuyXewgXRTtKJGIerWzc1zLEJztsUkPz5i73IGgkOL+mrNutZwGaXZbm+8SwUaGb46sxAO6Tw==";
+      };
+    };
+    "@jimp/plugin-displace-0.16.2" = {
+      name = "_at_jimp_slash_plugin-displace";
+      packageName = "@jimp/plugin-displace";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.16.2.tgz";
+        sha512 = "6nXdvNNjCdD95v2o3/jPeur903dz08lG4Y8gmr5oL2yVv9LSSbMonoXYrR/ASesdyXqGdXJLU4NL+yZs4zUqbQ==";
+      };
+    };
+    "@jimp/plugin-dither-0.16.2" = {
+      name = "_at_jimp_slash_plugin-dither";
+      packageName = "@jimp/plugin-dither";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.16.2.tgz";
+        sha512 = "DERpIzy21ZanMkVsD0Tdy8HQLbD1E41OuvIzaMRoW4183PA6AgGNlrQoFTyXmzjy6FTy1SxaQgTEdouInAWZ9Q==";
+      };
+    };
+    "@jimp/plugin-fisheye-0.16.2" = {
+      name = "_at_jimp_slash_plugin-fisheye";
+      packageName = "@jimp/plugin-fisheye";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.16.2.tgz";
+        sha512 = "Df7PsGIwiIpQu3EygYCnaJyTfOwvwtYV3cmYJS7yFLtdiFUuod+hlSo5GkwEPLAy+QBxhUbDuUqnsWo4NQtbiQ==";
+      };
+    };
+    "@jimp/plugin-flip-0.16.2" = {
+      name = "_at_jimp_slash_plugin-flip";
+      packageName = "@jimp/plugin-flip";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.16.2.tgz";
+        sha512 = "+2uC8ioVQUr06mnjSWraskz2L33nJHze35LkQ8ZNsIpoZLkgvfiWatqAs5bj+1jGI/9kxoCFAaT1Is0f+a4/rw==";
+      };
+    };
+    "@jimp/plugin-gaussian-0.16.2" = {
+      name = "_at_jimp_slash_plugin-gaussian";
+      packageName = "@jimp/plugin-gaussian";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.16.2.tgz";
+        sha512 = "2mnuDSg4ZEH8zcJig7DZZf4st/cYmQ5UYJKP76iGhZ+6JDACk6uejwAgT5xHecNhkVAaXMdCybA2eknH/9OE1w==";
+      };
+    };
+    "@jimp/plugin-invert-0.16.2" = {
+      name = "_at_jimp_slash_plugin-invert";
+      packageName = "@jimp/plugin-invert";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.16.2.tgz";
+        sha512 = "xFvHbVepTY/nus+6yXiYN1iq+UBRkT0MdnObbiQPstUrAsz0Imn6MWISsnAyMvcNxHGrxaxjuU777JT/esM0gg==";
+      };
+    };
+    "@jimp/plugin-mask-0.16.2" = {
+      name = "_at_jimp_slash_plugin-mask";
+      packageName = "@jimp/plugin-mask";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.16.2.tgz";
+        sha512 = "AbdO85xxhfgEDdxYKpUotEI9ixiCMaIpfYHD5a5O/VWeimz2kuwhcrzlHGiyq1kKAgRcl0WEneTCZAHVSyvPKA==";
+      };
+    };
+    "@jimp/plugin-normalize-0.16.2" = {
+      name = "_at_jimp_slash_plugin-normalize";
+      packageName = "@jimp/plugin-normalize";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.16.2.tgz";
+        sha512 = "+ItBWFwmB0Od7OfOtTYT1gm543PpHUgU8/DN55z83l1JqS0OomDJAe7BmCppo2405TN6YtVm/csXo7p4iWd/SQ==";
+      };
+    };
+    "@jimp/plugin-print-0.16.2" = {
+      name = "_at_jimp_slash_plugin-print";
+      packageName = "@jimp/plugin-print";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.16.2.tgz";
+        sha512 = "ifTGEeJ5UZTCiqC70HMeU3iXk/vsOmhWiwVGOXSFXhFeE8ZpDWvlmBsrMYnRrJGuaaogHOIrrQPI+kCdDBSBIQ==";
+      };
+    };
+    "@jimp/plugin-resize-0.16.2" = {
+      name = "_at_jimp_slash_plugin-resize";
+      packageName = "@jimp/plugin-resize";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.16.2.tgz";
+        sha512 = "gE4N9l6xuwzacFZ2EPCGZCJ/xR+aX2V7GdMndIl/6kYIw5/eib1SFuF9AZLvIPSFuE1FnGo8+vT0pr++SSbhYg==";
+      };
+    };
+    "@jimp/plugin-rotate-0.16.2" = {
+      name = "_at_jimp_slash_plugin-rotate";
+      packageName = "@jimp/plugin-rotate";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.16.2.tgz";
+        sha512 = "/CTEYkR1HrgmnE0VqPhhbBARbDAfFX590LWGIpxcYIYsUUGQCadl+8Qo4UX13FH0Nt8UHEtPA+O2x08uPYg9UA==";
+      };
+    };
+    "@jimp/plugin-scale-0.16.2" = {
+      name = "_at_jimp_slash_plugin-scale";
+      packageName = "@jimp/plugin-scale";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.16.2.tgz";
+        sha512 = "3inuxfrlquyLaqFdiiiQNJUurR0WbvN5wAf1qcYX2LubG1AG8grayYD6H7XVoxfUGTZXh1kpmeirEYlqA2zxcw==";
+      };
+    };
+    "@jimp/plugin-shadow-0.16.2" = {
+      name = "_at_jimp_slash_plugin-shadow";
+      packageName = "@jimp/plugin-shadow";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.16.2.tgz";
+        sha512 = "Q0aIs2/L6fWMcEh9Ms73u34bT1hyUMw/oxaVoIzOLo6/E8YzCs2Bi63H0/qaPS0MQpEppI++kvosPbblABY79w==";
+      };
+    };
+    "@jimp/plugin-threshold-0.16.2" = {
+      name = "_at_jimp_slash_plugin-threshold";
+      packageName = "@jimp/plugin-threshold";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.16.2.tgz";
+        sha512 = "gyOwmBgjtMPvcuyOhkP6dOGWbQdaTfhcBRN22mYeI/k/Wh/Zh1OI21F6eKLApsVRmg15MoFnkrCz64RROC34sw==";
+      };
+    };
+    "@jimp/plugins-0.16.2" = {
+      name = "_at_jimp_slash_plugins";
+      packageName = "@jimp/plugins";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.16.2.tgz";
+        sha512 = "zCvYtCgctmC0tkYEu+y+kSwSIZBsNznqJ3/3vkpzxdyjd6wCfNY5Qc/68MPrLc1lmdeGo4cOOTYHG7Vc6myzRw==";
+      };
+    };
+    "@jimp/png-0.16.2" = {
+      name = "_at_jimp_slash_png";
+      packageName = "@jimp/png";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/png/-/png-0.16.2.tgz";
+        sha512 = "sFOtOSz/tzDwXEChFQ/Nxe+0+vG3Tj0eUxnZVDUG/StXE9dI8Bqmwj3MIa0EgK5s+QG3YlnDOmlPUa4JqmeYeQ==";
+      };
+    };
+    "@jimp/tiff-0.16.2" = {
+      name = "_at_jimp_slash_tiff";
+      packageName = "@jimp/tiff";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.16.2.tgz";
+        sha512 = "ADcdqmtZF+U2YoaaHTzFX8D6NFpmN4WZUT0BPMerEuY7Cq8QoLYU22z2h034FrVW+Rbi1b3y04sB9iDiQAlf2w==";
+      };
+    };
+    "@jimp/types-0.16.2" = {
+      name = "_at_jimp_slash_types";
+      packageName = "@jimp/types";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/types/-/types-0.16.2.tgz";
+        sha512 = "0Ue5Sq0XnDF6TirisWv5E+8uOnRcd8vRLuwocJOhF76NIlcQrz+5r2k2XWKcr3d+11n28dHLXW5TKSqrUopxhA==";
+      };
+    };
+    "@jimp/utils-0.16.2" = {
+      name = "_at_jimp_slash_utils";
+      packageName = "@jimp/utils";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jimp/utils/-/utils-0.16.2.tgz";
+        sha512 = "XENrPvmigiXZQ8E2nxJqO6UVvWBLzbNwyYi3Y8Q1IECoYhYI3kgOQ0fmy4G269Vz1V0omh1bNmC42r4OfXg1Jg==";
+      };
+    };
     "@joplin/fork-htmlparser2-4.1.41" = {
       name = "_at_joplin_slash_fork-htmlparser2";
       packageName = "@joplin/fork-htmlparser2";
@@ -6313,6 +6799,24 @@ let
         sha512 = "h0BeA6WQfxvYl5BaacmlvB5bAIdhlgf9SInJljxtERn2eYN+VjgMyU/1iv0Ww4Lp71xMGL96bmfXpdlFgRQFEg==";
       };
     };
+    "@json2csv/formatters-6.1.2" = {
+      name = "_at_json2csv_slash_formatters";
+      packageName = "@json2csv/formatters";
+      version = "6.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@json2csv/formatters/-/formatters-6.1.2.tgz";
+        sha512 = "l8i5EdQvHZHrtSgRFEXMkRnIn8CBopT/ecZSIyPKuee9+pm/Sxcb/r/N2jQWARnOQc7uyqQWAtpPpxU7HhZ2tg==";
+      };
+    };
+    "@json2csv/plainjs-6.1.2" = {
+      name = "_at_json2csv_slash_plainjs";
+      packageName = "@json2csv/plainjs";
+      version = "6.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@json2csv/plainjs/-/plainjs-6.1.2.tgz";
+        sha512 = "XNcBd6W4G5mlP6ZL13idEx21diQAM5AJgIe78RxRfZctWRppaZrtpiGTzhc/sNv7UM1FpfO/aa5wel4+aQW7MQ==";
+      };
+    };
     "@koa/multer-3.0.2" = {
       name = "_at_koa_slash_multer";
       packageName = "@koa/multer";
@@ -7204,13 +7708,13 @@ let
         sha512 = "ES5rj6J39FUkHe/b3C9SJs8bqIungYhuU7rBINTBaHOv/Ce4RCb3Gw08CZVl32W33UEkgRkzyWaIedV4at+QHg==";
       };
     };
-    "@mdn/browser-compat-data-5.2.17" = {
+    "@mdn/browser-compat-data-5.2.29" = {
       name = "_at_mdn_slash_browser-compat-data";
       packageName = "@mdn/browser-compat-data";
-      version = "5.2.17";
+      version = "5.2.29";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.2.17.tgz";
-        sha512 = "aA+rFHhXmq14GVIcEWNk8OntLEOQFwEZk9ZgG5VcDquz+pQhIjJPXacR+rwL9Z0Elfg909EcRRHC96p06/CNUg==";
+        url = "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-5.2.29.tgz";
+        sha512 = "bEBrkTWbDAs/PB4IdRg4CtU750oBRytXHK/wC2oIDkgKZqnt76nACSooQQuHF11mK5k43f/IgFUMO5t5quRPVA==";
       };
     };
     "@medable/mdctl-api-1.0.68" = {
@@ -7393,13 +7897,13 @@ let
         sha512 = "W+IzEBw8a6LOOfRJM02dTT7BDZijxm+Z7lhtOAz1+y9vQm1Kdz9jlAO+qCEKsfxtUOmKilW8DIRqFw2aUgKeGg==";
       };
     };
-    "@microsoft/rush-lib-5.88.0" = {
+    "@microsoft/rush-lib-5.89.1" = {
       name = "_at_microsoft_slash_rush-lib";
       packageName = "@microsoft/rush-lib";
-      version = "5.88.0";
+      version = "5.89.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@microsoft/rush-lib/-/rush-lib-5.88.0.tgz";
-        sha512 = "YgZPnp/hAD43jclvGMMy6B84JR0pB1odK+Cfe2Ag7s4omwe/+u6gJjGfHme6vzB4Hs7jpEkmRe76R3nyVKcFoA==";
+        url = "https://registry.npmjs.org/@microsoft/rush-lib/-/rush-lib-5.89.1.tgz";
+        sha512 = "yOzZ6LY0OkAp9pUB3mVA8wjWsQ1bnRRrBYpmho5/Cy3TM6cUgjdPUhEzpx4THbu8lcYtdvJ10Ivki4V1rI6Qdg==";
       };
     };
     "@miniflare/cache-2.11.0" = {
@@ -8212,31 +8716,31 @@ let
         sha512 = "ql+AbRur1TeOdl1FY+RAwGW9fcr4ZwiVKabdvm93mujGREVuVLbdkXRJDrkTXSdCjaxYydr1wlA2v67jxWG5BQ==";
       };
     };
-    "@nrwl/cli-15.5.2" = {
+    "@nrwl/cli-15.6.3" = {
       name = "_at_nrwl_slash_cli";
       packageName = "@nrwl/cli";
-      version = "15.5.2";
+      version = "15.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nrwl/cli/-/cli-15.5.2.tgz";
-        sha512 = "T0nN2hYDtkY9SsbtZqFwRSYC8Td2zPqQ7dj6FrwvjFGbHLAxN6rknVPPKN4S7Dt6feXX1Woe8XYwWouk9Cg6nw==";
+        url = "https://registry.npmjs.org/@nrwl/cli/-/cli-15.6.3.tgz";
+        sha512 = "K4E0spofThZXMnhA6R8hkUTdfqmwSnUE2+DlD5Y3jqsvKTAgwF5U41IFkEouFZCf+dWjy0RA20bWoX48EVFtmQ==";
       };
     };
-    "@nrwl/devkit-15.5.2" = {
+    "@nrwl/devkit-15.6.3" = {
       name = "_at_nrwl_slash_devkit";
       packageName = "@nrwl/devkit";
-      version = "15.5.2";
+      version = "15.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nrwl/devkit/-/devkit-15.5.2.tgz";
-        sha512 = "rvxuiYVpGDB9RzjOAWTNm7IBPwuYG6kL24LkJMUS8gCNqLBNNlYUsdkpa0PLRt5eNeGLKqpSDB8BpA+e1ty/zA==";
+        url = "https://registry.npmjs.org/@nrwl/devkit/-/devkit-15.6.3.tgz";
+        sha512 = "/JDvdzNxUM+C1PCZPCrvmFx+OfywqZdOq1GS9QR8C0VctTLG4D/SGSFD88O1SAdcbH/f1mMiBGfEYZYd23fghQ==";
       };
     };
-    "@nrwl/tao-15.5.2" = {
+    "@nrwl/tao-15.6.3" = {
       name = "_at_nrwl_slash_tao";
       packageName = "@nrwl/tao";
-      version = "15.5.2";
+      version = "15.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nrwl/tao/-/tao-15.5.2.tgz";
-        sha512 = "1thpCNcdpHfTf+o3p+VB6v8TEj6to3YVhA9d+3VhDKN9mq/RVcoMQQRIAgNOKbYWYNo8eC8MvuNqxgRPz2ESyg==";
+        url = "https://registry.npmjs.org/@nrwl/tao/-/tao-15.6.3.tgz";
+        sha512 = "bDZbPIbU5Mf2BvX0q8GjPxrm1WkYyfW+gp7mLuuJth2sEpZiCr47mSwuGko/y4CKXvIX46VQcAS0pKQMKugXsg==";
       };
     };
     "@oclif/command-1.8.0" = {
@@ -8248,13 +8752,13 @@ let
         sha512 = "5vwpq6kbvwkQwKqAoOU3L72GZ3Ta8RRrewKj9OJRolx28KLJJ8Dg9Rf7obRwt5jQA9bkYd8gqzMTrI7H3xLfaw==";
       };
     };
-    "@oclif/command-1.8.21" = {
+    "@oclif/command-1.8.22" = {
       name = "_at_oclif_slash_command";
       packageName = "@oclif/command";
-      version = "1.8.21";
+      version = "1.8.22";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/command/-/command-1.8.21.tgz";
-        sha512 = "kIDrRIbAcicVl+CWMzXeZkg5dRNuF1VI7koyFTAQMNYwRNZpeya5x7XDPr+fh7rDiBL7psnxc3B1+zoOWj96lQ==";
+        url = "https://registry.npmjs.org/@oclif/command/-/command-1.8.22.tgz";
+        sha512 = "lystv7IKsWRmCv6K68jSvHrO/DILUPBDb5GZ3absTA5XTnNXTaMrcwVzTcMPfTf+gCrgIaPPD1bmbRStwfQxFw==";
       };
     };
     "@oclif/config-1.17.0" = {
@@ -8338,13 +8842,13 @@ let
         sha512 = "Ups2dShK52xXa8w6iBWLgcjPJWjais6KPJQq3gQ/88AY6BXoTX+MIGFPrWQO1KLMiQfoTpcLnUwloN4brrVUHw==";
       };
     };
-    "@oclif/parser-3.8.9" = {
+    "@oclif/parser-3.8.10" = {
       name = "_at_oclif_slash_parser";
       packageName = "@oclif/parser";
-      version = "3.8.9";
+      version = "3.8.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.9.tgz";
-        sha512 = "1j/kThdse7yHQz6+c3v8RA1I3gD6+SGt2O7IAb/MAMoxqyBrFQDabQHH2UU4eVFGMLN7U91AiYJp11zJ9LcQAg==";
+        url = "https://registry.npmjs.org/@oclif/parser/-/parser-3.8.10.tgz";
+        sha512 = "J4l/NcnfbIU84+NNdy6bxq9yJt4joFWNvpk59hq+uaQPUNtjmNJDVGuRvf6GUOxHNgRsVK1JRmd/Ez+v7Z9GqQ==";
       };
     };
     "@oclif/plugin-autocomplete-0.1.5" = {
@@ -8419,13 +8923,13 @@ let
         sha512 = "r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==";
       };
     };
-    "@octokit/auth-token-3.0.2" = {
+    "@octokit/auth-token-3.0.3" = {
       name = "_at_octokit_slash_auth-token";
       packageName = "@octokit/auth-token";
-      version = "3.0.2";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.2.tgz";
-        sha512 = "pq7CwIMV1kmzkFTimdwjAINCXKTajZErLB4wMLYapR2nuB/Jpr66+05wOTZMSCBXP6n4DdDWT2W19Bm17vU69Q==";
+        url = "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.3.tgz";
+        sha512 = "/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==";
       };
     };
     "@octokit/core-3.6.0" = {
@@ -8437,13 +8941,13 @@ let
         sha512 = "7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==";
       };
     };
-    "@octokit/core-4.1.0" = {
+    "@octokit/core-4.2.0" = {
       name = "_at_octokit_slash_core";
       packageName = "@octokit/core";
-      version = "4.1.0";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/core/-/core-4.1.0.tgz";
-        sha512 = "Czz/59VefU+kKDy+ZfDwtOIYIkFjExOKf+HA92aiTZJ6EfWpFzYQWw0l54ji8bVmyhc+mGaLUbSUmXazG7z5OQ==";
+        url = "https://registry.npmjs.org/@octokit/core/-/core-4.2.0.tgz";
+        sha512 = "AgvDRUg3COpR82P7PBdGZF/NNqGmtMq2NiPqeSsDIeCfYFOZ9gddqWNQHnFdEUf+YwOj4aZYmJnlPp7OXmDIDg==";
       };
     };
     "@octokit/endpoint-6.0.12" = {
@@ -8455,13 +8959,13 @@ let
         sha512 = "lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==";
       };
     };
-    "@octokit/endpoint-7.0.3" = {
+    "@octokit/endpoint-7.0.5" = {
       name = "_at_octokit_slash_endpoint";
       packageName = "@octokit/endpoint";
-      version = "7.0.3";
+      version = "7.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.3.tgz";
-        sha512 = "57gRlb28bwTsdNXq+O3JTQ7ERmBTuik9+LelgcLIVfYwf235VHbN9QNo4kXExtp/h8T423cR5iJThKtFYxC7Lw==";
+        url = "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.5.tgz";
+        sha512 = "LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==";
       };
     };
     "@octokit/graphql-4.8.0" = {
@@ -8473,13 +8977,13 @@ let
         sha512 = "0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==";
       };
     };
-    "@octokit/graphql-5.0.4" = {
+    "@octokit/graphql-5.0.5" = {
       name = "_at_octokit_slash_graphql";
       packageName = "@octokit/graphql";
-      version = "5.0.4";
+      version = "5.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.4.tgz";
-        sha512 = "amO1M5QUQgYQo09aStR/XO7KAl13xpigcy/kI8/N1PnZYSS69fgte+xA4+c2DISKqUZfsh0wwjc2FaCt99L41A==";
+        url = "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.5.tgz";
+        sha512 = "Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ==";
       };
     };
     "@octokit/openapi-types-12.11.0" = {
@@ -8491,13 +8995,13 @@ let
         sha512 = "VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==";
       };
     };
-    "@octokit/openapi-types-14.0.0" = {
+    "@octokit/openapi-types-16.0.0" = {
       name = "_at_octokit_slash_openapi-types";
       packageName = "@octokit/openapi-types";
-      version = "14.0.0";
+      version = "16.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz";
-        sha512 = "HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==";
+        url = "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-16.0.0.tgz";
+        sha512 = "JbFWOqTJVLHZSUUoF4FzAZKYtqdxWu9Z5m2QQnOyEa04fOFljvyh7D3GYKbfuaSWisqehImiVIMG4eyJeP5VEA==";
       };
     };
     "@octokit/plugin-enterprise-rest-6.0.1" = {
@@ -8518,13 +9022,13 @@ let
         sha512 = "aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==";
       };
     };
-    "@octokit/plugin-paginate-rest-5.0.1" = {
+    "@octokit/plugin-paginate-rest-6.0.0" = {
       name = "_at_octokit_slash_plugin-paginate-rest";
       packageName = "@octokit/plugin-paginate-rest";
-      version = "5.0.1";
+      version = "6.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-5.0.1.tgz";
-        sha512 = "7A+rEkS70pH36Z6JivSlR7Zqepz3KVucEFVDnSrgHXzG7WLAzYwcHZbKdfTXHwuTHbkT1vKvz7dHl1+HNf6Qyw==";
+        url = "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.0.0.tgz";
+        sha512 = "Sq5VU1PfT6/JyuXPyt04KZNVsFOSBaYOAq2QRZUwzVlI10KFvcbUo8lR258AAQL1Et60b0WuVik+zOWKLuDZxw==";
       };
     };
     "@octokit/plugin-request-log-1.0.4" = {
@@ -8545,13 +9049,13 @@ let
         sha512 = "8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==";
       };
     };
-    "@octokit/plugin-rest-endpoint-methods-6.7.0" = {
+    "@octokit/plugin-rest-endpoint-methods-7.0.1" = {
       name = "_at_octokit_slash_plugin-rest-endpoint-methods";
       packageName = "@octokit/plugin-rest-endpoint-methods";
-      version = "6.7.0";
+      version = "7.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.7.0.tgz";
-        sha512 = "orxQ0fAHA7IpYhG2flD2AygztPlGYNAdlzYz8yrD8NDgelPfOYoRPROfEyIe035PlxvbYrgkfUZIhSBKju/Cvw==";
+        url = "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.0.1.tgz";
+        sha512 = "pnCaLwZBudK5xCdrR823xHGNgqOzRnJ/mpC/76YPpNP7DybdsJtP7mdOwh+wYZxK5jqeQuhu59ogMI4NRlBUvA==";
       };
     };
     "@octokit/plugin-retry-3.0.9" = {
@@ -8581,13 +9085,13 @@ let
         sha512 = "bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==";
       };
     };
-    "@octokit/request-6.2.2" = {
+    "@octokit/request-6.2.3" = {
       name = "_at_octokit_slash_request";
       packageName = "@octokit/request";
-      version = "6.2.2";
+      version = "6.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/request/-/request-6.2.2.tgz";
-        sha512 = "6VDqgj0HMc2FUX2awIs+sM6OwLgwHvAi4KCK3mT2H2IKRt6oH9d0fej5LluF5mck1lRR/rFWN0YIDSYXYSylbw==";
+        url = "https://registry.npmjs.org/@octokit/request/-/request-6.2.3.tgz";
+        sha512 = "TNAodj5yNzrrZ/VxP+H5HiYaZep0H3GU0O7PaF+fhDrt8FPrnkei9Aal/txsN/1P7V3CPiThG0tIvpPDYUsyAA==";
       };
     };
     "@octokit/request-error-2.1.0" = {
@@ -8599,13 +9103,13 @@ let
         sha512 = "1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==";
       };
     };
-    "@octokit/request-error-3.0.2" = {
+    "@octokit/request-error-3.0.3" = {
       name = "_at_octokit_slash_request-error";
       packageName = "@octokit/request-error";
-      version = "3.0.2";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.2.tgz";
-        sha512 = "WMNOFYrSaX8zXWoJg9u/pKgWPo94JXilMLb2VManNOby9EZxrQaBe/QSC4a1TzpAlpxofg2X/jMnCyZgL6y7eg==";
+        url = "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.3.tgz";
+        sha512 = "crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==";
       };
     };
     "@octokit/rest-18.12.0" = {
@@ -8617,13 +9121,13 @@ let
         sha512 = "gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==";
       };
     };
-    "@octokit/rest-19.0.5" = {
+    "@octokit/rest-19.0.7" = {
       name = "_at_octokit_slash_rest";
       packageName = "@octokit/rest";
-      version = "19.0.5";
+      version = "19.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.5.tgz";
-        sha512 = "+4qdrUFq2lk7Va+Qff3ofREQWGBeoTKNqlJO+FGjFP35ZahP+nBenhZiGdu8USSgmq4Ky3IJ/i4u0xbLqHaeow==";
+        url = "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.7.tgz";
+        sha512 = "HRtSfjrWmWVNp2uAkEpQnuGMJsu/+dBr47dRc5QVgsCbnIc1+GFEaoKBWkYG+zjrsHpSqcAElMio+n10c0b5JA==";
       };
     };
     "@octokit/types-6.41.0" = {
@@ -8635,13 +9139,13 @@ let
         sha512 = "eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==";
       };
     };
-    "@octokit/types-8.1.1" = {
+    "@octokit/types-9.0.0" = {
       name = "_at_octokit_slash_types";
       packageName = "@octokit/types";
-      version = "8.1.1";
+      version = "9.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@octokit/types/-/types-8.1.1.tgz";
-        sha512 = "7tjk+6DyhYAmei8FOEwPfGKc0VE1x56CKPJ+eE44zhDbOyMT+9yan8apfQFxo8oEFsy+0O7PiBtH8w0Yo0Y9Kw==";
+        url = "https://registry.npmjs.org/@octokit/types/-/types-9.0.0.tgz";
+        sha512 = "LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw==";
       };
     };
     "@opencensus/core-0.0.8" = {
@@ -8743,454 +9247,454 @@ let
         sha512 = "po7penSfQ/Z8352lRVDpaBrd9znwA5mHGqXR7nDEiVnxkDFkBIhVf/tKeAJDIq/erFpcRowKFeCsr5eqqcSyFQ==";
       };
     };
-    "@orval/angular-6.11.0" = {
+    "@orval/angular-6.11.1" = {
       name = "_at_orval_slash_angular";
       packageName = "@orval/angular";
-      version = "6.11.0";
+      version = "6.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@orval/angular/-/angular-6.11.0.tgz";
-        sha512 = "4mYJ1KIloPn8W+ZWRszNJBxiV2AE2mCQ3KfQnUa/jh4YllOOjWto03GA3sr3IRGdJXwlN3/Esp6dQNQjto5Z+w==";
+        url = "https://registry.npmjs.org/@orval/angular/-/angular-6.11.1.tgz";
+        sha512 = "L1sdQ7b7cq5jtL2OBacpyQ2MwGRUcWm1U5BEJg0R+K3eWN7LfFAQk99karMEbre1C5U/s2BXh/hxmWHK24i1+A==";
       };
     };
-    "@orval/axios-6.11.0" = {
+    "@orval/axios-6.11.1" = {
       name = "_at_orval_slash_axios";
       packageName = "@orval/axios";
-      version = "6.11.0";
+      version = "6.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@orval/axios/-/axios-6.11.0.tgz";
-        sha512 = "SSuWbS68v/nfcvxDdXntyPxRY0lCAbgMwnZ+V0cnq00G9Lgljiql2gPKOO3cnQhmpAiYIf8Zs6skSeIzrXxfiA==";
+        url = "https://registry.npmjs.org/@orval/axios/-/axios-6.11.1.tgz";
+        sha512 = "iemXAYoTuguCIgzK4yHRuUWNxIYk8umpI7FYNYCk+YZ1MJfWa+GAKeem9Fzb3EbmWWvlH4bNfFkXsygvorS1nw==";
       };
     };
-    "@orval/core-6.11.0" = {
+    "@orval/core-6.11.1" = {
       name = "_at_orval_slash_core";
       packageName = "@orval/core";
-      version = "6.11.0";
+      version = "6.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@orval/core/-/core-6.11.0.tgz";
-        sha512 = "PbH2PbpHbnLXrQWvLHUAm0lZHiD+Np7IGcVTLyXdDE9lGDpMY7jVxMLAB2aYhTZiSiyI6tIhSeaXPOykgVL8+g==";
+        url = "https://registry.npmjs.org/@orval/core/-/core-6.11.1.tgz";
+        sha512 = "0d8K4gmeMovYYdagRQ5pj0KsgtB8JKDYP/RjzQfr40ootAjbP6egaAjhSzogv0vfSr5GDwNPPzD+S0cK6pQsAw==";
       };
     };
-    "@orval/msw-6.11.0" = {
+    "@orval/msw-6.11.1" = {
       name = "_at_orval_slash_msw";
       packageName = "@orval/msw";
-      version = "6.11.0";
+      version = "6.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@orval/msw/-/msw-6.11.0.tgz";
-        sha512 = "g9oHX6IgqEQIJS6J0SJa3dUkDeZe/Iv6dgZ5Y0LorOgYfduAcfVjRepG/vnNu6mxmHbh5d2ZrxrSDZmxmuWU6Q==";
+        url = "https://registry.npmjs.org/@orval/msw/-/msw-6.11.1.tgz";
+        sha512 = "1WA9nLBhvBTu0MZ0V+UAlipNMkOmhy0vv2RfcAGrqiq8TCHkdVvVOZvrIuQkJxYkELEBAXTPfGnIzqCVwRkwiA==";
       };
     };
-    "@orval/query-6.11.0" = {
+    "@orval/query-6.11.1" = {
       name = "_at_orval_slash_query";
       packageName = "@orval/query";
-      version = "6.11.0";
+      version = "6.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@orval/query/-/query-6.11.0.tgz";
-        sha512 = "nYgHVpEc3reHGryWhyap74+NoZlCAqZh0aULKcJD5jYCIXn8+SNt3kEeB1tjIzTbiESc5DGa3pUzEP8hJ7FN9Q==";
+        url = "https://registry.npmjs.org/@orval/query/-/query-6.11.1.tgz";
+        sha512 = "FV5mGQ9fpyqPJl82AkGvft2WQGr0GLyrVp7k7Nrlr0I2j+F0PByvlvtvTbS0CCXY9m9ot6tE3NDXkISZEczG4w==";
       };
     };
-    "@orval/swr-6.11.0" = {
+    "@orval/swr-6.11.1" = {
       name = "_at_orval_slash_swr";
       packageName = "@orval/swr";
-      version = "6.11.0";
+      version = "6.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@orval/swr/-/swr-6.11.0.tgz";
-        sha512 = "ONwjmk6Hxt+ozVVZast4pvc/hnhBzC+KkWPmpdFdoyrpgvIkAsulkuWQV12Sgo3KwSDH5abIOvexgeha7UaZxA==";
+        url = "https://registry.npmjs.org/@orval/swr/-/swr-6.11.1.tgz";
+        sha512 = "Oi/cgNzFWU0ukXoq5RselfJLcoy9l+MmLpmgnqTghXewRq67q1iIc5ee5/8Kf9m36dLCfb7uk8m1i3e6F5LhwA==";
       };
     };
-    "@ot-builder/bin-composite-types-1.5.5" = {
+    "@ot-builder/bin-composite-types-1.6.1" = {
       name = "_at_ot-builder_slash_bin-composite-types";
       packageName = "@ot-builder/bin-composite-types";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/bin-composite-types/-/bin-composite-types-1.5.5.tgz";
-        sha512 = "CK8DmpDC/BILM57mX5jq1aAKRGqHPIRknnBTOtr+kAEdyYPJ28ATAojk7jcBb+tw6WPCdDRmmAj9XvKkXfwTdg==";
+        url = "https://registry.npmjs.org/@ot-builder/bin-composite-types/-/bin-composite-types-1.6.1.tgz";
+        sha512 = "xYJeoZ4vJMYv8UcWMOuuhCwsO061FHgsakr81XeKXVw2iJ5DknDvNv1Q7+ss34XlXl+Cj6vXe8i86tsa1AjU4g==";
       };
     };
-    "@ot-builder/bin-util-1.5.5" = {
+    "@ot-builder/bin-util-1.6.1" = {
       name = "_at_ot-builder_slash_bin-util";
       packageName = "@ot-builder/bin-util";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/bin-util/-/bin-util-1.5.5.tgz";
-        sha512 = "YilwtBHMAcqa+C/8gCqekM4nZkIGkdS64Sd/N4Q2aw68ly3l94hgPOioNRq7Ixju+reg1HHQrn6e/ug8UJ1F4A==";
+        url = "https://registry.npmjs.org/@ot-builder/bin-util/-/bin-util-1.6.1.tgz";
+        sha512 = "k4CKNu3i+h17S1yzYi1ih1cXSCKyKWKDuQrCgV/6igMeZ8eAMnk1Y3+/eN4EXDODCa9LrYK/jZs643lfejMr9A==";
       };
     };
-    "@ot-builder/cli-help-shower-1.5.5" = {
+    "@ot-builder/cli-help-shower-1.6.1" = {
       name = "_at_ot-builder_slash_cli-help-shower";
       packageName = "@ot-builder/cli-help-shower";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/cli-help-shower/-/cli-help-shower-1.5.5.tgz";
-        sha512 = "TwopK3Xwhhsw8o9rEz4eV4Fov9AvAA4bWSfCpt7vv1E8Ri+oXGVGZKiStjnrQJSr2WaZ4KqZcEvZew8F+ZYDbQ==";
+        url = "https://registry.npmjs.org/@ot-builder/cli-help-shower/-/cli-help-shower-1.6.1.tgz";
+        sha512 = "J3aX1FtjGN7VMWA87xPwkIrXYtCNTT60fqE6izIU8X7mpRqgJlzVgg8ePQu3dLtUqo21oH8FUDLX5z1KjwInew==";
       };
     };
-    "@ot-builder/cli-proc-1.5.5" = {
+    "@ot-builder/cli-proc-1.6.1" = {
       name = "_at_ot-builder_slash_cli-proc";
       packageName = "@ot-builder/cli-proc";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/cli-proc/-/cli-proc-1.5.5.tgz";
-        sha512 = "kxwViISxgMpK00eronqF+StDAfWcqF0nIm2l84zs4qJY6ddsBbhVgSNtY19DfDDjJPEEHDoNGEOJYAeyxquRIg==";
+        url = "https://registry.npmjs.org/@ot-builder/cli-proc/-/cli-proc-1.6.1.tgz";
+        sha512 = "zjXAbWIvW52/lLhMCw1STLHDiwtTV/2eF09+PGxn77PenBynw0f0+opxkL9wvrA83OEu3N2eEIK89JmRM+j89A==";
       };
     };
-    "@ot-builder/cli-shared-1.5.5" = {
+    "@ot-builder/cli-shared-1.6.1" = {
       name = "_at_ot-builder_slash_cli-shared";
       packageName = "@ot-builder/cli-shared";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/cli-shared/-/cli-shared-1.5.5.tgz";
-        sha512 = "lqIaWGEJ+Xw3tJLF7faX5gH7GWaNLjRnnadiR/fK6o2wdRhjEiw+DQa4hmE9mXdBCNaAxPSDkRR3GA6hvsw4lA==";
+        url = "https://registry.npmjs.org/@ot-builder/cli-shared/-/cli-shared-1.6.1.tgz";
+        sha512 = "RXbC9TqfcSVwo0gpqm8k+F3IrwzVHX67lxu0Fv2NCX/9HzgmzzusmD7tzLIYIs9fIdF2hOOhjT9JVPyFJkkS9A==";
       };
     };
-    "@ot-builder/common-impl-1.5.5" = {
+    "@ot-builder/common-impl-1.6.1" = {
       name = "_at_ot-builder_slash_common-impl";
       packageName = "@ot-builder/common-impl";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/common-impl/-/common-impl-1.5.5.tgz";
-        sha512 = "BhNB6m/dIaXMUbRlYLcmnEYwFoPVcvUD7fpij2wL/sbuSXh5IVj/wvcGqNDaRMJN7jWF1iApoWYb25s2cMI0eg==";
+        url = "https://registry.npmjs.org/@ot-builder/common-impl/-/common-impl-1.6.1.tgz";
+        sha512 = "Sg8PegFN/CoekaRQ1hGvQJLcUREF1ugRIwjbewLRPGTHGECSIsEipq4gyVsmHSUiUSlQRwycwAsaQMB8l9amww==";
       };
     };
-    "@ot-builder/errors-1.5.5" = {
+    "@ot-builder/errors-1.6.1" = {
       name = "_at_ot-builder_slash_errors";
       packageName = "@ot-builder/errors";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/errors/-/errors-1.5.5.tgz";
-        sha512 = "r1/31jN6MXb+sUMgFa7fl7cvh6WbyUrWHtU2aWNXo+v3ANF02pAANm3kHRYeo1A5hbsPdpYGT59eA2wKsFv6pg==";
+        url = "https://registry.npmjs.org/@ot-builder/errors/-/errors-1.6.1.tgz";
+        sha512 = "04vPz6CI2O69Tfpby5K7dLZkRg21yQFSyAvvUJx22OU9SfDI4KTmtcwlYRwHAYBC9GFc4S+nx/+50pNZ5XJTqw==";
       };
     };
-    "@ot-builder/io-bin-cff-1.5.5" = {
+    "@ot-builder/io-bin-cff-1.6.1" = {
       name = "_at_ot-builder_slash_io-bin-cff";
       packageName = "@ot-builder/io-bin-cff";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-cff/-/io-bin-cff-1.5.5.tgz";
-        sha512 = "fZXVdnCsV2xGd12ixn/ZD7I73NUJty2RzAru0/SPcKh9+MM9+0WAaC8K2959JoK1k+uWTwkm9GfVFWBrqgkm1Q==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-cff/-/io-bin-cff-1.6.1.tgz";
+        sha512 = "Ce/nnjzL/tF2VaUEk22jBk1wM28UoJttXl3mTPzuurSxfJTpXNPkib3KqoHN1/PdesNlhqiQr2FCdx9uOyjedg==";
       };
     };
-    "@ot-builder/io-bin-encoding-1.5.5" = {
+    "@ot-builder/io-bin-encoding-1.6.1" = {
       name = "_at_ot-builder_slash_io-bin-encoding";
       packageName = "@ot-builder/io-bin-encoding";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-encoding/-/io-bin-encoding-1.5.5.tgz";
-        sha512 = "f9H94M2v3DaLQpWV9sG2e5vYubzI+I2AXlRCKplexfSWoIU7Wsusb3ZNXs+rWB3tFKTOVjwZ2c8prSNsKVPZWA==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-encoding/-/io-bin-encoding-1.6.1.tgz";
+        sha512 = "3t8Yvu0rJStgmUr4T8cSx+WMkusyfc5gL2a80UVsSzofo7RTK+MIr8bvL7b2z85pEP/DkKR/GFDGzzU1mwb0AQ==";
       };
     };
-    "@ot-builder/io-bin-ext-private-1.5.5" = {
+    "@ot-builder/io-bin-ext-private-1.6.1" = {
       name = "_at_ot-builder_slash_io-bin-ext-private";
       packageName = "@ot-builder/io-bin-ext-private";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-ext-private/-/io-bin-ext-private-1.5.5.tgz";
-        sha512 = "kuybGd55HbVW+6E05yZLmR98IhH+BiwjHgyOq2+/DiD5iSE/SCqtqHJ7Gs94UfJp16PaCCnWDXjcJdkSPMhqKg==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-ext-private/-/io-bin-ext-private-1.6.1.tgz";
+        sha512 = "QrzerNSAN5TVreNeAtO6zZpMsR2Lsq8SNtAJeChSq2n2pxPwBJJnBnDr8K3If6ykucvVb1sLCqHyjEXG2D9ReA==";
       };
     };
-    "@ot-builder/io-bin-font-1.5.5" = {
+    "@ot-builder/io-bin-font-1.6.1" = {
       name = "_at_ot-builder_slash_io-bin-font";
       packageName = "@ot-builder/io-bin-font";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-font/-/io-bin-font-1.5.5.tgz";
-        sha512 = "JCAYsJIXiV0nYrWZHK9WV1YgGkz+nNbngziQyTNoO4qp8qmrvuc0cCwd6TOwuBapgfd7WJTyW2h5RVqbICxZ3g==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-font/-/io-bin-font-1.6.1.tgz";
+        sha512 = "JXzKYXf8NR2DdUQ+BsdB9Eg5oM4HIYtFEr9aKHFTFY+E7MXRrkO+lPm43vOETB6+dWns9vJ4LIcyCO3MvBwQ5A==";
       };
     };
-    "@ot-builder/io-bin-glyph-store-1.5.5" = {
+    "@ot-builder/io-bin-glyph-store-1.6.1" = {
       name = "_at_ot-builder_slash_io-bin-glyph-store";
       packageName = "@ot-builder/io-bin-glyph-store";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-glyph-store/-/io-bin-glyph-store-1.5.5.tgz";
-        sha512 = "9NurbkwdnmlnHEKzFRcrwleTU2PL8T++Gjl8TqDUZ+O2+RoNDOjZ8j0JnARv6+yj7w1+uFZlrdDd2r+/Hox5bQ==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-glyph-store/-/io-bin-glyph-store-1.6.1.tgz";
+        sha512 = "yWnzgzgpBcyLaDevWmd48BRifNbIEl1EaEiUfuOFT8UHxwKBZharL7RyDkgOQH1v/JiS1F/bc7+dV83SU7qHtw==";
       };
     };
-    "@ot-builder/io-bin-layout-1.5.5" = {
+    "@ot-builder/io-bin-layout-1.6.1" = {
       name = "_at_ot-builder_slash_io-bin-layout";
       packageName = "@ot-builder/io-bin-layout";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-layout/-/io-bin-layout-1.5.5.tgz";
-        sha512 = "mbI3XHVw++lUJPxtiUEBP+Cxxr38cJ9fdENH00snSyBAaM4NifYUcVab51Hw1idYqGhtT+HdXUDql5fHqmGLrg==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-layout/-/io-bin-layout-1.6.1.tgz";
+        sha512 = "bdkBgGZ4d/ymmZxu3J5FOErn8MgdUBJDqETs8832U96sqb8aTB3vGtP0zIWB/ORuRXJNmBgPrZEa+Hi3ff51kw==";
       };
     };
-    "@ot-builder/io-bin-metadata-1.5.5" = {
+    "@ot-builder/io-bin-metadata-1.6.1" = {
       name = "_at_ot-builder_slash_io-bin-metadata";
       packageName = "@ot-builder/io-bin-metadata";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-metadata/-/io-bin-metadata-1.5.5.tgz";
-        sha512 = "avWLjS2IQ/g1qv+rDDuNovuu7lvmQSOr6rShk9uJNcSXU+w54n0auWquLyok42RFoW7YYmmPebgsJsTypSEUDQ==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-metadata/-/io-bin-metadata-1.6.1.tgz";
+        sha512 = "fKj2w5rXUNtOo69iY+4+I025ij+VSthpIWbp44dvQpwGHRDP2nAMZRDjdwpksKefKrHF0xUOZncoVk8cWUKnLQ==";
       };
     };
-    "@ot-builder/io-bin-metric-1.5.5" = {
+    "@ot-builder/io-bin-metric-1.6.1" = {
       name = "_at_ot-builder_slash_io-bin-metric";
       packageName = "@ot-builder/io-bin-metric";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-metric/-/io-bin-metric-1.5.5.tgz";
-        sha512 = "jjfyuHLwgQhyZEHP7hHVl3jX20i3dPbmDb2E7X3GbTmW+rTxodXrHN6OqnEzT+qluK+6RcQs5jdJ5GTW9r21wA==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-metric/-/io-bin-metric-1.6.1.tgz";
+        sha512 = "W9qUW3Ldw7cz/MPp0NFJ0UlbccTZ0jjjLJdAJgUjRmNemnLSJINy76gJKQPcLqQzWf0g+ZaqFIBpzo2kbJFXXQ==";
       };
     };
-    "@ot-builder/io-bin-name-1.5.5" = {
+    "@ot-builder/io-bin-name-1.6.1" = {
       name = "_at_ot-builder_slash_io-bin-name";
       packageName = "@ot-builder/io-bin-name";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-name/-/io-bin-name-1.5.5.tgz";
-        sha512 = "pUjKYAXczvqsFfwki8IGJe6PkdxO28GR+4nLrIxyiK6ZSePtMjauDfTUC/mWAVHQZ0uI+tr7n9Un5BONM5PPOg==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-name/-/io-bin-name-1.6.1.tgz";
+        sha512 = "5Ifb2iWM9CXwArQNT973YpWkClh7MxjjBJDaS2lt7WZl/CT2btBzHcZFubxxdplWloRMQQBsG+dM471BIs0gow==";
       };
     };
-    "@ot-builder/io-bin-sfnt-1.5.5" = {
+    "@ot-builder/io-bin-sfnt-1.6.1" = {
       name = "_at_ot-builder_slash_io-bin-sfnt";
       packageName = "@ot-builder/io-bin-sfnt";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-sfnt/-/io-bin-sfnt-1.5.5.tgz";
-        sha512 = "SiZRMR1jXhFFPQvBZgJuOb4kSrpaWtwAOQaq13Atmxsc855rTbC5u/p7ll55lj8RGcLBsZjwsw9fe4l/0NEJDw==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-sfnt/-/io-bin-sfnt-1.6.1.tgz";
+        sha512 = "/dQ6XGGZMyB79kivB5ZNi2s6Q0sSPjGZNGn+Wv+S5Z1qSuoSZYE3HyQ6c2pPpmLDrats9KqxVXWFTJVEQsuYng==";
       };
     };
-    "@ot-builder/io-bin-ttf-1.5.5" = {
+    "@ot-builder/io-bin-ttf-1.6.1" = {
       name = "_at_ot-builder_slash_io-bin-ttf";
       packageName = "@ot-builder/io-bin-ttf";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-ttf/-/io-bin-ttf-1.5.5.tgz";
-        sha512 = "6idmtX8UHM7mqUt4J2o/I/102RksvitKlinOrvUUNj64JtS/Mjy82ugFObLPDZAhXm0CjQIuIOYDS7ULHMtQqg==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-ttf/-/io-bin-ttf-1.6.1.tgz";
+        sha512 = "K6Bf183nGPuDeGfDNTK0B2o0Ohe/HnV79tUdQxlNX0YWkehtinp5uK8BcwrBzl1oKr64HCU4/4MJzfYDzGZLPw==";
       };
     };
-    "@ot-builder/io-bin-vtt-private-1.5.5" = {
+    "@ot-builder/io-bin-vtt-private-1.6.1" = {
       name = "_at_ot-builder_slash_io-bin-vtt-private";
       packageName = "@ot-builder/io-bin-vtt-private";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/io-bin-vtt-private/-/io-bin-vtt-private-1.5.5.tgz";
-        sha512 = "TAdtW8L8iBOUY8L5HfiNo1fGVKbugw4Oy0k5jomA+nob4Jt87G1MCNof03Tzudw+ncTI0WfhqMAqpp/Z5DIqIw==";
+        url = "https://registry.npmjs.org/@ot-builder/io-bin-vtt-private/-/io-bin-vtt-private-1.6.1.tgz";
+        sha512 = "kQ7YzNU7Uji6wMF7zWptHrlU8/pGuFdhQSQAUxEh/20lMh3p6gKImI+EA91TOB4WPn9K1pNYIwc4Bbg2l/KoKw==";
       };
     };
-    "@ot-builder/ot-1.5.5" = {
+    "@ot-builder/ot-1.6.1" = {
       name = "_at_ot-builder_slash_ot";
       packageName = "@ot-builder/ot";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot/-/ot-1.5.5.tgz";
-        sha512 = "Kbn1lGkQi/jfKdOU/72KZe5joNLtCIkuS/+RM37OimOGSBCZqrnHyldCBv3U+ANPXREUqoBsSug4ar53fwROIQ==";
+        url = "https://registry.npmjs.org/@ot-builder/ot/-/ot-1.6.1.tgz";
+        sha512 = "QAsa5t+L2ud/Rfy7RGM47jJPVfsjhu1VSZhjqJlztjA2dYaWpesQPF5tacYuCz21UQHODdy3iumTAdugwZQYQw==";
       };
     };
-    "@ot-builder/ot-encoding-1.5.5" = {
+    "@ot-builder/ot-encoding-1.6.1" = {
       name = "_at_ot-builder_slash_ot-encoding";
       packageName = "@ot-builder/ot-encoding";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-encoding/-/ot-encoding-1.5.5.tgz";
-        sha512 = "WvtRzUCkYZ1t6hc6tBYFdgECuYGUT2sJ00qV0RHA/4k5KfofblavvduMD7DaTjMG+CP13lK1Hf2nZthY6Sjwvg==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-encoding/-/ot-encoding-1.6.1.tgz";
+        sha512 = "1N544+6WkMCSp06WYyWe7TvF19NbiikTeJxH0LU1VSvBOaWI5syg3G7uSPzoLTezIkCV7nE5tj+tKOC6Lr45Ng==";
       };
     };
-    "@ot-builder/ot-ext-private-1.5.5" = {
+    "@ot-builder/ot-ext-private-1.6.1" = {
       name = "_at_ot-builder_slash_ot-ext-private";
       packageName = "@ot-builder/ot-ext-private";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-ext-private/-/ot-ext-private-1.5.5.tgz";
-        sha512 = "kJ7/bR83V73+WMDE59Uy22zb4po54/gCnrUDoWTDdo8jnhri9wHtFpuL5W1RMQSsegI9PnYTFgTXwAuCmX8EBg==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-ext-private/-/ot-ext-private-1.6.1.tgz";
+        sha512 = "6hvBv2AGOAwJ9xOP2pHq1VLSmSggotRsyFGTOGLHSzpufSdfiWmshKPE3uw472nSQ4M3Bd+mK/WuxH1jVvogZw==";
       };
     };
-    "@ot-builder/ot-glyphs-1.5.5" = {
+    "@ot-builder/ot-glyphs-1.6.1" = {
       name = "_at_ot-builder_slash_ot-glyphs";
       packageName = "@ot-builder/ot-glyphs";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-glyphs/-/ot-glyphs-1.5.5.tgz";
-        sha512 = "8BIjHFzzsRjF0N+lRzna6mwmcQS61MIBFrRY2/hKzQVNqfmXfDRKPkFhbn/5tRb1mmvqNnLM7DrnQcz2r7sMew==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-glyphs/-/ot-glyphs-1.6.1.tgz";
+        sha512 = "O4r4fEcmioDGkO3QYeKH/IZFXToRZQkX4jqFQB4yq5qUiwjLJMKfi/giVnFK5jsu73NW+Ikq1mNNmxq4QpdtRQ==";
       };
     };
-    "@ot-builder/ot-layout-1.5.5" = {
+    "@ot-builder/ot-layout-1.6.1" = {
       name = "_at_ot-builder_slash_ot-layout";
       packageName = "@ot-builder/ot-layout";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-layout/-/ot-layout-1.5.5.tgz";
-        sha512 = "ABRaW09S1ynrEa61ZF5LuznpDqv6Q/zWVocrU4zaO6v42b5ZR87shbXDuYBTu10Ho+ieveMJkIgomjWWHSW4OQ==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-layout/-/ot-layout-1.6.1.tgz";
+        sha512 = "4Bnmr8Gz60HgGCBD0cHFeXea8cbH454oDDzfozu2t3xmE2TJV6x/xIW9MXyl+W88BOUlAOu9+hxOPkfxPvoASg==";
       };
     };
-    "@ot-builder/ot-metadata-1.5.5" = {
+    "@ot-builder/ot-metadata-1.6.1" = {
       name = "_at_ot-builder_slash_ot-metadata";
       packageName = "@ot-builder/ot-metadata";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-metadata/-/ot-metadata-1.5.5.tgz";
-        sha512 = "PHg5FS/4ayQcbRL2leT5PfWj/tw7hQsCJGYL0RNg+QvkY/IeExq+fHKzbC5HwLYZFCsVKdi5++cWM1rSaPCJIQ==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-metadata/-/ot-metadata-1.6.1.tgz";
+        sha512 = "ZXx0wx/cO/mivhGH5UbvfFe2QsTT74fw1N9NUCjmyupLz8og6kX//Lhj33/sjQqc9p+kBcjp9qVzL99D5tbx8A==";
       };
     };
-    "@ot-builder/ot-name-1.5.5" = {
+    "@ot-builder/ot-name-1.6.1" = {
       name = "_at_ot-builder_slash_ot-name";
       packageName = "@ot-builder/ot-name";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-name/-/ot-name-1.5.5.tgz";
-        sha512 = "HNHZbc2TFzFyJ1FHVlxV3sGQJqGQjdlTBW4CfgVxxHhbSe59/DMsX1oiplRQ3w7kYQ6SCfU2qp1JXVSXgVBPZw==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-name/-/ot-name-1.6.1.tgz";
+        sha512 = "CdCmblvnr/M3PrQT4W0/12df5LhSQxM+eZbE64NLY7ZKekJK7C8MpSuo0lBTAduAQAczAmN3+HfQ2v1xXtBNOg==";
       };
     };
-    "@ot-builder/ot-sfnt-1.5.5" = {
+    "@ot-builder/ot-sfnt-1.6.1" = {
       name = "_at_ot-builder_slash_ot-sfnt";
       packageName = "@ot-builder/ot-sfnt";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-sfnt/-/ot-sfnt-1.5.5.tgz";
-        sha512 = "B3vMza3hSdGyOlzhIKsNVUHe6knOKpQlWuAZUQXIQCTuKdLGcDAsYBFuTEZEtLhpRzm+jSfEyGZ87V0YV2nUBg==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-sfnt/-/ot-sfnt-1.6.1.tgz";
+        sha512 = "jKc2TnfTvQu/958TJrZwG9MxwTRbmcRc9ZvW1MjEK9FK7OqfjxiNAUXJLZm9x2ETxW5pMnkcrkCSD2QaLpuV7w==";
       };
     };
-    "@ot-builder/ot-standard-glyph-namer-1.5.5" = {
+    "@ot-builder/ot-standard-glyph-namer-1.6.1" = {
       name = "_at_ot-builder_slash_ot-standard-glyph-namer";
       packageName = "@ot-builder/ot-standard-glyph-namer";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-standard-glyph-namer/-/ot-standard-glyph-namer-1.5.5.tgz";
-        sha512 = "L+quAs3jQ1I4U3byONrPp9i8jTf8YT7CuF4ONUiExGyJnK9WIvD5NaVKdI/MPkxVUb1Udc9SaBYtoUm9ImUHQQ==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-standard-glyph-namer/-/ot-standard-glyph-namer-1.6.1.tgz";
+        sha512 = "qU5+2fzE0iana0BJQOuclGwDCA5BboJIc6e651+6SKfdg/lY+KhmdJR5IvjKSARz3c4Uk9r1bbtOjuiFAlnePQ==";
       };
     };
-    "@ot-builder/ot-vtt-private-1.5.5" = {
+    "@ot-builder/ot-vtt-private-1.6.1" = {
       name = "_at_ot-builder_slash_ot-vtt-private";
       packageName = "@ot-builder/ot-vtt-private";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/ot-vtt-private/-/ot-vtt-private-1.5.5.tgz";
-        sha512 = "l8lY6BD1dzlHTW93TlBLcAxxRLHUjlRuFN7w+1Akmtfq/l15AWEW3OqxzxrGAw7TX7Q9Np7HhN0QGbTYjrul3g==";
+        url = "https://registry.npmjs.org/@ot-builder/ot-vtt-private/-/ot-vtt-private-1.6.1.tgz";
+        sha512 = "tBCs7mK3+Potn4DLEOABd1xRZLhG9X7AOASeAJwPOGBNi831DyYuODLeFIE9BKZThoP5GlbTpn5zt2w51Spy8g==";
       };
     };
-    "@ot-builder/prelude-1.5.5" = {
+    "@ot-builder/prelude-1.6.1" = {
       name = "_at_ot-builder_slash_prelude";
       packageName = "@ot-builder/prelude";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/prelude/-/prelude-1.5.5.tgz";
-        sha512 = "sTecdvnGlYdQ6Qbu4NSyYIzil72k7gwGaVJiFRZyudNouGiurijHt5F+RiWl05U83zrlcdpcN7iiXzHfr5NnWQ==";
+        url = "https://registry.npmjs.org/@ot-builder/prelude/-/prelude-1.6.1.tgz";
+        sha512 = "EeO5vzAEpoRHrA9U39mANa5eoFk/LdS7zhSDiqe4wuDjw9MMcTlkPT1O9aKNNBWdC/ErMutM+AR5b7YWzgSFZw==";
       };
     };
-    "@ot-builder/primitive-1.5.5" = {
+    "@ot-builder/primitive-1.6.1" = {
       name = "_at_ot-builder_slash_primitive";
       packageName = "@ot-builder/primitive";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/primitive/-/primitive-1.5.5.tgz";
-        sha512 = "AKrFDof1e6r7K5EC71wGhOfAjujf9GuJ0g56CKGps4FfDw7CwFg77KFwpqsFWjyt6t1fmvFAlKdhVXuNyH4c2Q==";
+        url = "https://registry.npmjs.org/@ot-builder/primitive/-/primitive-1.6.1.tgz";
+        sha512 = "1NJpEeaRxrLdjA5nIr92U4DL7bfTMHJgJRIlBu2tGHYttnCOmBWqyRVA+g+prwwUR06EH8I7Dv3q042uc5Ji0A==";
       };
     };
-    "@ot-builder/rectify-1.5.5" = {
+    "@ot-builder/rectify-1.6.1" = {
       name = "_at_ot-builder_slash_rectify";
       packageName = "@ot-builder/rectify";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/rectify/-/rectify-1.5.5.tgz";
-        sha512 = "nrx6Ubt7IX9IKUMJcAmNrHyi0kC83laGpnHKCGiBWGVfn/BdmFogRUGNR0NUpEImIVWTq0Y8Ae/tf/i9yI5eZQ==";
+        url = "https://registry.npmjs.org/@ot-builder/rectify/-/rectify-1.6.1.tgz";
+        sha512 = "JFSO1YbH9G0pBqBk5xT01YvurUXiHH7k6daP4ceWfKp0Ch6cZCtgvxHIDvtSNxhYnlhBkBWye2+UyZSBlIu77w==";
       };
     };
-    "@ot-builder/stat-glyphs-1.5.5" = {
+    "@ot-builder/stat-glyphs-1.6.1" = {
       name = "_at_ot-builder_slash_stat-glyphs";
       packageName = "@ot-builder/stat-glyphs";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/stat-glyphs/-/stat-glyphs-1.5.5.tgz";
-        sha512 = "DgWbUPy5de/2fL0JJ94UXJ5fibvDAtVWtjHUmgy38i+3vHYcQ14WPjq3sLxyOKRrrvBQ7CK7Z92N9JjBN+a5ZQ==";
+        url = "https://registry.npmjs.org/@ot-builder/stat-glyphs/-/stat-glyphs-1.6.1.tgz";
+        sha512 = "IGZkR9QdVjPAEBXAe4qixlp4DvHioxD/bp/d+jlIUVgUGZzo/wpwUV/ktT/zjZXDdNpVSdTa/RSG5mUtWHqf8w==";
       };
     };
-    "@ot-builder/trace-1.5.5" = {
+    "@ot-builder/trace-1.6.1" = {
       name = "_at_ot-builder_slash_trace";
       packageName = "@ot-builder/trace";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/trace/-/trace-1.5.5.tgz";
-        sha512 = "hOH55nKImSbq/5ZgZ8pya1/yIvC3IDRfqfWL/3Uz0Zp0StD6/9xhegK+9bM3Qs/llmDXZd7JYOsyWETw8f1iIg==";
+        url = "https://registry.npmjs.org/@ot-builder/trace/-/trace-1.6.1.tgz";
+        sha512 = "r18ahZoSFv2bWl9oQCDM4IT4aPr8krMjHJHj0brHoMKhrPH/iE9k+d97UaqXUd+I8ZliTfihK/AzOArjIv2ZqQ==";
       };
     };
-    "@ot-builder/var-store-1.5.5" = {
+    "@ot-builder/var-store-1.6.1" = {
       name = "_at_ot-builder_slash_var-store";
       packageName = "@ot-builder/var-store";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/var-store/-/var-store-1.5.5.tgz";
-        sha512 = "H18j0yR9qrwXC665lHDq07DBRKkxxlB3mcjUXYX8xElkv/UcD42FOI5lTlvLYV39e3f8uBTf9IhVYPNTYtZHmg==";
+        url = "https://registry.npmjs.org/@ot-builder/var-store/-/var-store-1.6.1.tgz";
+        sha512 = "SHkiufkRd07hE4Y75lr013yN0TKdebCqe9VpY/W05EwFL+0DBX2w1cE8FYqiVeS2EYA2hE727BpxTJbTHcRa2Q==";
       };
     };
-    "@ot-builder/variance-1.5.5" = {
+    "@ot-builder/variance-1.6.1" = {
       name = "_at_ot-builder_slash_variance";
       packageName = "@ot-builder/variance";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ot-builder/variance/-/variance-1.5.5.tgz";
-        sha512 = "Jp20Ro43mLR32erJkLolduF1Q+jBYwDJitcEaGztVEmNGLbJNHb++jFIQSswIFDUrmj/3pKgret4ASiLc4WIkw==";
+        url = "https://registry.npmjs.org/@ot-builder/variance/-/variance-1.6.1.tgz";
+        sha512 = "RQ9H+jCcshoEUOYjpaOhxSJ31uiKJ8FAOqAvd8JdmDNJAHmmQmaNINOUr+amR0bJk6GqbKnuK48Xs3+8OiAgcw==";
       };
     };
-    "@parcel/bundler-default-2.8.2" = {
+    "@parcel/bundler-default-2.8.3" = {
       name = "_at_parcel_slash_bundler-default";
       packageName = "@parcel/bundler-default";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.8.2.tgz";
-        sha512 = "/7ao0vc/v8WGHZaS1SyS5R8wzqmmXEr9mhIIB2cbLQ4LA2WUtKsYcvZ2gjJuiAAN1CHC6GxqwYjIJScQCk/QXg==";
+        url = "https://registry.npmjs.org/@parcel/bundler-default/-/bundler-default-2.8.3.tgz";
+        sha512 = "yJvRsNWWu5fVydsWk3O2L4yIy3UZiKWO2cPDukGOIWMgp/Vbpp+2Ct5IygVRtE22bnseW/E/oe0PV3d2IkEJGg==";
       };
     };
-    "@parcel/cache-2.8.2" = {
+    "@parcel/cache-2.8.3" = {
       name = "_at_parcel_slash_cache";
       packageName = "@parcel/cache";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/cache/-/cache-2.8.2.tgz";
-        sha512 = "kiyoOgh1RXp5qp+wlb8Pi/Z7o9D82Oj5RlHnKSAauyR7jgnI8Vq8JTeBmlLqrf+kHxcDcp2p86hidSeANhlQNg==";
+        url = "https://registry.npmjs.org/@parcel/cache/-/cache-2.8.3.tgz";
+        sha512 = "k7xv5vSQrJLdXuglo+Hv3yF4BCSs1tQ/8Vbd6CHTkOhf7LcGg6CPtLw053R/KdMpd/4GPn0QrAsOLdATm1ELtQ==";
       };
     };
-    "@parcel/codeframe-2.8.2" = {
+    "@parcel/codeframe-2.8.3" = {
       name = "_at_parcel_slash_codeframe";
       packageName = "@parcel/codeframe";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.8.2.tgz";
-        sha512 = "U2GT9gq1Zs3Gr83j8JIs10bLbGOHFl57Y8D57nrdR05F4iilV/UR6K7jkhdoiFc9WiHh3ewvrko5+pSdAVFPgQ==";
+        url = "https://registry.npmjs.org/@parcel/codeframe/-/codeframe-2.8.3.tgz";
+        sha512 = "FE7sY53D6n/+2Pgg6M9iuEC6F5fvmyBkRE4d9VdnOoxhTXtkEqpqYgX7RJ12FAQwNlxKq4suBJQMgQHMF2Kjeg==";
       };
     };
-    "@parcel/compressor-raw-2.8.2" = {
+    "@parcel/compressor-raw-2.8.3" = {
       name = "_at_parcel_slash_compressor-raw";
       packageName = "@parcel/compressor-raw";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.8.2.tgz";
-        sha512 = "EFPTer/P+3axifH6LtYHS3E6ABgdZnjZomJZ/Nl19lypZh/NgZzmMZlINlEVqyYhCggoKfXzgeTgkIHPN2d5Vw==";
+        url = "https://registry.npmjs.org/@parcel/compressor-raw/-/compressor-raw-2.8.3.tgz";
+        sha512 = "bVDsqleBUxRdKMakWSlWC9ZjOcqDKE60BE+Gh3JSN6WJrycJ02P5wxjTVF4CStNP/G7X17U+nkENxSlMG77ySg==";
       };
     };
-    "@parcel/config-default-2.8.2" = {
+    "@parcel/config-default-2.8.3" = {
       name = "_at_parcel_slash_config-default";
       packageName = "@parcel/config-default";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.8.2.tgz";
-        sha512 = "1ELJAHx37fKSZZkYKWy6UdcuLRv5vrZJc89tVS6eRvvMt+udbIoSgIUzPXu7XemkcchF7Tryw3u2pRyxyLyL3w==";
+        url = "https://registry.npmjs.org/@parcel/config-default/-/config-default-2.8.3.tgz";
+        sha512 = "o/A/mbrO6X/BfGS65Sib8d6SSG45NYrNooNBkH/o7zbOBSRQxwyTlysleK1/3Wa35YpvFyLOwgfakqCtbGy4fw==";
       };
     };
-    "@parcel/core-2.8.2" = {
+    "@parcel/core-2.8.3" = {
       name = "_at_parcel_slash_core";
       packageName = "@parcel/core";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/core/-/core-2.8.2.tgz";
-        sha512 = "ZGuq6p+Lzx6fgufaVsuOBwgpU3hgskTvIDIMdIDi9gOZyhGPK7U2srXdX+VYUL5ZSGbX04/P6QlB9FMAXK+nEg==";
+        url = "https://registry.npmjs.org/@parcel/core/-/core-2.8.3.tgz";
+        sha512 = "Euf/un4ZAiClnlUXqPB9phQlKbveU+2CotZv7m7i+qkgvFn5nAGnrV4h1OzQU42j9dpgOxWi7AttUDMrvkbhCQ==";
       };
     };
-    "@parcel/diagnostic-2.8.2" = {
+    "@parcel/diagnostic-2.8.3" = {
       name = "_at_parcel_slash_diagnostic";
       packageName = "@parcel/diagnostic";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.8.2.tgz";
-        sha512 = "tGSMwM2rSYLjJW0fCd9gb3tNjfCX/83PZ10/5u2E33UZVkk8OIHsQmsrtq2H2g4oQL3rFxkfEx6nGPDGHwlx7A==";
+        url = "https://registry.npmjs.org/@parcel/diagnostic/-/diagnostic-2.8.3.tgz";
+        sha512 = "u7wSzuMhLGWZjVNYJZq/SOViS3uFG0xwIcqXw12w54Uozd6BH8JlhVtVyAsq9kqnn7YFkw6pXHqAo5Tzh4FqsQ==";
       };
     };
-    "@parcel/events-2.8.2" = {
+    "@parcel/events-2.8.3" = {
       name = "_at_parcel_slash_events";
       packageName = "@parcel/events";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/events/-/events-2.8.2.tgz";
-        sha512 = "o5etrsKm16y8iRPnjtEBNy4lD0WAigD66yt/RZl9Rx0vPVDly/63Rr9+BrXWVW7bJ7x0S0VVpWW4j3f/qZOsXg==";
+        url = "https://registry.npmjs.org/@parcel/events/-/events-2.8.3.tgz";
+        sha512 = "hoIS4tAxWp8FJk3628bsgKxEvR7bq2scCVYHSqZ4fTi/s0+VymEATrRCUqf+12e5H47uw1/ZjoqrGtBI02pz4w==";
       };
     };
     "@parcel/fs-1.11.0" = {
@@ -9202,40 +9706,40 @@ let
         sha512 = "86RyEqULbbVoeo8OLcv+LQ1Vq2PKBAvWTU9fCgALxuCTbbs5Ppcvll4Vr+Ko1AnmMzja/k++SzNAwJfeQXVlpA==";
       };
     };
-    "@parcel/fs-2.8.2" = {
+    "@parcel/fs-2.8.3" = {
       name = "_at_parcel_slash_fs";
       packageName = "@parcel/fs";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/fs/-/fs-2.8.2.tgz";
-        sha512 = "aN8znbMndSqn1xwZEmMblzqmJsxcExv2jKLl/a9RUHAP7LaPYcPZIykDL3YwGCiKTCzjmRpXnNoyosjFFeBaHA==";
+        url = "https://registry.npmjs.org/@parcel/fs/-/fs-2.8.3.tgz";
+        sha512 = "y+i+oXbT7lP0e0pJZi/YSm1vg0LDsbycFuHZIL80pNwdEppUAtibfJZCp606B7HOjMAlNZOBo48e3hPG3d8jgQ==";
       };
     };
-    "@parcel/fs-search-2.8.2" = {
+    "@parcel/fs-search-2.8.3" = {
       name = "_at_parcel_slash_fs-search";
       packageName = "@parcel/fs-search";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.8.2.tgz";
-        sha512 = "ovQnupRm/MoE/tbgH0Ivknk0QYenXAewjcog+T5umDmUlTmnIRZjURrgDf5Xtw8T/CD5Xv+HmIXpJ9Ez/LzJpw==";
+        url = "https://registry.npmjs.org/@parcel/fs-search/-/fs-search-2.8.3.tgz";
+        sha512 = "DJBT2N8knfN7Na6PP2mett3spQLTqxFrvl0gv+TJRp61T8Ljc4VuUTb0hqBj+belaASIp3Q+e8+SgaFQu7wLiQ==";
       };
     };
-    "@parcel/graph-2.8.2" = {
+    "@parcel/graph-2.8.3" = {
       name = "_at_parcel_slash_graph";
       packageName = "@parcel/graph";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/graph/-/graph-2.8.2.tgz";
-        sha512 = "SLEvBQBgfkXgU4EBu30+CNanpuKjcNuEv/x8SwobCF0i3Rk+QKbe7T36bNR7727mao++2Ha69q93Dd9dTPw0kQ==";
+        url = "https://registry.npmjs.org/@parcel/graph/-/graph-2.8.3.tgz";
+        sha512 = "26GL8fYZPdsRhSXCZ0ZWliloK6DHlMJPWh6Z+3VVZ5mnDSbYg/rRKWmrkhnr99ZWmL9rJsv4G74ZwvDEXTMPBg==";
       };
     };
-    "@parcel/hash-2.8.2" = {
+    "@parcel/hash-2.8.3" = {
       name = "_at_parcel_slash_hash";
       packageName = "@parcel/hash";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/hash/-/hash-2.8.2.tgz";
-        sha512 = "NBnP8Hu0xvAqAfZXRaMM66i8nJyxpKS86BbhwkbgTGbwO1OY87GERliHeREJfcER0E0ZzwNow7MNR8ZDm6IvJQ==";
+        url = "https://registry.npmjs.org/@parcel/hash/-/hash-2.8.3.tgz";
+        sha512 = "FVItqzjWmnyP4ZsVgX+G00+6U2IzOvqDtdwQIWisCcVoXJFCqZJDy6oa2qDDFz96xCCCynjRjPdQx2jYBCpfYw==";
       };
     };
     "@parcel/logger-1.11.1" = {
@@ -9247,211 +9751,211 @@ let
         sha512 = "9NF3M6UVeP2udOBDILuoEHd8VrF4vQqoWHEafymO1pfSoOMfxrSJZw1MfyAAIUN/IFp9qjcpDCUbDZB+ioVevA==";
       };
     };
-    "@parcel/logger-2.8.2" = {
+    "@parcel/logger-2.8.3" = {
       name = "_at_parcel_slash_logger";
       packageName = "@parcel/logger";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/logger/-/logger-2.8.2.tgz";
-        sha512 = "zlhK6QHxfFJMlVJxxcCw0xxBDrYPFPOhMxSD6p6b0z9Yct1l3NdpmfabgjKX8wnZmHokFsil6daleM+M80n2Ew==";
+        url = "https://registry.npmjs.org/@parcel/logger/-/logger-2.8.3.tgz";
+        sha512 = "Kpxd3O/Vs7nYJIzkdmB6Bvp3l/85ydIxaZaPfGSGTYOfaffSOTkhcW9l6WemsxUrlts4za6CaEWcc4DOvaMOPA==";
       };
     };
-    "@parcel/markdown-ansi-2.8.2" = {
+    "@parcel/markdown-ansi-2.8.3" = {
       name = "_at_parcel_slash_markdown-ansi";
       packageName = "@parcel/markdown-ansi";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.8.2.tgz";
-        sha512 = "5y29TXgRgG0ybuXaDsDk4Aofg/nDUeAAyVl9/toYCDDhxpQV4yZt8WNPu4PaNYKGLuNgXwsmz+ryZQHGmfbAIQ==";
+        url = "https://registry.npmjs.org/@parcel/markdown-ansi/-/markdown-ansi-2.8.3.tgz";
+        sha512 = "4v+pjyoh9f5zuU/gJlNvNFGEAb6J90sOBwpKJYJhdWXLZMNFCVzSigxrYO+vCsi8G4rl6/B2c0LcwIMjGPHmFQ==";
       };
     };
-    "@parcel/namer-default-2.8.2" = {
+    "@parcel/namer-default-2.8.3" = {
       name = "_at_parcel_slash_namer-default";
       packageName = "@parcel/namer-default";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.8.2.tgz";
-        sha512 = "sMLW/bDWXA6IE7TQKOsBnA5agZGNvZ9qIXKZEUTsTloUjMdAWI8NYA1s0i9HovnGxI5uGlgevrftK4S5V4AdkA==";
+        url = "https://registry.npmjs.org/@parcel/namer-default/-/namer-default-2.8.3.tgz";
+        sha512 = "tJ7JehZviS5QwnxbARd8Uh63rkikZdZs1QOyivUhEvhN+DddSAVEdQLHGPzkl3YRk0tjFhbqo+Jci7TpezuAMw==";
       };
     };
-    "@parcel/node-resolver-core-2.8.2" = {
+    "@parcel/node-resolver-core-2.8.3" = {
       name = "_at_parcel_slash_node-resolver-core";
       packageName = "@parcel/node-resolver-core";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.8.2.tgz";
-        sha512 = "D/NJEz/h/C3RmUOWSTg0cLwG3uRVHY9PL+3YGO/c8tKu8PlS2j55XtntdiVfwkK+P6avLCnrJnv/gwTa79dOPw==";
+        url = "https://registry.npmjs.org/@parcel/node-resolver-core/-/node-resolver-core-2.8.3.tgz";
+        sha512 = "12YryWcA5Iw2WNoEVr/t2HDjYR1iEzbjEcxfh1vaVDdZ020PiGw67g5hyIE/tsnG7SRJ0xdRx1fQ2hDgED+0Ww==";
       };
     };
-    "@parcel/optimizer-css-2.8.2" = {
+    "@parcel/optimizer-css-2.8.3" = {
       name = "_at_parcel_slash_optimizer-css";
       packageName = "@parcel/optimizer-css";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.8.2.tgz";
-        sha512 = "pQEuKhk0PJuYI3hrXlf4gpuuPy+MZUDzC44ulQM7kVcVJ0OofuJQQeHfTLE+v5wClFDd29ZQZ7RsLP5RyUQ+Lg==";
+        url = "https://registry.npmjs.org/@parcel/optimizer-css/-/optimizer-css-2.8.3.tgz";
+        sha512 = "JotGAWo8JhuXsQDK0UkzeQB0UR5hDAKvAviXrjqB4KM9wZNLhLleeEAW4Hk8R9smCeQFP6Xg/N/NkLDpqMwT3g==";
       };
     };
-    "@parcel/optimizer-htmlnano-2.8.2" = {
+    "@parcel/optimizer-htmlnano-2.8.3" = {
       name = "_at_parcel_slash_optimizer-htmlnano";
       packageName = "@parcel/optimizer-htmlnano";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.8.2.tgz";
-        sha512 = "4+3wi+Yi+hsf5/LolX59JXFe/7bLpI6NetUBgtoxOVm/EzFg1NGSNOcrthzEcgGj6+MMSdzBAxRTPObAfDxJCA==";
+        url = "https://registry.npmjs.org/@parcel/optimizer-htmlnano/-/optimizer-htmlnano-2.8.3.tgz";
+        sha512 = "L8/fHbEy8Id2a2E0fwR5eKGlv9VYDjrH9PwdJE9Za9v1O/vEsfl/0T/79/x129l5O0yB6EFQkFa20MiK3b+vOg==";
       };
     };
-    "@parcel/optimizer-image-2.8.2" = {
+    "@parcel/optimizer-image-2.8.3" = {
       name = "_at_parcel_slash_optimizer-image";
       packageName = "@parcel/optimizer-image";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.8.2.tgz";
-        sha512 = "/ICYG0smbMkli+su4m/ENQPxQDCPYYTJTjseKwl+t1vyj6wqNF99mNI4c0RE2TIPuDneGwSz7PlHhC2JmdgxfQ==";
+        url = "https://registry.npmjs.org/@parcel/optimizer-image/-/optimizer-image-2.8.3.tgz";
+        sha512 = "SD71sSH27SkCDNUNx9A3jizqB/WIJr3dsfp+JZGZC42tpD/Siim6Rqy9M4To/BpMMQIIiEXa5ofwS+DgTEiEHQ==";
       };
     };
-    "@parcel/optimizer-svgo-2.8.2" = {
+    "@parcel/optimizer-svgo-2.8.3" = {
       name = "_at_parcel_slash_optimizer-svgo";
       packageName = "@parcel/optimizer-svgo";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.8.2.tgz";
-        sha512 = "nFWyM+CBtgBixqknpbN4R92v8PK7Gjlrsb8vxN/IIr/3Pjk+DfoT51DnynhU7AixvDylYkgjjqrQ7uFYYl0OKA==";
+        url = "https://registry.npmjs.org/@parcel/optimizer-svgo/-/optimizer-svgo-2.8.3.tgz";
+        sha512 = "9KQed99NZnQw3/W4qBYVQ7212rzA9EqrQG019TIWJzkA9tjGBMIm2c/nXpK1tc3hQ3e7KkXkFCQ3C+ibVUnHNA==";
       };
     };
-    "@parcel/optimizer-terser-2.8.2" = {
+    "@parcel/optimizer-terser-2.8.3" = {
       name = "_at_parcel_slash_optimizer-terser";
       packageName = "@parcel/optimizer-terser";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.8.2.tgz";
-        sha512 = "jFAOh9WaO6oNc8B9qDsCWzNkH7nYlpvaPn0w3ZzpMDi0HWD+w+xgO737rWLJWZapqUDSOs0Q/hDFEZ82/z0yxA==";
+        url = "https://registry.npmjs.org/@parcel/optimizer-terser/-/optimizer-terser-2.8.3.tgz";
+        sha512 = "9EeQlN6zIeUWwzrzu6Q2pQSaYsYGah8MtiQ/hog9KEPlYTP60hBv/+utDyYEHSQhL7y5ym08tPX5GzBvwAD/dA==";
       };
     };
-    "@parcel/package-manager-2.8.2" = {
+    "@parcel/package-manager-2.8.3" = {
       name = "_at_parcel_slash_package-manager";
       packageName = "@parcel/package-manager";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.8.2.tgz";
-        sha512 = "hx4Imi0yhsSS0aNZkEANPYNNKqBuR63EUNWSxMyHh4ZOvbHoOXnMn1ySGdx6v0oi9HvKymNsLMQ1T5CuI4l4Bw==";
+        url = "https://registry.npmjs.org/@parcel/package-manager/-/package-manager-2.8.3.tgz";
+        sha512 = "tIpY5pD2lH53p9hpi++GsODy6V3khSTX4pLEGuMpeSYbHthnOViobqIlFLsjni+QA1pfc8NNNIQwSNdGjYflVA==";
       };
     };
-    "@parcel/packager-css-2.8.2" = {
+    "@parcel/packager-css-2.8.3" = {
       name = "_at_parcel_slash_packager-css";
       packageName = "@parcel/packager-css";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.8.2.tgz";
-        sha512 = "l2fR5qr1moUWLOqQZPxtH6DBKbaKcxzEPAmQ+f15dHt8eQxU15MyQ4DHX41b5B7HwaumgCqe0NkuTF3DedpJKg==";
+        url = "https://registry.npmjs.org/@parcel/packager-css/-/packager-css-2.8.3.tgz";
+        sha512 = "WyvkMmsurlHG8d8oUVm7S+D+cC/T3qGeqogb7sTI52gB6uiywU7lRCizLNqGFyFGIxcVTVHWnSHqItBcLN76lA==";
       };
     };
-    "@parcel/packager-html-2.8.2" = {
+    "@parcel/packager-html-2.8.3" = {
       name = "_at_parcel_slash_packager-html";
       packageName = "@parcel/packager-html";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.8.2.tgz";
-        sha512 = "/oiTsKZ5OyF9OwAVGHANNuW2TB3k3cVub1QfttSKJgG3sAhrOifb1dP8zBHMxvUrB0CJdYhGlgi1Jth9kjACCg==";
+        url = "https://registry.npmjs.org/@parcel/packager-html/-/packager-html-2.8.3.tgz";
+        sha512 = "OhPu1Hx1RRKJodpiu86ZqL8el2Aa4uhBHF6RAL1Pcrh2EhRRlPf70Sk0tC22zUpYL7es+iNKZ/n0Rl+OWSHWEw==";
       };
     };
-    "@parcel/packager-js-2.8.2" = {
+    "@parcel/packager-js-2.8.3" = {
       name = "_at_parcel_slash_packager-js";
       packageName = "@parcel/packager-js";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.8.2.tgz";
-        sha512 = "48LtHP4lJn8J1aBeD4Ix/YjsRxrBUkzbx7czdUeRh2PlCqY4wwIhciVlEFipj/ANr3ieSX44lXyVPk/ttnSdrw==";
+        url = "https://registry.npmjs.org/@parcel/packager-js/-/packager-js-2.8.3.tgz";
+        sha512 = "0pGKC3Ax5vFuxuZCRB+nBucRfFRz4ioie19BbDxYnvBxrd4M3FIu45njf6zbBYsI9eXqaDnL1b3DcZJfYqtIzw==";
       };
     };
-    "@parcel/packager-raw-2.8.2" = {
+    "@parcel/packager-raw-2.8.3" = {
       name = "_at_parcel_slash_packager-raw";
       packageName = "@parcel/packager-raw";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.8.2.tgz";
-        sha512 = "dGonfFptNV1lgqKaD17ecXBUyIfoG6cJI1cCE1sSoYCEt7r+Rq56X/Gq8oiA3+jjMC7QTls+SmFeMZh26fl77Q==";
+        url = "https://registry.npmjs.org/@parcel/packager-raw/-/packager-raw-2.8.3.tgz";
+        sha512 = "BA6enNQo1RCnco9MhkxGrjOk59O71IZ9DPKu3lCtqqYEVd823tXff2clDKHK25i6cChmeHu6oB1Rb73hlPqhUA==";
       };
     };
-    "@parcel/packager-svg-2.8.2" = {
+    "@parcel/packager-svg-2.8.3" = {
       name = "_at_parcel_slash_packager-svg";
       packageName = "@parcel/packager-svg";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.8.2.tgz";
-        sha512 = "k7LymTJ4XQA+UcPwFYqJfWs5/Awa4GirNxRWfiFflLqH3F1XvMiKSCIQXmrDM6IaeIqqDDsu6+P5U6YDAzzM3A==";
+        url = "https://registry.npmjs.org/@parcel/packager-svg/-/packager-svg-2.8.3.tgz";
+        sha512 = "mvIoHpmv5yzl36OjrklTDFShLUfPFTwrmp1eIwiszGdEBuQaX7JVI3Oo2jbVQgcN4W7J6SENzGQ3Q5hPTW3pMw==";
       };
     };
-    "@parcel/plugin-2.8.2" = {
+    "@parcel/plugin-2.8.3" = {
       name = "_at_parcel_slash_plugin";
       packageName = "@parcel/plugin";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.8.2.tgz";
-        sha512 = "YG7TWfKsoNm72jbz3b3TLec0qJHVkuAWSzGzowdIhX37cP1kRfp6BU2VcH+qYPP/KYJLzhcZa9n3by147mGcxw==";
+        url = "https://registry.npmjs.org/@parcel/plugin/-/plugin-2.8.3.tgz";
+        sha512 = "jZ6mnsS4D9X9GaNnvrixDQwlUQJCohDX2hGyM0U0bY2NWU8Km97SjtoCpWjq+XBCx/gpC4g58+fk9VQeZq2vlw==";
       };
     };
-    "@parcel/reporter-cli-2.8.2" = {
+    "@parcel/reporter-cli-2.8.3" = {
       name = "_at_parcel_slash_reporter-cli";
       packageName = "@parcel/reporter-cli";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.8.2.tgz";
-        sha512 = "OIRlBqpKqPpMWRHATT8az8fUAqfceLWlWqgX/CW5cG1i6gefbBWFq2qYxDVBEk1bPDLIUCtqNLhfO8hLyweMjA==";
+        url = "https://registry.npmjs.org/@parcel/reporter-cli/-/reporter-cli-2.8.3.tgz";
+        sha512 = "3sJkS6tFFzgIOz3u3IpD/RsmRxvOKKiQHOTkiiqRt1l44mMDGKS7zANRnJYsQzdCsgwc9SOP30XFgJwtoVlMbw==";
       };
     };
-    "@parcel/reporter-dev-server-2.8.2" = {
+    "@parcel/reporter-dev-server-2.8.3" = {
       name = "_at_parcel_slash_reporter-dev-server";
       packageName = "@parcel/reporter-dev-server";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.8.2.tgz";
-        sha512 = "A16pAQSAT8Yilo1yCPZcrtWbRhwyiMopEz0mOyGobA1ZDy6B3j4zjobIWzdPQCSIY7+v44vtWMDGbdGrxt6M1Q==";
+        url = "https://registry.npmjs.org/@parcel/reporter-dev-server/-/reporter-dev-server-2.8.3.tgz";
+        sha512 = "Y8C8hzgzTd13IoWTj+COYXEyCkXfmVJs3//GDBsH22pbtSFMuzAZd+8J9qsCo0EWpiDow7V9f1LischvEh3FbQ==";
       };
     };
-    "@parcel/resolver-default-2.8.2" = {
+    "@parcel/resolver-default-2.8.3" = {
       name = "_at_parcel_slash_resolver-default";
       packageName = "@parcel/resolver-default";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.8.2.tgz";
-        sha512 = "mlowJMjFjyps9my8wd13kgeExJ5EgkPAuIxRSSWW+GPR7N3uA5DBJ+SB/CzdhCkPrXR6kwVWxNkkOch38pzOQQ==";
+        url = "https://registry.npmjs.org/@parcel/resolver-default/-/resolver-default-2.8.3.tgz";
+        sha512 = "k0B5M/PJ+3rFbNj4xZSBr6d6HVIe6DH/P3dClLcgBYSXAvElNDfXgtIimbjCyItFkW9/BfcgOVKEEIZOeySH/A==";
       };
     };
-    "@parcel/runtime-browser-hmr-2.8.2" = {
+    "@parcel/runtime-browser-hmr-2.8.3" = {
       name = "_at_parcel_slash_runtime-browser-hmr";
       packageName = "@parcel/runtime-browser-hmr";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.8.2.tgz";
-        sha512 = "VRM8mxakMglqRB0f5eAuwCigjJ5vlaJMwHy+JuzOsn/yVSELOb+6psRKl2B9hhxp9sJPt4IU6KDdH2IOrgx87Q==";
+        url = "https://registry.npmjs.org/@parcel/runtime-browser-hmr/-/runtime-browser-hmr-2.8.3.tgz";
+        sha512 = "2O1PYi2j/Q0lTyGNV3JdBYwg4rKo6TEVFlYGdd5wCYU9ZIN9RRuoCnWWH2qCPj3pjIVtBeppYxzfVjPEHINWVg==";
       };
     };
-    "@parcel/runtime-js-2.8.2" = {
+    "@parcel/runtime-js-2.8.3" = {
       name = "_at_parcel_slash_runtime-js";
       packageName = "@parcel/runtime-js";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.8.2.tgz";
-        sha512 = "Vk3Gywn2M9qP5X4lF6tu8QXP4xNI90UOSOhKHQ9W5pCu+zvD0Gdvu7qwQPFuFjIAq08xU7+PvZzGnlnM+8NyRw==";
+        url = "https://registry.npmjs.org/@parcel/runtime-js/-/runtime-js-2.8.3.tgz";
+        sha512 = "IRja0vNKwvMtPgIqkBQh0QtRn0XcxNC8HU1jrgWGRckzu10qJWO+5ULgtOeR4pv9krffmMPqywGXw6l/gvJKYQ==";
       };
     };
-    "@parcel/runtime-react-refresh-2.8.2" = {
+    "@parcel/runtime-react-refresh-2.8.3" = {
       name = "_at_parcel_slash_runtime-react-refresh";
       packageName = "@parcel/runtime-react-refresh";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.8.2.tgz";
-        sha512 = "JjaMvBVx6v0zB1KHa7AopciIsl3FpjUMttr2tb6L7lzocti2muQGE6GBfinXOmD5oERwCf8HwGJ8SNFcIF0rKA==";
+        url = "https://registry.npmjs.org/@parcel/runtime-react-refresh/-/runtime-react-refresh-2.8.3.tgz";
+        sha512 = "2v/qFKp00MfG0234OdOgQNAo6TLENpFYZMbVbAsPMY9ITiqG73MrEsrGXVoGbYiGTMB/Toer/lSWlJxtacOCuA==";
       };
     };
-    "@parcel/runtime-service-worker-2.8.2" = {
+    "@parcel/runtime-service-worker-2.8.3" = {
       name = "_at_parcel_slash_runtime-service-worker";
       packageName = "@parcel/runtime-service-worker";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.8.2.tgz";
-        sha512 = "KSxbOKV8nuH5JjFvcUlCtBYnVVlmxreXpMxRUPphPwJnyxRGA4E0jofbQxWY5KPgp7x/ZnZU/nyzCvqURH3kHA==";
+        url = "https://registry.npmjs.org/@parcel/runtime-service-worker/-/runtime-service-worker-2.8.3.tgz";
+        sha512 = "/Skkw+EeRiwzOJso5fQtK8c9b452uWLNhQH1ISTodbmlcyB4YalAiSsyHCtMYD0c3/t5Sx4ZS7vxBAtQd0RvOw==";
       };
     };
     "@parcel/source-map-2.1.1" = {
@@ -9463,112 +9967,112 @@ let
         sha512 = "Ejx1P/mj+kMjQb8/y5XxDUn4reGdr+WyKYloBljpppUy8gs42T+BNoEOuRYqDVdgPc6NxduzIDoJS9pOFfV5Ew==";
       };
     };
-    "@parcel/transformer-babel-2.8.2" = {
+    "@parcel/transformer-babel-2.8.3" = {
       name = "_at_parcel_slash_transformer-babel";
       packageName = "@parcel/transformer-babel";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.8.2.tgz";
-        sha512 = "oL2BpvrPMwFiU9jUZ9UYGD1gRgvq9jLsOq+/PJl4GvPbOBVedIBE2nbHP/mYuWRpRnTTTiJQ/ItyOS0R2VQl7A==";
+        url = "https://registry.npmjs.org/@parcel/transformer-babel/-/transformer-babel-2.8.3.tgz";
+        sha512 = "L6lExfpvvC7T/g3pxf3CIJRouQl+sgrSzuWQ0fD4PemUDHvHchSP4SNUVnd6gOytF3Y1KpnEZIunQGi5xVqQCQ==";
       };
     };
-    "@parcel/transformer-css-2.8.2" = {
+    "@parcel/transformer-css-2.8.3" = {
       name = "_at_parcel_slash_transformer-css";
       packageName = "@parcel/transformer-css";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.8.2.tgz";
-        sha512 = "q8UDlX/TTCbuFBMU45q12/p92JNIz8MHkkH104dWDzXbRtvMKMg8jgNmr8S2bouZjtXMsSb2c54EO88DSM9G4A==";
+        url = "https://registry.npmjs.org/@parcel/transformer-css/-/transformer-css-2.8.3.tgz";
+        sha512 = "xTqFwlSXtnaYen9ivAgz+xPW7yRl/u4QxtnDyDpz5dr8gSeOpQYRcjkd4RsYzKsWzZcGtB5EofEk8ayUbWKEUg==";
       };
     };
-    "@parcel/transformer-html-2.8.2" = {
+    "@parcel/transformer-html-2.8.3" = {
       name = "_at_parcel_slash_transformer-html";
       packageName = "@parcel/transformer-html";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.8.2.tgz";
-        sha512 = "QDgDw6+DAcllaRQiRteMX0VgPIsxRUTXFS8jcXhbGio41LbUkLcT09M04L/cfJAAzvIKhXqiOxfNnyajTvCPDQ==";
+        url = "https://registry.npmjs.org/@parcel/transformer-html/-/transformer-html-2.8.3.tgz";
+        sha512 = "kIZO3qsMYTbSnSpl9cnZog+SwL517ffWH54JeB410OSAYF1ouf4n5v9qBnALZbuCCmPwJRGs4jUtE452hxwN4g==";
       };
     };
-    "@parcel/transformer-image-2.8.2" = {
+    "@parcel/transformer-image-2.8.3" = {
       name = "_at_parcel_slash_transformer-image";
       packageName = "@parcel/transformer-image";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.8.2.tgz";
-        sha512 = "B/D9v/BVyN5jxoi+wHPbIRfMIylmC6adp8GP+BtChjbuRjukgGT8RlAVz4vDm1l0bboeyPL2IuoWRQgXKGuPVg==";
+        url = "https://registry.npmjs.org/@parcel/transformer-image/-/transformer-image-2.8.3.tgz";
+        sha512 = "cO4uptcCGTi5H6bvTrAWEFUsTNhA4kCo8BSvRSCHA2sf/4C5tGQPHt3JhdO0GQLPwZRCh/R41EkJs5HZ8A8DAg==";
       };
     };
-    "@parcel/transformer-js-2.8.2" = {
+    "@parcel/transformer-js-2.8.3" = {
       name = "_at_parcel_slash_transformer-js";
       packageName = "@parcel/transformer-js";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.8.2.tgz";
-        sha512 = "mLksi6gu/20JdCFDNPl7Y0HTwJOAvf2ybC2HaJcy69PJCeUrrstgiFTjsCwv1eKcesgEHi9kKX+sMHVAH3B/dA==";
+        url = "https://registry.npmjs.org/@parcel/transformer-js/-/transformer-js-2.8.3.tgz";
+        sha512 = "9Qd6bib+sWRcpovvzvxwy/PdFrLUXGfmSW9XcVVG8pvgXsZPFaNjnNT8stzGQj1pQiougCoxMY4aTM5p1lGHEQ==";
       };
     };
-    "@parcel/transformer-json-2.8.2" = {
+    "@parcel/transformer-json-2.8.3" = {
       name = "_at_parcel_slash_transformer-json";
       packageName = "@parcel/transformer-json";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.8.2.tgz";
-        sha512 = "eZuaY5tMxcMDJwpHJbPVTgSaBIO4mamwAa3VulN9kRRaf29nc+Q0iM7zMFVHWFQAi/mZZ194IIQXbDX3r6oSSQ==";
+        url = "https://registry.npmjs.org/@parcel/transformer-json/-/transformer-json-2.8.3.tgz";
+        sha512 = "B7LmVq5Q7bZO4ERb6NHtRuUKWGysEeaj9H4zelnyBv+wLgpo4f5FCxSE1/rTNmP9u1qHvQ3scGdK6EdSSokGPg==";
       };
     };
-    "@parcel/transformer-postcss-2.8.2" = {
+    "@parcel/transformer-postcss-2.8.3" = {
       name = "_at_parcel_slash_transformer-postcss";
       packageName = "@parcel/transformer-postcss";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.8.2.tgz";
-        sha512 = "0Vb4T2e0QinNDps1/PxYsZwEzWieVxoW++AAUD3gzg0MfSyRc72MPc27CLOnziiRDyOUl+62gqpnNzq9xaKExA==";
+        url = "https://registry.npmjs.org/@parcel/transformer-postcss/-/transformer-postcss-2.8.3.tgz";
+        sha512 = "e8luB/poIlz6jBsD1Izms+6ElbyzuoFVa4lFVLZnTAChI3UxPdt9p/uTsIO46HyBps/Bk8ocvt3J4YF84jzmvg==";
       };
     };
-    "@parcel/transformer-posthtml-2.8.2" = {
+    "@parcel/transformer-posthtml-2.8.3" = {
       name = "_at_parcel_slash_transformer-posthtml";
       packageName = "@parcel/transformer-posthtml";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.8.2.tgz";
-        sha512 = "Ub7o6QlH7+xHHHdhvR7MxTqjyLVqeJopPSzy4yP+Bd72tWVjaVm7f76SUl+p7VjhLTMkmczr9OxG3k0SFHEbGw==";
+        url = "https://registry.npmjs.org/@parcel/transformer-posthtml/-/transformer-posthtml-2.8.3.tgz";
+        sha512 = "pkzf9Smyeaw4uaRLsT41RGrPLT5Aip8ZPcntawAfIo+KivBQUV0erY1IvHYjyfFzq1ld/Fo2Ith9He6mxpPifA==";
       };
     };
-    "@parcel/transformer-raw-2.8.2" = {
+    "@parcel/transformer-raw-2.8.3" = {
       name = "_at_parcel_slash_transformer-raw";
       packageName = "@parcel/transformer-raw";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.8.2.tgz";
-        sha512 = "xSzyZtrfisbx0R7xkuFJ/FksKyWaUFN18F9/0bLF8wo5LrOTQoYQatjun7/Rbq5mELBK/0ZPp7uJ02OqLRd2mA==";
+        url = "https://registry.npmjs.org/@parcel/transformer-raw/-/transformer-raw-2.8.3.tgz";
+        sha512 = "G+5cXnd2/1O3nV/pgRxVKZY/HcGSseuhAe71gQdSQftb8uJEURyUHoQ9Eh0JUD3MgWh9V+nIKoyFEZdf9T0sUQ==";
       };
     };
-    "@parcel/transformer-react-refresh-wrap-2.8.2" = {
+    "@parcel/transformer-react-refresh-wrap-2.8.3" = {
       name = "_at_parcel_slash_transformer-react-refresh-wrap";
       packageName = "@parcel/transformer-react-refresh-wrap";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.8.2.tgz";
-        sha512 = "UXBILYFXaj5zh1DzoYXoS3Wuq1+6WjoRQaFTUA5xrF3pjJb6LAXxWru3R20zR5INHIZXPxdQJB0b+epnmyjK4w==";
+        url = "https://registry.npmjs.org/@parcel/transformer-react-refresh-wrap/-/transformer-react-refresh-wrap-2.8.3.tgz";
+        sha512 = "q8AAoEvBnCf/nPvgOwFwKZfEl/thwq7c2duxXkhl+tTLDRN2vGmyz4355IxCkavSX+pLWSQ5MexklSEeMkgthg==";
       };
     };
-    "@parcel/transformer-svg-2.8.2" = {
+    "@parcel/transformer-svg-2.8.3" = {
       name = "_at_parcel_slash_transformer-svg";
       packageName = "@parcel/transformer-svg";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.8.2.tgz";
-        sha512 = "FyliRrNHOF6tGzwHSzA2CTbkq3iMvS27eozf1kFj6gbO8gfJ5HXYoppQrTb237YZ/WXCHqe/3HVmGyJDZiLr+Q==";
+        url = "https://registry.npmjs.org/@parcel/transformer-svg/-/transformer-svg-2.8.3.tgz";
+        sha512 = "3Zr/gBzxi1ZH1fftH/+KsZU7w5GqkmxlB0ZM8ovS5E/Pl1lq1t0xvGJue9m2VuQqP8Mxfpl5qLFmsKlhaZdMIQ==";
       };
     };
-    "@parcel/types-2.8.2" = {
+    "@parcel/types-2.8.3" = {
       name = "_at_parcel_slash_types";
       packageName = "@parcel/types";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/types/-/types-2.8.2.tgz";
-        sha512 = "HAYhokWxM10raIhqaYj9VR9eAvJ+xP2sNfQ1IcQybHpq3qblcBe/4jDeuUpwIyKeQ4gorp7xY+q8KDoR20j43w==";
+        url = "https://registry.npmjs.org/@parcel/types/-/types-2.8.3.tgz";
+        sha512 = "FECA1FB7+0UpITKU0D6TgGBpGxYpVSMNEENZbSJxFSajNy3wrko+zwBKQmFOLOiPcEtnGikxNs+jkFWbPlUAtw==";
       };
     };
     "@parcel/utils-1.11.0" = {
@@ -9580,13 +10084,13 @@ let
         sha512 = "cA3p4jTlaMeOtAKR/6AadanOPvKeg8VwgnHhOyfi0yClD0TZS/hi9xu12w4EzA/8NtHu0g6o4RDfcNjqN8l1AQ==";
       };
     };
-    "@parcel/utils-2.8.2" = {
+    "@parcel/utils-2.8.3" = {
       name = "_at_parcel_slash_utils";
       packageName = "@parcel/utils";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/utils/-/utils-2.8.2.tgz";
-        sha512 = "Ufax7wZxC9FNsUpR0EU7Z22LEY/q9jjsDTwswctCdfpWb7TE/NudOfM9myycfRvwBVEYN50lPbkt1QltEVnXQQ==";
+        url = "https://registry.npmjs.org/@parcel/utils/-/utils-2.8.3.tgz";
+        sha512 = "IhVrmNiJ+LOKHcCivG5dnuLGjhPYxQ/IzbnF2DKNQXWBTsYlHkJZpmz7THoeLtLliGmSOZ3ZCsbR8/tJJKmxjA==";
       };
     };
     "@parcel/watcher-1.12.1" = {
@@ -9625,13 +10129,13 @@ let
         sha512 = "USSjRAAQYsZFlv43FUPdD+jEGML5/8oLF0rUzPQTtK4q9kvaXr49F5ZplyLz5lox78cLZ0TxN2bIDQ1xhOkulQ==";
       };
     };
-    "@parcel/workers-2.8.2" = {
+    "@parcel/workers-2.8.3" = {
       name = "_at_parcel_slash_workers";
       packageName = "@parcel/workers";
-      version = "2.8.2";
+      version = "2.8.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@parcel/workers/-/workers-2.8.2.tgz";
-        sha512 = "Eg6CofIrJSNBa2fjXwvnzVLPKwR/6fkfQTFAm3Jl+4JYLVknBtTSFzQNp/Fa+HUEG889H9ucTk2CBi/fVPBAFw==";
+        url = "https://registry.npmjs.org/@parcel/workers/-/workers-2.8.3.tgz";
+        sha512 = "+AxBnKgjqVpUHBcHLWIHcjYgKIvHIpZjN33mG5LG9XXvrZiqdWvouEzqEXlVLq5VzzVbKIQQcmsvRy138YErkg==";
       };
     };
     "@peculiar/asn1-schema-2.3.3" = {
@@ -9715,6 +10219,15 @@ let
         sha512 = "SXsM27SGH3yTWKc2fKR4SYNxsmnvuBQ9dd6QHtEWmiZ/VqaOYPAIlS8+vMcn27YLtAEBGvNRSh3TPNvtjZgfqA==";
       };
     };
+    "@pnpm/crypto.base32-hash-1.0.1" = {
+      name = "_at_pnpm_slash_crypto.base32-hash";
+      packageName = "@pnpm/crypto.base32-hash";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@pnpm/crypto.base32-hash/-/crypto.base32-hash-1.0.1.tgz";
+        sha512 = "pzAXNn6KxTA3kbcI3iEnYs4vtH51XEVqmK/1EiD18MaPKylhqy8UvMJK3zKG+jeP82cqQbozcTGm4yOQ8i3vNw==";
+      };
+    };
     "@pnpm/error-1.4.0" = {
       name = "_at_pnpm_slash_error";
       packageName = "@pnpm/error";
@@ -9796,6 +10309,15 @@ let
         sha512 = "nco4+4sZqNHn60Y4VE/fbtlShCBqipyUO+nKRPvDHqLrecMW9pzHWMVRxk4nrMRoeowj3q0rX3GYRBa8lsHTAg==";
       };
     };
+    "@pnpm/types-8.9.0" = {
+      name = "_at_pnpm_slash_types";
+      packageName = "@pnpm/types";
+      version = "8.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@pnpm/types/-/types-8.9.0.tgz";
+        sha512 = "3MYHYm8epnciApn6w5Fzx6sepawmsNU7l6lvIq+ER22/DPSrr83YMhU/EQWnf4lORn2YyiXFj0FJSyJzEtIGmw==";
+      };
+    };
     "@pnpm/write-project-manifest-1.1.7" = {
       name = "_at_pnpm_slash_write-project-manifest";
       packageName = "@pnpm/write-project-manifest";
@@ -9823,13 +10345,13 @@ let
         sha512 = "50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==";
       };
     };
-    "@primer/octicons-17.8.0" = {
+    "@primer/octicons-17.10.2" = {
       name = "_at_primer_slash_octicons";
       packageName = "@primer/octicons";
-      version = "17.8.0";
+      version = "17.10.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@primer/octicons/-/octicons-17.8.0.tgz";
-        sha512 = "2OyvErMeqsJ/K1ZbQ902QowrwqXq+BMmGiL+PGqFzUQ85wmaWj+CobOwWPxBLs/xVGzacJJPt4fWcx4EMoRMkg==";
+        url = "https://registry.npmjs.org/@primer/octicons/-/octicons-17.10.2.tgz";
+        sha512 = "J/p2PcgT39Za4wpukbN6iUkEUvL5aE7Bs9kXBeEkrjEgc0Uu7J7B2ypwx9J0qM3m3lk2273RT5/4oGv8pfFLcg==";
       };
     };
     "@prisma/engines-4.9.0" = {
@@ -9940,13 +10462,13 @@ let
         sha512 = "Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==";
       };
     };
-    "@putdotio/api-client-8.33.0" = {
+    "@putdotio/api-client-8.33.1" = {
       name = "_at_putdotio_slash_api-client";
       packageName = "@putdotio/api-client";
-      version = "8.33.0";
+      version = "8.33.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@putdotio/api-client/-/api-client-8.33.0.tgz";
-        sha512 = "8GdqRQGfquU8WX1XNOuHnKqG4PJb2fgfS+7OH2g5wHRPKXdeStVbVYIVFxttwIeIcNPNtvjYHKyWhhWkFImEnQ==";
+        url = "https://registry.npmjs.org/@putdotio/api-client/-/api-client-8.33.1.tgz";
+        sha512 = "16mQ2diUm2/smxLG0PummI3G66GY3Fqtd1D6K64knPvaZUR1bRYhEJaXHdgiQLpl2PNYZl4MCyHXJ217t2RK2w==";
       };
     };
     "@reach/router-1.3.4" = {
@@ -9976,13 +10498,13 @@ let
         sha512 = "EBw7Ag1hPgFzdznK2PBblc1kdlj5B5Cw3XwI9/oG7tSn85/HKy3X9xHy/8tm/eNXJYHLXHJL/pkwBpFMVVefkw==";
       };
     };
-    "@redis/bloom-1.1.0" = {
+    "@redis/bloom-1.2.0" = {
       name = "_at_redis_slash_bloom";
       packageName = "@redis/bloom";
-      version = "1.1.0";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@redis/bloom/-/bloom-1.1.0.tgz";
-        sha512 = "9QovlxmpRtvxVbN0UBcv8WfdSMudNZZTFqCsnBszcQXqaZb/TVe30ScgGEO7u1EAIacTPAo7/oCYjYAxiHLanQ==";
+        url = "https://registry.npmjs.org/@redis/bloom/-/bloom-1.2.0.tgz";
+        sha512 = "HG2DFjYKbpNmVXsa0keLHp/3leGJz1mjh09f2RLGGLQZzSHpkmZWuwJbAvo3QcRY8p80m5+ZdXZdYOSBLlp7Cg==";
       };
     };
     "@redis/client-1.2.0" = {
@@ -9994,13 +10516,13 @@ let
         sha512 = "a8Nlw5fv2EIAFJxTDSSDVUT7yfBGpZO96ybZXzQpgkyLg/dxtQ1uiwTc0EGfzg1mrPjZokeBSEGTbGXekqTNOg==";
       };
     };
-    "@redis/client-1.4.2" = {
+    "@redis/client-1.5.3" = {
       name = "_at_redis_slash_client";
       packageName = "@redis/client";
-      version = "1.4.2";
+      version = "1.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@redis/client/-/client-1.4.2.tgz";
-        sha512 = "oUdEjE0I7JS5AyaAjkD3aOXn9NhO7XKyPyXEyrgFDu++VrVBHUPnV6dgEya9TcMuj5nIJRuCzCm8ZP+c9zCHPw==";
+        url = "https://registry.npmjs.org/@redis/client/-/client-1.5.3.tgz";
+        sha512 = "kPad3QmWyRcmFj1gnb+SkzjXBV7oPpyTJmasVA+ocgNClxqZaTJjLFReqxm9cZQiCtqZK9vrcTISNrgzQXFpLg==";
       };
     };
     "@redis/graph-1.0.1" = {
@@ -10048,13 +10570,13 @@ let
         sha512 = "pP+ZQRis5P21SD6fjyCeLcQdps+LuTzp2wdUbzxEmNhleighDDTD5ck8+cYof+WLec4csZX7ks+BuoMw0RaZrA==";
       };
     };
-    "@redis/search-1.1.0" = {
+    "@redis/search-1.1.1" = {
       name = "_at_redis_slash_search";
       packageName = "@redis/search";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@redis/search/-/search-1.1.0.tgz";
-        sha512 = "NyFZEVnxIJEybpy+YskjgOJRNsfTYqaPbK/Buv6W2kmFNaRk85JiqjJZA5QkRmWvGbyQYwoO5QfDi2wHskKrQQ==";
+        url = "https://registry.npmjs.org/@redis/search/-/search-1.1.1.tgz";
+        sha512 = "pqCXTc5e7wJJgUuJiC3hBgfoFRoPxYzwn0BEfKgejTM7M/9zP3IpUcqcjgfp8hF+LoV8rHZzcNTz7V+pEIY7LQ==";
       };
     };
     "@redis/time-series-1.0.3" = {
@@ -10084,13 +10606,13 @@ let
         sha512 = "9GWx27t7xWhDIR02PA18nzBdLcKQRgc46xNQvjFkrYk4UOmvKhJ/dawwiX0cCOeetN5LcaaiqQbVOWYK62SGHw==";
       };
     };
-    "@redocly/openapi-core-1.0.0-beta.120" = {
+    "@redocly/openapi-core-1.0.0-beta.122" = {
       name = "_at_redocly_slash_openapi-core";
       packageName = "@redocly/openapi-core";
-      version = "1.0.0-beta.120";
+      version = "1.0.0-beta.122";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0-beta.120.tgz";
-        sha512 = "BvasunpVWm5O9F/mW6JmxUqat4XFU5zNnKJkMY6GJ9UYH2UxgKnGaMLWXKtbJEOBnMT12S/p9yeqrQHnk8rGhQ==";
+        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0-beta.122.tgz";
+        sha512 = "oky8yeq0Bodw+lj+jxPP4PZPdsN+Fx71N0X5PPEGzMe8zBhFnOAXMR7auA02gHz7DhOnCZ7kTNV1KcftRtSRNg==";
       };
     };
     "@repeaterjs/repeater-3.0.4" = {
@@ -10102,6 +10624,123 @@ let
         sha512 = "AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==";
       };
     };
+    "@resvg/resvg-js-2.2.0" = {
+      name = "_at_resvg_slash_resvg-js";
+      packageName = "@resvg/resvg-js";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@resvg/resvg-js/-/resvg-js-2.2.0.tgz";
+        sha512 = "Btc6Bht2Y8jBlS1RqVYsPWQaL1WgeGZd/TasmQpCsh0s5Ax1Kw0zyr6DCpvlNYG6b3mNnmJ5ib44A5MIQZmrEQ==";
+      };
+    };
+    "@resvg/resvg-js-android-arm-eabi-2.2.0" = {
+      name = "_at_resvg_slash_resvg-js-android-arm-eabi";
+      packageName = "@resvg/resvg-js-android-arm-eabi";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@resvg/resvg-js-android-arm-eabi/-/resvg-js-android-arm-eabi-2.2.0.tgz";
+        sha512 = "w3lAI6R5cfxGM5oxX6XhEFob4mJkkyfKm0veUQJOg65J4dznwcaJ54lGuQPfjAPhcHxSk/w+7BvFLjbbjV09qw==";
+      };
+    };
+    "@resvg/resvg-js-android-arm64-2.2.0" = {
+      name = "_at_resvg_slash_resvg-js-android-arm64";
+      packageName = "@resvg/resvg-js-android-arm64";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@resvg/resvg-js-android-arm64/-/resvg-js-android-arm64-2.2.0.tgz";
+        sha512 = "rzo0IqUErz1GzPthmU3wB25Vvdyr6KGI+J2WqALgSqmFxJ/sDygT2/6tirb4Lp1IjbvLhzO3uA6SP/sMwcWNfw==";
+      };
+    };
+    "@resvg/resvg-js-darwin-arm64-2.2.0" = {
+      name = "_at_resvg_slash_resvg-js-darwin-arm64";
+      packageName = "@resvg/resvg-js-darwin-arm64";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@resvg/resvg-js-darwin-arm64/-/resvg-js-darwin-arm64-2.2.0.tgz";
+        sha512 = "MHJBjUh+xlZeMXcHqGiBO5d5CcgNAd0pXXaOmQtcamfBN5oc9SCJP3z137BEN5RhE6bgz6Wl88Sv1Jh3Wn0nlA==";
+      };
+    };
+    "@resvg/resvg-js-darwin-x64-2.2.0" = {
+      name = "_at_resvg_slash_resvg-js-darwin-x64";
+      packageName = "@resvg/resvg-js-darwin-x64";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@resvg/resvg-js-darwin-x64/-/resvg-js-darwin-x64-2.2.0.tgz";
+        sha512 = "y6uaW/lWgvqpoeTA2hrgPlvNS7kbduBpUfYCpmk7KzOEMBzUUssOHT+DgqlQ7SZOi01mL6DHeDpAjvzM7K4Ocw==";
+      };
+    };
+    "@resvg/resvg-js-linux-arm-gnueabihf-2.2.0" = {
+      name = "_at_resvg_slash_resvg-js-linux-arm-gnueabihf";
+      packageName = "@resvg/resvg-js-linux-arm-gnueabihf";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@resvg/resvg-js-linux-arm-gnueabihf/-/resvg-js-linux-arm-gnueabihf-2.2.0.tgz";
+        sha512 = "G32NqLnuYilT3z5oD5AKXZvpD/ZPRzP1t2T0dvqQC6kBE6c5ckhdCbyT0gnnarcvMoXP+J/xh7kadEp3V8wFDg==";
+      };
+    };
+    "@resvg/resvg-js-linux-arm64-gnu-2.2.0" = {
+      name = "_at_resvg_slash_resvg-js-linux-arm64-gnu";
+      packageName = "@resvg/resvg-js-linux-arm64-gnu";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-gnu/-/resvg-js-linux-arm64-gnu-2.2.0.tgz";
+        sha512 = "R0KJCCyjFcTDFT+nAVlP/CYUMIEjxSkSJsEED9QesulCxMY/aoO52p91FgQrGjecORkASNXovlqS3HsNYbCTOg==";
+      };
+    };
+    "@resvg/resvg-js-linux-arm64-musl-2.2.0" = {
+      name = "_at_resvg_slash_resvg-js-linux-arm64-musl";
+      packageName = "@resvg/resvg-js-linux-arm64-musl";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@resvg/resvg-js-linux-arm64-musl/-/resvg-js-linux-arm64-musl-2.2.0.tgz";
+        sha512 = "Ir83lcBsuB6YVkAVPW4AAOzYo/F9kjlx2HA/O3vCjy/Rn5u5Xf2fGANfJxfCHUCtDMcqmM4hjdF2fOzqS9fusw==";
+      };
+    };
+    "@resvg/resvg-js-linux-x64-gnu-2.2.0" = {
+      name = "_at_resvg_slash_resvg-js-linux-x64-gnu";
+      packageName = "@resvg/resvg-js-linux-x64-gnu";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-gnu/-/resvg-js-linux-x64-gnu-2.2.0.tgz";
+        sha512 = "pH1GdShtIDF3fmQZM9NTEEdZPkNKQ+XUJb7r1jaD8gusdXeD2ejWWi/uvlsugaoMoG0tUmMZi78eVm4IjlY+gw==";
+      };
+    };
+    "@resvg/resvg-js-linux-x64-musl-2.2.0" = {
+      name = "_at_resvg_slash_resvg-js-linux-x64-musl";
+      packageName = "@resvg/resvg-js-linux-x64-musl";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@resvg/resvg-js-linux-x64-musl/-/resvg-js-linux-x64-musl-2.2.0.tgz";
+        sha512 = "7n2d4gfcyLb06RE/7aMGwiiMiqeCf/Ze/fBhKs9F2L60GX6rpgDC2PGJmWBiXIwz48PifvxmBiqD9XCUH5YGoA==";
+      };
+    };
+    "@resvg/resvg-js-win32-arm64-msvc-2.2.0" = {
+      name = "_at_resvg_slash_resvg-js-win32-arm64-msvc";
+      packageName = "@resvg/resvg-js-win32-arm64-msvc";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@resvg/resvg-js-win32-arm64-msvc/-/resvg-js-win32-arm64-msvc-2.2.0.tgz";
+        sha512 = "rJWhnui1+P9lakfx92zhm+HInZUU1NdvkL/G5KrFcRI8HH0rfdNHokfKknvuko4e7iUSia7kTsbuKDNe4fErtQ==";
+      };
+    };
+    "@resvg/resvg-js-win32-ia32-msvc-2.2.0" = {
+      name = "_at_resvg_slash_resvg-js-win32-ia32-msvc";
+      packageName = "@resvg/resvg-js-win32-ia32-msvc";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@resvg/resvg-js-win32-ia32-msvc/-/resvg-js-win32-ia32-msvc-2.2.0.tgz";
+        sha512 = "GlckTgsrlF9PQlWcXs1EySeGaT8TAkrSGhVZPRvSv46DUpZlhyVVvKMjsvpbDfqWltFkJTEgkTJ6uravnJrEMA==";
+      };
+    };
+    "@resvg/resvg-js-win32-x64-msvc-2.2.0" = {
+      name = "_at_resvg_slash_resvg-js-win32-x64-msvc";
+      packageName = "@resvg/resvg-js-win32-x64-msvc";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@resvg/resvg-js-win32-x64-msvc/-/resvg-js-win32-x64-msvc-2.2.0.tgz";
+        sha512 = "4coA6J+MfrpbMaPynSLmmiq3DutmvNmCcNFyjnhhnytQW7+8zbrkVZGra7fty3364LY3unZGxS878WRa/AU7tw==";
+      };
+    };
     "@rollup/plugin-commonjs-22.0.2" = {
       name = "_at_rollup_slash_plugin-commonjs";
       packageName = "@rollup/plugin-commonjs";
@@ -10129,13 +10768,13 @@ let
         sha512 = "iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==";
       };
     };
-    "@rushstack/heft-config-file-0.11.4" = {
+    "@rushstack/heft-config-file-0.11.5" = {
       name = "_at_rushstack_slash_heft-config-file";
       packageName = "@rushstack/heft-config-file";
-      version = "0.11.4";
+      version = "0.11.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rushstack/heft-config-file/-/heft-config-file-0.11.4.tgz";
-        sha512 = "EmXZbqc1akLjcVPagDKlX/rJFtNlkHwhIsd/GGpOPUgytuYNRmhvdXIy6aGLpGHvJpaDqvDmY6powbeOPrs52A==";
+        url = "https://registry.npmjs.org/@rushstack/heft-config-file/-/heft-config-file-0.11.5.tgz";
+        sha512 = "R6kZyvoZrNmhST3nyYd53N+N4RicQVOCciiglAj6/Y44bscAKIUijAMEHF17JD1+1xAYh/G3R+XIaWLbBpZDSw==";
       };
     };
     "@rushstack/node-core-library-3.53.3" = {
@@ -10147,13 +10786,13 @@ let
         sha512 = "H0+T5koi5MFhJUd5ND3dI3bwLhvlABetARl78L3lWftJVQEPyzcgTStvTTRiIM5mCltyTM8VYm6BuCtNUuxD0Q==";
       };
     };
-    "@rushstack/package-deps-hash-3.2.66" = {
+    "@rushstack/package-deps-hash-4.0.3" = {
       name = "_at_rushstack_slash_package-deps-hash";
       packageName = "@rushstack/package-deps-hash";
-      version = "3.2.66";
+      version = "4.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rushstack/package-deps-hash/-/package-deps-hash-3.2.66.tgz";
-        sha512 = "LpsJZ8H7bmEvPEluw9/6Ucf92xiqomZ0P4RSw1YGABYfwt/eOGBYQ2VhyBJsfkQFTRBlIOGCy3GvwvRMRUKz+A==";
+        url = "https://registry.npmjs.org/@rushstack/package-deps-hash/-/package-deps-hash-4.0.3.tgz";
+        sha512 = "dx3P51viHUuBTw2KakZ4DU8paIOPi2zuvj94TBA9Gv3XQAX6xguD+ZIa2r2P3SNPrv/KPLMVxMpAS9QneJfLsA==";
       };
     };
     "@rushstack/rig-package-0.3.17" = {
@@ -10165,49 +10804,49 @@ let
         sha512 = "nxvAGeIMnHl1LlZSQmacgcRV4y1EYtgcDIrw6KkeVjudOMonlxO482PhDj3LVZEp6L7emSf6YSO2s5JkHlwfZA==";
       };
     };
-    "@rushstack/rush-amazon-s3-build-cache-plugin-5.88.0" = {
+    "@rushstack/rush-amazon-s3-build-cache-plugin-5.89.1" = {
       name = "_at_rushstack_slash_rush-amazon-s3-build-cache-plugin";
       packageName = "@rushstack/rush-amazon-s3-build-cache-plugin";
-      version = "5.88.0";
+      version = "5.89.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rushstack/rush-amazon-s3-build-cache-plugin/-/rush-amazon-s3-build-cache-plugin-5.88.0.tgz";
-        sha512 = "gHJZxMNOHnuCCr0MVnWumdHwn3/L9QJYwsw1gmPQ8bIH7sNoXDRNNLTH2PsrpsKdrfZIc1wJx9i//ZoBTUZy0g==";
+        url = "https://registry.npmjs.org/@rushstack/rush-amazon-s3-build-cache-plugin/-/rush-amazon-s3-build-cache-plugin-5.89.1.tgz";
+        sha512 = "TyvsweC16xNoZeFEbv4vCD4z2L6jO6GXmw+97y1ep+OVJXQzKJHPgV4Wct2i+jYjO1+cbUsqshUwyJif42UqvA==";
       };
     };
-    "@rushstack/rush-azure-storage-build-cache-plugin-5.88.0" = {
+    "@rushstack/rush-azure-storage-build-cache-plugin-5.89.1" = {
       name = "_at_rushstack_slash_rush-azure-storage-build-cache-plugin";
       packageName = "@rushstack/rush-azure-storage-build-cache-plugin";
-      version = "5.88.0";
+      version = "5.89.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rushstack/rush-azure-storage-build-cache-plugin/-/rush-azure-storage-build-cache-plugin-5.88.0.tgz";
-        sha512 = "zya+KZVm0Z0OWn+yK4PcBVvUGcygNCU3AqcEy9t/dZJ5iw9uWSvWig4dMgmuJPRtqTL2zDHzGGpxxRzVcl2JhQ==";
+        url = "https://registry.npmjs.org/@rushstack/rush-azure-storage-build-cache-plugin/-/rush-azure-storage-build-cache-plugin-5.89.1.tgz";
+        sha512 = "YpF+18c/Z5YYCH9WRQ/X6lxhpxcxO8727XNWrOMBbYCIjQgPY83Dh3xGtDk8sLr2WFxJVKIetyEtHDJNh5ghGg==";
       };
     };
-    "@rushstack/rush-sdk-5.88.0" = {
+    "@rushstack/rush-sdk-5.89.1" = {
       name = "_at_rushstack_slash_rush-sdk";
       packageName = "@rushstack/rush-sdk";
-      version = "5.88.0";
+      version = "5.89.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rushstack/rush-sdk/-/rush-sdk-5.88.0.tgz";
-        sha512 = "2oiD3/9XOdsq1uH5TkPIlp8Bur/60QbAEyAjSiHAlaHwFCXBfIpfRwEU5Yqso2QJz4Wk15yKJaOW8or8bF+m1A==";
+        url = "https://registry.npmjs.org/@rushstack/rush-sdk/-/rush-sdk-5.89.1.tgz";
+        sha512 = "KSrcfycU82dI3+XIVIwiESnIXsMyvzkDHgfDexl1K+094klzYlmQBvDc8ladaUmTWs/9eRadggN/Y2xhgE7wOg==";
       };
     };
-    "@rushstack/stream-collator-4.0.219" = {
+    "@rushstack/stream-collator-4.0.222" = {
       name = "_at_rushstack_slash_stream-collator";
       packageName = "@rushstack/stream-collator";
-      version = "4.0.219";
+      version = "4.0.222";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rushstack/stream-collator/-/stream-collator-4.0.219.tgz";
-        sha512 = "dY3srmUXpPbrtFoqrXmRzkum6+TGl9XQkkQLM18ZvSQfihg1iNbkR4vxOUlw0YvkQq373TI5lHBoDbfUZB7Mmw==";
+        url = "https://registry.npmjs.org/@rushstack/stream-collator/-/stream-collator-4.0.222.tgz";
+        sha512 = "oE0DzdzqdaX3xRnbqIsNSRGTWSbSKPs3irDsHAE9Fj6diftfV++7EvDMpcEcD1owN0mJTyco6VeZdRjJf1Ytqw==";
       };
     };
-    "@rushstack/terminal-0.3.88" = {
+    "@rushstack/terminal-0.3.91" = {
       name = "_at_rushstack_slash_terminal";
       packageName = "@rushstack/terminal";
-      version = "0.3.88";
+      version = "0.3.91";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.3.88.tgz";
-        sha512 = "ZY6VqeOG+2mdis+6aV0EMay/aBE5OpQo931b7+YZuP2CxknljUuW/H/WGnnaSvbb54mvX3lmzK088hPfH4XrRQ==";
+        url = "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.3.91.tgz";
+        sha512 = "m4XqR8HeffmsWR4qpYm4FpUU66vqYFJZJf8xuYO33zSkHDL5qdNjQ9yrtRJFs1mF38hMsXSHkvo2djRuf9MM5A==";
       };
     };
     "@rushstack/ts-command-line-4.13.1" = {
@@ -10255,13 +10894,13 @@ let
         sha512 = "DJKkAvJf8ZpkTIZlxi29d/jRvraweA2I2KIqa7eSNhXuDnau8bIQBkOhSpnhVUckR8i/W8SNYdqwiHlUm5t9Lw==";
       };
     };
-    "@schematics/angular-15.1.1" = {
+    "@schematics/angular-15.1.3" = {
       name = "_at_schematics_slash_angular";
       packageName = "@schematics/angular";
-      version = "15.1.1";
+      version = "15.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@schematics/angular/-/angular-15.1.1.tgz";
-        sha512 = "Ujo4vt/r3WzIhGn2I2Lt3eOTWSsVxoXfcXxFRuxl3cil/9mH1X66hDTQ2DVYiXPFGcQMjcNaDwlQxyor4yGbqA==";
+        url = "https://registry.npmjs.org/@schematics/angular/-/angular-15.1.3.tgz";
+        sha512 = "jCJ0Nq/FpoMnA63rPAhRWQJFVbS+K8NpdTHZ/7l4wx9iFtIH7khCdbp3QYMJSwZh5pEiw/NO7ouxsWo5YgapYQ==";
       };
     };
     "@segment/ajv-human-errors-2.2.0" = {
@@ -10300,13 +10939,13 @@ let
         sha512 = "tOfZ/umqB2AcHPGbIrsFLcvApdTm9ggpi/kQZFkej7kMphjT+SGBiQfYtjyg9jcRW+ilAR4JXC9BGKsdEQ+8Vw==";
       };
     };
-    "@sentry/core-7.31.1" = {
+    "@sentry/core-7.34.0" = {
       name = "_at_sentry_slash_core";
       packageName = "@sentry/core";
-      version = "7.31.1";
+      version = "7.34.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/core/-/core-7.31.1.tgz";
-        sha512 = "quaNU6z8jabmatBTDi28Wpff2yzfWIp/IU4bbi2QOtEiCNT+TQJXqlRTRMu9xLrX7YzyKCL5X2gbit/85lyWUg==";
+        url = "https://registry.npmjs.org/@sentry/core/-/core-7.34.0.tgz";
+        sha512 = "J1oxsYZX1N0tkEcaHt/uuDqk6zOnaivyampp+EvBsUMCdemjg7rwKvawlRB0ZtBEQu3HAhi8zecm03mlpWfCDw==";
       };
     };
     "@sentry/hub-6.19.7" = {
@@ -10318,13 +10957,13 @@ let
         sha512 = "y3OtbYFAqKHCWezF0EGGr5lcyI2KbaXW2Ik7Xp8Mu9TxbSTuwTe4rTntwg8ngPjUQU3SUHzgjqVB8qjiGqFXCA==";
       };
     };
-    "@sentry/integrations-7.31.1" = {
+    "@sentry/integrations-7.34.0" = {
       name = "_at_sentry_slash_integrations";
       packageName = "@sentry/integrations";
-      version = "7.31.1";
+      version = "7.34.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.31.1.tgz";
-        sha512 = "El+qzwbiXHPDWg8ZmX+W/kCheoaYoaAJuaG2+l3D5Y4ny8JNYfSMCum9qXVEb8oB98fFHfSEoFzB+z54pH+p3w==";
+        url = "https://registry.npmjs.org/@sentry/integrations/-/integrations-7.34.0.tgz";
+        sha512 = "xbWnTvG4gkKeCVpmhhdPtMbQkPO0RAfEJ8VPO5TWmUMT23ZWy2kE0gTZHtnBopy7AXxg231XxTi4fxnwgQGxEQ==";
       };
     };
     "@sentry/minimal-6.19.7" = {
@@ -10345,13 +10984,13 @@ let
         sha512 = "gtmRC4dAXKODMpHXKfrkfvyBL3cI8y64vEi3fDD046uqYcrWdgoQsffuBbxMAizc6Ez1ia+f0Flue6p15Qaltg==";
       };
     };
-    "@sentry/node-7.31.1" = {
+    "@sentry/node-7.34.0" = {
       name = "_at_sentry_slash_node";
       packageName = "@sentry/node";
-      version = "7.31.1";
+      version = "7.34.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/node/-/node-7.31.1.tgz";
-        sha512 = "4VzfOU1YHeoGkBQmkVXlXoXITf+1NkZEREKhdzgpVAkVjb2Tk3sMoFov4wOKWnNTTj4ka50xyaw/ZmqApgQ4Pw==";
+        url = "https://registry.npmjs.org/@sentry/node/-/node-7.34.0.tgz";
+        sha512 = "VM4XeydRdgeaNTRe8kwqYg2oNPddVyY74PlCFEFnPEN1NccycNuwiFno68kNrApeqxxLlTTmzkJy0BWo16x2Yg==";
       };
     };
     "@sentry/types-6.19.7" = {
@@ -10363,13 +11002,13 @@ let
         sha512 = "jH84pDYE+hHIbVnab3Hr+ZXr1v8QABfhx39KknxqKWr2l0oEItzepV0URvbEhB446lk/S/59230dlUUIBGsXbg==";
       };
     };
-    "@sentry/types-7.31.1" = {
+    "@sentry/types-7.34.0" = {
       name = "_at_sentry_slash_types";
       packageName = "@sentry/types";
-      version = "7.31.1";
+      version = "7.34.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/types/-/types-7.31.1.tgz";
-        sha512 = "1uzr2l0AxEnxUX/S0EdmXUQ15/kDsam8Nbdw4Gai8SU764XwQgA/TTjoewVP597CDI/AHKan67Y630/Ylmkx9w==";
+        url = "https://registry.npmjs.org/@sentry/types/-/types-7.34.0.tgz";
+        sha512 = "K+OeHIrl35PSYn6Zwqe4b8WWyAJQoI5NeWxHVkM7oQTGJ1YLG4BvLsR+UiUXnKdR5krE4EDtEA5jLsDlBEyPvw==";
       };
     };
     "@sentry/utils-6.19.7" = {
@@ -10381,13 +11020,13 @@ let
         sha512 = "z95ECmE3i9pbWoXQrD/7PgkBAzJYR+iXtPuTkpBjDKs86O3mT+PXOT3BAn79w2wkn7/i3vOGD2xVr1uiMl26dA==";
       };
     };
-    "@sentry/utils-7.31.1" = {
+    "@sentry/utils-7.34.0" = {
       name = "_at_sentry_slash_utils";
       packageName = "@sentry/utils";
-      version = "7.31.1";
+      version = "7.34.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sentry/utils/-/utils-7.31.1.tgz";
-        sha512 = "ZsIPq29aNdP9q3R7qIzJhZ9WW+4DzE9g5SfGwx3UjTIxoRRBfdUJUbf7S+LKEdvCkKbyoDt6FLt5MiSJV43xBA==";
+        url = "https://registry.npmjs.org/@sentry/utils/-/utils-7.34.0.tgz";
+        sha512 = "VIHHXEBw0htzqxnU8A7WkXKvmsG2pZVqHlAn0H9W/yyFQtXMuP1j1i0NsjADB/3JXUKK83kTNWGzScXvp0o+Jg==";
       };
     };
     "@serialport/binding-mock-10.2.2" = {
@@ -10516,13 +11155,13 @@ let
         sha512 = "gbcUdvq9Kyv2HsnywS7QjnEB28g+6OGB5Z8TLP7X+UPpoMIWoUsoQIq5Kt0ZTgMoWn3JGM2lqwTsSHF+1qhniA==";
       };
     };
-    "@serverless/dashboard-plugin-6.2.2" = {
+    "@serverless/dashboard-plugin-6.2.3" = {
       name = "_at_serverless_slash_dashboard-plugin";
       packageName = "@serverless/dashboard-plugin";
-      version = "6.2.2";
+      version = "6.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/dashboard-plugin/-/dashboard-plugin-6.2.2.tgz";
-        sha512 = "h3zOprpuWZCdAP7qoOKT2nboB+AaxMkGoSzOD0jIBpt9s0cXqLE2VFjR2vKn8Cvam47Qa3XYnT2/XN6tR6rZgQ==";
+        url = "https://registry.npmjs.org/@serverless/dashboard-plugin/-/dashboard-plugin-6.2.3.tgz";
+        sha512 = "iTZhpZbiVl6G2AyfgoqxemqqpG4pUceWys3GsyZtjimnfnGd2UFBOMVUMTavLhYia7lQc4kQVuXQ+afLlkg+pQ==";
       };
     };
     "@serverless/event-mocks-1.1.1" = {
@@ -11029,6 +11668,15 @@ let
         sha512 = "sV+51I7WYnLJnKPn2EMWgS4EUfoP4iWEbrWwbXsj0MZCB/xOK8j6+C9fntIdOM50kpx45ZLC3s6kwKivWuqvyg==";
       };
     };
+    "@streamparser/json-0.0.10" = {
+      name = "_at_streamparser_slash_json";
+      packageName = "@streamparser/json";
+      version = "0.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@streamparser/json/-/json-0.0.10.tgz";
+        sha512 = "juqNFdqqmY/nvsODq1Vba7PWIaqr01VcqICIrxbws97QKSQhQUMml8FqdHLmevwVpqH39H5mVXKFWiWCi1ke0w==";
+      };
+    };
     "@stroncium/procfs-1.2.1" = {
       name = "_at_stroncium_slash_procfs";
       packageName = "@stroncium/procfs";
@@ -11083,103 +11731,202 @@ let
         sha512 = "LOC/z9HDUmTqSAF08YIRLThGGNZLdRrjcEdoQu/EANxPSVRedYgh4AiZlOX8sY8Rp1p7S/StOmZogJLuvR4mcA==";
       };
     };
-    "@swc/core-1.3.27" = {
+    "@swc/core-1.3.29" = {
+      name = "_at_swc_slash_core";
+      packageName = "@swc/core";
+      version = "1.3.29";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@swc/core/-/core-1.3.29.tgz";
+        sha512 = "BYDBEqQ77ASZNQYTP7PlKnMLwbHh3lhtlzD/gQP2zIK9XhqQlcy/zIcLljYDn0EOogLn3IyaUiXgAzDWoAmWMg==";
+      };
+    };
+    "@swc/core-1.3.30" = {
       name = "_at_swc_slash_core";
       packageName = "@swc/core";
-      version = "1.3.27";
+      version = "1.3.30";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core/-/core-1.3.27.tgz";
-        sha512 = "praRNgpeYGvwDIm/Cl6JU+yHMvwVraL0U6ejMgGyzvpcm1FVsZd1/EYXGqzbBJ0ALv7Gx4eK56h4GnwV6d4L0w==";
+        url = "https://registry.npmjs.org/@swc/core/-/core-1.3.30.tgz";
+        sha512 = "pg6GWw615EwCh4vJ5k7xll1E4WJSPeINrRvF/EPyBvNNhlXR3s6+KZevJTx3PpA5PXjprDR0aqwi0/aigSCAPA==";
       };
     };
-    "@swc/core-darwin-arm64-1.3.27" = {
+    "@swc/core-darwin-arm64-1.3.29" = {
       name = "_at_swc_slash_core-darwin-arm64";
       packageName = "@swc/core-darwin-arm64";
-      version = "1.3.27";
+      version = "1.3.29";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.27.tgz";
-        sha512 = "IKlxkhEy99CnP9nduaf5IJWIFcr6D5cZCjYmCs7nWkjMV+aAieyDO9AX4LT8AcHy6CF7ByOX7SKoqk+gVMAaKw==";
+        url = "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.29.tgz";
+        sha512 = "1RQ0MCmWOQmo3qG60vhbNaO/qMZ25lDfjhTayAzHjS1k7WyoUv3M8Em2Fip2VKJz5cN2M7MWiP5aHMotMovuaQ==";
       };
     };
-    "@swc/core-darwin-x64-1.3.27" = {
+    "@swc/core-darwin-arm64-1.3.30" = {
+      name = "_at_swc_slash_core-darwin-arm64";
+      packageName = "@swc/core-darwin-arm64";
+      version = "1.3.30";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.30.tgz";
+        sha512 = "GZ4mZZbH77N8renK34A3Lkhl6x8z+c97SCbl43pn5E0Z0sifohA8WNhrtucKrUdid0svYibwotJzeFNpDtg7gQ==";
+      };
+    };
+    "@swc/core-darwin-x64-1.3.29" = {
       name = "_at_swc_slash_core-darwin-x64";
       packageName = "@swc/core-darwin-x64";
-      version = "1.3.27";
+      version = "1.3.29";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.27.tgz";
-        sha512 = "MtabZIhFf/dL3vs6UMbd+vJsjIkm2NaFqulGV0Jofy2bfVZPTj/b5pXeOlUsTWy7JcH1uixjdx4RvJRyvqJxQA==";
+        url = "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.29.tgz";
+        sha512 = "UXiVOkt9i/mwarhHiN6o5RAi3Q7riCQTiOO2e98c/qi3SiYqbgd6kil+2gBcpVB0CGEFyyGB9rECwNBkaYe7zw==";
       };
     };
-    "@swc/core-linux-arm-gnueabihf-1.3.27" = {
+    "@swc/core-darwin-x64-1.3.30" = {
+      name = "_at_swc_slash_core-darwin-x64";
+      packageName = "@swc/core-darwin-x64";
+      version = "1.3.30";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.30.tgz";
+        sha512 = "ppGrAJmKpT3vFr2vGaxXFL8JqHsb6kSAj0dVYTNYicl3c6XOjnMiNSfu6HRbdmXt0VpFHhC5L/a7Ta89mQ1sJA==";
+      };
+    };
+    "@swc/core-linux-arm-gnueabihf-1.3.29" = {
+      name = "_at_swc_slash_core-linux-arm-gnueabihf";
+      packageName = "@swc/core-linux-arm-gnueabihf";
+      version = "1.3.29";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.29.tgz";
+        sha512 = "0B7+FoYgEE1Yg6j5EAtEpKVbHby3jnJo6Y4g0dGxecRtXUhu8TKVI4P93sj4PJ+l4XkAyzdhSsQ+ytFRsbOJ6w==";
+      };
+    };
+    "@swc/core-linux-arm-gnueabihf-1.3.30" = {
       name = "_at_swc_slash_core-linux-arm-gnueabihf";
       packageName = "@swc/core-linux-arm-gnueabihf";
-      version = "1.3.27";
+      version = "1.3.30";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.27.tgz";
-        sha512 = "XELMoGcUTAkk+G4buwIIhu6AIr1U418Odt22HUW8+ZvV+Wty2ICgR/myOIhM3xMb6U2L8ay+evMqoVNMQ0RRTg==";
+        url = "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.30.tgz";
+        sha512 = "XQYY/VNRnM0/779ehfMgh2poO3reOANvfzOprF8xmGK20+DxFqbMWjHhJutscQuEjLtdwk/LfgCkwmTaB1hhwg==";
       };
     };
-    "@swc/core-linux-arm64-gnu-1.3.27" = {
+    "@swc/core-linux-arm64-gnu-1.3.29" = {
       name = "_at_swc_slash_core-linux-arm64-gnu";
       packageName = "@swc/core-linux-arm64-gnu";
-      version = "1.3.27";
+      version = "1.3.29";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.29.tgz";
+        sha512 = "XN9axiTuiFOm+UBnDDOQV3b2OekziXHtVPBAPSEssRsNGS4uN7YvCyVAcS8GYdK7GoZ+cmoZBYwD4trir48WXw==";
+      };
+    };
+    "@swc/core-linux-arm64-gnu-1.3.30" = {
+      name = "_at_swc_slash_core-linux-arm64-gnu";
+      packageName = "@swc/core-linux-arm64-gnu";
+      version = "1.3.30";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.30.tgz";
+        sha512 = "ME4BjMYSXana0Lfswa3aQW0rTdmR9wa1NGQ3t6MYLdBVm+76Xwe29JKlOfnI1iCCtcbRBoWy4dlhyuxW8DN7cw==";
+      };
+    };
+    "@swc/core-linux-arm64-musl-1.3.29" = {
+      name = "_at_swc_slash_core-linux-arm64-musl";
+      packageName = "@swc/core-linux-arm64-musl";
+      version = "1.3.29";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.27.tgz";
-        sha512 = "O6vtT6bnrVR9PzEIuA5U7tIfYo7bv97H9K9Vqy2oyHNeGN0H36DKwS4UqPreHtziXNF5+7ubdUYUkrG/j8UnUQ==";
+        url = "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.29.tgz";
+        sha512 = "M6eE02Dzl1efRLozitGvgjiNEee0VQInqMX4tvfpzQwqZsKNAD8/NGPeTG4763BLDHc4hnMZbnt5wncDLjFq7A==";
       };
     };
-    "@swc/core-linux-arm64-musl-1.3.27" = {
+    "@swc/core-linux-arm64-musl-1.3.30" = {
       name = "_at_swc_slash_core-linux-arm64-musl";
       packageName = "@swc/core-linux-arm64-musl";
-      version = "1.3.27";
+      version = "1.3.30";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.27.tgz";
-        sha512 = "Oa0E1i7dOTWpaEZumKoNbTE/Ap+da6nlhqKVUdYrFDrOBi25tz76SdxZIyvAszzmgY89b5yd1naourKmkPXpww==";
+        url = "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.30.tgz";
+        sha512 = "h3X9Pn1m5kuFSW8lJyDiMB4ELNZFJ+QxLva5GCxZDArQttkNeY4tMNWFcaG44xUXeywffrgjpXO7Yj2JGzmG4g==";
       };
     };
-    "@swc/core-linux-x64-gnu-1.3.27" = {
+    "@swc/core-linux-x64-gnu-1.3.29" = {
       name = "_at_swc_slash_core-linux-x64-gnu";
       packageName = "@swc/core-linux-x64-gnu";
-      version = "1.3.27";
+      version = "1.3.29";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.29.tgz";
+        sha512 = "t2e9byHRpxKyUsLeODlb3yKJcm8wMirsLIxjr24q5YbnChD3QUMQwA8aA9w2PWc86ihukw7Ksx3RYT7uR706HA==";
+      };
+    };
+    "@swc/core-linux-x64-gnu-1.3.30" = {
+      name = "_at_swc_slash_core-linux-x64-gnu";
+      packageName = "@swc/core-linux-x64-gnu";
+      version = "1.3.30";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.30.tgz";
+        sha512 = "vfPR8cakx5IZQSpNuXPrpkRprBdVxXsvN5JWN3fpuNVIgFFo3q8njihaItujKvePIHQwov4achfBZlm4JRitWQ==";
+      };
+    };
+    "@swc/core-linux-x64-musl-1.3.29" = {
+      name = "_at_swc_slash_core-linux-x64-musl";
+      packageName = "@swc/core-linux-x64-musl";
+      version = "1.3.29";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.27.tgz";
-        sha512 = "S3v9H8oL2a8Ur6AjQyhkC6HfBVPOxKMdBhcZmdNuVgEUHbHdbf/Lka85F9IOYXEarMn0FtQw3ywowS22O9L5Uw==";
+        url = "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.29.tgz";
+        sha512 = "3jDzDYIyHXrXKOSnTtsN56eINbTPuVQj65D3K8+zo1o52GGwNGyCvQt2RpxNfM8+ptb4j6v7weSU8kVvbUzGTQ==";
       };
     };
-    "@swc/core-linux-x64-musl-1.3.27" = {
+    "@swc/core-linux-x64-musl-1.3.30" = {
       name = "_at_swc_slash_core-linux-x64-musl";
       packageName = "@swc/core-linux-x64-musl";
-      version = "1.3.27";
+      version = "1.3.30";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.27.tgz";
-        sha512 = "6DDkdXlOADpwICFZTRphCR+cIeS8aEYh4NlyzBito0mOWwIIdfCgALzhkTQOzTOkcD42bP97CIoZ97hqV/puOg==";
+        url = "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.30.tgz";
+        sha512 = "jtfv8N+00E2RMTVjwfTfimeqzo0B9FmbbSkzlnLvkmV8xDAPyLmX7v/xL5YiVJRLeSrlJ7DmkCSxLzpJao73dw==";
       };
     };
-    "@swc/core-win32-arm64-msvc-1.3.27" = {
+    "@swc/core-win32-arm64-msvc-1.3.29" = {
       name = "_at_swc_slash_core-win32-arm64-msvc";
       packageName = "@swc/core-win32-arm64-msvc";
-      version = "1.3.27";
+      version = "1.3.29";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.27.tgz";
-        sha512 = "baxfH4AbEcaTNo08wxV0W6hiMXwVCxPS4qc0amHpXPti92unvSqeDR1W3C9GjHqzXlWtmCRsq8Ww1pal6ZVLrw==";
+        url = "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.29.tgz";
+        sha512 = "3PadPieyslG++7SQ42OApfiXtQdzFpnCv/i/UJ6gOL5d0MluNzZ2nIxD8LwXXizVdmcm8bmc0WRhK3JhvhzVJA==";
       };
     };
-    "@swc/core-win32-ia32-msvc-1.3.27" = {
+    "@swc/core-win32-arm64-msvc-1.3.30" = {
+      name = "_at_swc_slash_core-win32-arm64-msvc";
+      packageName = "@swc/core-win32-arm64-msvc";
+      version = "1.3.30";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.30.tgz";
+        sha512 = "fX3T6JzS5F8JJ/UZQWrZfdml8nLuSzgA0EFKetTNa5AHh1x9ltShmlFOJ3OPpD9BKI/QcQSLxyoAjxt7NtAnaQ==";
+      };
+    };
+    "@swc/core-win32-ia32-msvc-1.3.29" = {
       name = "_at_swc_slash_core-win32-ia32-msvc";
       packageName = "@swc/core-win32-ia32-msvc";
-      version = "1.3.27";
+      version = "1.3.29";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.27.tgz";
-        sha512 = "7iLJnH71k5qCwxv9NcM/P7nIEzTsC7r1sIiQW6bu+CpC8qZvwl0PS+XvQRlLly2gCZM+Le98tksYG14MEh+Hrw==";
+        url = "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.29.tgz";
+        sha512 = "tUFrHxxYz9Cfz07yGwDXdtRziC3q1ia2SHodzZ3obTpY+HQiBDHs0QO/HkbUBNF+du0vhnsgtWilnsMQDILFDQ==";
       };
     };
-    "@swc/core-win32-x64-msvc-1.3.27" = {
+    "@swc/core-win32-ia32-msvc-1.3.30" = {
+      name = "_at_swc_slash_core-win32-ia32-msvc";
+      packageName = "@swc/core-win32-ia32-msvc";
+      version = "1.3.30";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.30.tgz";
+        sha512 = "m88NjTcVFHFAciWRWTW7NbeQPrzjKKBzSoSPukhjvKSWQNk5v6BBbTAKpymNGQssPn5WLarC2QlQzCwjyh1QLA==";
+      };
+    };
+    "@swc/core-win32-x64-msvc-1.3.29" = {
       name = "_at_swc_slash_core-win32-x64-msvc";
       packageName = "@swc/core-win32-x64-msvc";
-      version = "1.3.27";
+      version = "1.3.29";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.27.tgz";
-        sha512 = "mFM907PDw/jrQ44+TRjIVGEOy2Mu06mMMz0HPMFuRsBzl5t0Kajp3vmn8FkkpS9wH5982VPi6hPYVTb7QJo5Qg==";
+        url = "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.29.tgz";
+        sha512 = "/Z3kxMXGKlIhtkxBxsCSZl8j/qYfbA4dtW7RKv1RNxbPLbwk8k3Owhgk/Y3JeRavcUKwja1rUX5rhMjLYeN3tw==";
+      };
+    };
+    "@swc/core-win32-x64-msvc-1.3.30" = {
+      name = "_at_swc_slash_core-win32-x64-msvc";
+      packageName = "@swc/core-win32-x64-msvc";
+      version = "1.3.30";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.30.tgz";
+        sha512 = "HsePRjbdD5XsnS8NkN+MmhtUyjF16cU3COd92DjRYKsB1rMDE51itfacBvOeZPHFV6VkrLsakubAZCMc+3d/Ag==";
       };
     };
     "@swc/helpers-0.4.14" = {
@@ -11191,13 +11938,22 @@ let
         sha512 = "4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==";
       };
     };
-    "@swc/wasm-1.3.27" = {
+    "@swc/wasm-1.3.29" = {
       name = "_at_swc_slash_wasm";
       packageName = "@swc/wasm";
-      version = "1.3.27";
+      version = "1.3.29";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@swc/wasm/-/wasm-1.3.27.tgz";
-        sha512 = "bSFeKxGU2zY/xC3K7Y4sjdtHMgbv6gM2Z01PTMGoC8b2PVubPKeW+BYmprZFSf2eCOsNLZaVzVufdVTQB/ORfg==";
+        url = "https://registry.npmjs.org/@swc/wasm/-/wasm-1.3.29.tgz";
+        sha512 = "Tzpl541GRLyzQufasGScL9tMOzk0SsdcVX0jYpG74u6VZHqr0u62Cw6nYtRhTtkcsFsfNpg7RQM+CycyXY8Nmw==";
+      };
+    };
+    "@swc/wasm-1.3.30" = {
+      name = "_at_swc_slash_wasm";
+      packageName = "@swc/wasm";
+      version = "1.3.30";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@swc/wasm/-/wasm-1.3.30.tgz";
+        sha512 = "y5LnHLIaZ2mNmnY/b0jEJccV3eErxnIbF8K3RxqmnD4zWHsuvaOAVeQPKTK4vlM/V9ip+BUtCeFiUfnxCx8JwA==";
       };
     };
     "@szmarczak/http-timer-1.1.2" = {
@@ -11236,22 +11992,31 @@ let
         sha512 = "/FcGQVvXAslhiC9aMG5gxKXJctg8N7XLZrP+wYrFTFccWEPZd/Xon5y7jUXpKOVSOFEA1MOKZKbPuK4ET5/T8Q==";
       };
     };
-    "@tediousjs/connection-string-0.4.1" = {
+    "@tediousjs/connection-string-0.4.2" = {
       name = "_at_tediousjs_slash_connection-string";
       packageName = "@tediousjs/connection-string";
-      version = "0.4.1";
+      version = "0.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@tediousjs/connection-string/-/connection-string-0.4.1.tgz";
-        sha512 = "gr1mFN7KMOn+VviQKcrt+z1/7ttn7s9NSMFFyg5GrJylNH6JGrDDNRm7C5vE4PNwhW6hYT67QRUO44Ns2LQijg==";
+        url = "https://registry.npmjs.org/@tediousjs/connection-string/-/connection-string-0.4.2.tgz";
+        sha512 = "1R9UC7Qc5wief2oJL+c1+d7v1/oPBayL85u8L/jV2DzIKput1TZ8ZUjj2nxQaSfzu210zp0oFWUrYUiUs8NhBQ==";
       };
     };
-    "@textlint/ast-node-types-12.3.0" = {
+    "@textlint/ast-node-types-12.6.1" = {
       name = "_at_textlint_slash_ast-node-types";
       packageName = "@textlint/ast-node-types";
-      version = "12.3.0";
+      version = "12.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-12.3.0.tgz";
-        sha512 = "ke5hlKy/xZ/vQt6j+h4k9GradJPDsV3FKsUqWpCpF/X8qWCU2zM4e1SMUAFjoUcLuF9in+eXIQ71Qm/AdjjkZQ==";
+        url = "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-12.6.1.tgz";
+        sha512 = "uzlJ+ZsCAyJm+lBi7j0UeBbj+Oy6w/VWoGJ3iHRHE5eZ8Z4iK66mq+PG/spupmbllLtz77OJbY89BYqgFyjXmA==";
+      };
+    };
+    "@textlint/ast-node-types-13.0.4" = {
+      name = "_at_textlint_slash_ast-node-types";
+      packageName = "@textlint/ast-node-types";
+      version = "13.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-13.0.4.tgz";
+        sha512 = "6/8reOpc7csrwR8Hd+WqP75QS2akk8U7lzCAUv5cyoGga2KzWlauCC6gy4ZU/Qw8UfSU2ri7ZcX975i6KYLtwQ==";
       };
     };
     "@textlint/ast-node-types-4.4.3" = {
@@ -11263,139 +12028,238 @@ let
         sha512 = "qi2jjgO6Tn3KNPGnm6B7p6QTEPvY95NFsIAaJuwbulur8iJUEenp1OnoUfiDaC/g2WPPEFkcfXpmnu8XEMFo2A==";
       };
     };
-    "@textlint/ast-tester-12.5.0" = {
+    "@textlint/ast-tester-12.6.1" = {
       name = "_at_textlint_slash_ast-tester";
       packageName = "@textlint/ast-tester";
-      version = "12.5.0";
+      version = "12.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-12.6.1.tgz";
+        sha512 = "Gxiq6xmDR3PnX0RqRGth/Lu5fyFWoXNPfGxXTLORPFpfs8JKPh/eXGhlwc1f0v4VQzPay2KwVl6SGXvJD5qLXw==";
+      };
+    };
+    "@textlint/ast-tester-13.0.4" = {
+      name = "_at_textlint_slash_ast-tester";
+      packageName = "@textlint/ast-tester";
+      version = "13.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-12.5.0.tgz";
-        sha512 = "osHf1OFLC3RnjGyoSBynn2u5pgj7qkik8TNaxgPekVwlLWtJTcyh22PHo+mXPF47XWM5gJQmy/72nUrqtbDMPg==";
+        url = "https://registry.npmjs.org/@textlint/ast-tester/-/ast-tester-13.0.4.tgz";
+        sha512 = "i/7bNipeeWsUqpYCxwxXXUmbiUBNJCZrVSVsZgFo1llJPa/uivyRy64Wgxy725GoWr3GdhAAGI3e7gtjGrZXjg==";
       };
     };
-    "@textlint/ast-traverse-12.5.0" = {
+    "@textlint/ast-traverse-12.6.1" = {
       name = "_at_textlint_slash_ast-traverse";
       packageName = "@textlint/ast-traverse";
-      version = "12.5.0";
+      version = "12.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-12.5.0.tgz";
-        sha512 = "TAbfxz8x8Q/sn7D/h7OikzYp5NqPDrRExm3N+3v9yj+gq++fxHtskas48tm1TYcChTMq6BbPU+EGbdlMo3rWWA==";
+        url = "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-12.6.1.tgz";
+        sha512 = "Y/j7ip7yDuTjuIV4kTRPVnkJKfpI71U+eqXFnrM9sE2xBA9IsqzqiLQeDY+S5hhfQzmcEnZFtAP0hqrYaT6gNA==";
       };
     };
-    "@textlint/config-loader-12.5.0" = {
+    "@textlint/ast-traverse-13.0.4" = {
+      name = "_at_textlint_slash_ast-traverse";
+      packageName = "@textlint/ast-traverse";
+      version = "13.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/ast-traverse/-/ast-traverse-13.0.4.tgz";
+        sha512 = "wK1HWrONMfJBhFby9Dpu2tEj0j1JRBlk1fVxLljBzmrV31v1nMI7Q9+ZMqGAZIZD7kDMUpHvGg7OsA6KjHiLcA==";
+      };
+    };
+    "@textlint/config-loader-13.0.4" = {
       name = "_at_textlint_slash_config-loader";
       packageName = "@textlint/config-loader";
-      version = "12.5.0";
+      version = "13.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/config-loader/-/config-loader-12.5.0.tgz";
-        sha512 = "g706+XwdsUGpVXzqW7OFcBO8XdxH1AqbD0D3UYEjlfUONXD0c4Bymctdjk49hzOwTVDGqj+CCyvL+cB/X2bG+Q==";
+        url = "https://registry.npmjs.org/@textlint/config-loader/-/config-loader-13.0.4.tgz";
+        sha512 = "LGJeHEr3DosO1NlCOR3186Pqx2e2TcWAm3fydb3MD7kp5ko2mfMlGsJzo0wQOjuRGTtMV212b3OKsdKZBFo0TA==";
       };
     };
-    "@textlint/feature-flag-12.5.0" = {
+    "@textlint/feature-flag-12.6.1" = {
       name = "_at_textlint_slash_feature-flag";
       packageName = "@textlint/feature-flag";
-      version = "12.5.0";
+      version = "12.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-12.5.0.tgz";
-        sha512 = "GdyRbbIsWRuZieWKvRxQA8j5wX5hzq+QqEmuputBrU/KKapNfkg6uNY2GOY6SWvC8QcwD0dYh3Dy1x2txT8p8Q==";
+        url = "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-12.6.1.tgz";
+        sha512 = "cY/AraTLdzbwDyAhdpaXB7n1Lw6zA+k+7UaT8mmxMmjs0uYGzdMQa499I0rQatctJ6izrdZXYW0NdUQfG2ugiA==";
       };
     };
-    "@textlint/fixer-formatter-12.5.1" = {
+    "@textlint/feature-flag-13.0.4" = {
+      name = "_at_textlint_slash_feature-flag";
+      packageName = "@textlint/feature-flag";
+      version = "13.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/feature-flag/-/feature-flag-13.0.4.tgz";
+        sha512 = "mo4AaRrSbOgYhf6p+LSwo+UbMr62dsq12vMVqEkjHZ5tm5vrWbQkC2YrtMAM0ot9AY1x6RJFJ5ZO3Qn42N0JTQ==";
+      };
+    };
+    "@textlint/fixer-formatter-13.0.4" = {
       name = "_at_textlint_slash_fixer-formatter";
       packageName = "@textlint/fixer-formatter";
-      version = "12.5.1";
+      version = "13.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-12.5.1.tgz";
-        sha512 = "dzOsgpkl5lIB25BHgW0saAohRW4ZF0s/SyK/FbweYtkDGd190USLGpCibx2M8/mAEFDs5YsnTqZlkbp1FLLuyQ==";
+        url = "https://registry.npmjs.org/@textlint/fixer-formatter/-/fixer-formatter-13.0.4.tgz";
+        sha512 = "Sdx65V3e8Ggs2UBt/2VoN58w85YXOlaHnAoHV7aRoqMySHOf5You4y4Amby5AeHeXeltLXz1keLwloq5UiJdsQ==";
       };
     };
-    "@textlint/kernel-12.5.0" = {
+    "@textlint/kernel-12.6.1" = {
       name = "_at_textlint_slash_kernel";
       packageName = "@textlint/kernel";
-      version = "12.5.0";
+      version = "12.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/kernel/-/kernel-12.5.0.tgz";
-        sha512 = "9UspUHtS2FShTO9pWnrZjadjIvJzFIdIZDKIYCdZuUdU8dEhJqwOdYosqM4N5Wy40aMKnv4Voxp80Ssaq7zZaA==";
+        url = "https://registry.npmjs.org/@textlint/kernel/-/kernel-12.6.1.tgz";
+        sha512 = "GjNaI36pYx/boy1Xf7NPJFbS0uWHhY9y9DMMl/8ZJZoldN7XrCvJFivNdeYQxu+LTmfGGaUJoTjDpnllOs6XSQ==";
       };
     };
-    "@textlint/linter-formatter-12.5.0" = {
+    "@textlint/kernel-13.0.4" = {
+      name = "_at_textlint_slash_kernel";
+      packageName = "@textlint/kernel";
+      version = "13.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/kernel/-/kernel-13.0.4.tgz";
+        sha512 = "lfZC2690xX7x5ZJn8kKfyx1/cD815+o5X80hbIjmhuY8pdoJgP4nqemaI/Y3Y+re/zg3YgT1PTayA6vcuxOw3g==";
+      };
+    };
+    "@textlint/linter-formatter-13.0.4" = {
       name = "_at_textlint_slash_linter-formatter";
       packageName = "@textlint/linter-formatter";
-      version = "12.5.0";
+      version = "13.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-12.5.0.tgz";
-        sha512 = "cJ87VGmyqDyjxT2aL3492g/YyGh6AU7/3QqxKN9q8rxJtzaY2e1uJrUKdpj0oOj1xZzYYv8zPeIpFaiFtNW02Q==";
+        url = "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-13.0.4.tgz";
+        sha512 = "3hMOMlDIAgWPi1SXso35cqkwSzneH6qKdYGEpRejosSNTYePaY16ayRabQxPP07mx2m9X2Sa3ozrebq98Y9PXA==";
       };
     };
-    "@textlint/markdown-to-ast-12.5.0" = {
+    "@textlint/markdown-to-ast-12.6.1" = {
       name = "_at_textlint_slash_markdown-to-ast";
       packageName = "@textlint/markdown-to-ast";
-      version = "12.5.0";
+      version = "12.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-12.6.1.tgz";
+        sha512 = "T0HO+VrU9VbLRiEx/kH4+gwGMHNMIGkp0Pok+p0I33saOOLyhfGvwOKQgvt2qkxzQEV2L5MtGB8EnW4r5d3CqQ==";
+      };
+    };
+    "@textlint/markdown-to-ast-13.0.4" = {
+      name = "_at_textlint_slash_markdown-to-ast";
+      packageName = "@textlint/markdown-to-ast";
+      version = "13.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-12.5.0.tgz";
-        sha512 = "+fUslPm0+ukMnRVMPUQwKv1DEwmDP/rXFuzc5+k5tCMhighZ/Fv/e3Y9MUe7SgNDte7ilajTa3/uP0Iurr60WA==";
+        url = "https://registry.npmjs.org/@textlint/markdown-to-ast/-/markdown-to-ast-13.0.4.tgz";
+        sha512 = "4Vs79pcBsFb7vzTp92K1ojhXQrNisK69e6QNVLc7sy8CdDhB4wWmP9tR783oBgvNgYrOfF5qwv8Z7ARCv+oFeg==";
       };
     };
-    "@textlint/module-interop-12.5.0" = {
+    "@textlint/module-interop-13.0.4" = {
       name = "_at_textlint_slash_module-interop";
       packageName = "@textlint/module-interop";
-      version = "12.5.0";
+      version = "13.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-12.5.0.tgz";
-        sha512 = "NmkHL5tt+HEqLm00JSW1f03KTbEqOzupliboSZ2HeNhOqZxSX4wR3lBlGqVeVi5dImMWrt40oa+AbkqkD78b9Q==";
+        url = "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-13.0.4.tgz";
+        sha512 = "w63oM5dL1kbAdmg0JAcL6NU9r7x0xnsjGoimiUNx0nPZusBDjmFo18u//UwScDa3YmMYd10hQp+teAAsnsVuAg==";
       };
     };
-    "@textlint/source-code-fixer-12.5.0" = {
+    "@textlint/source-code-fixer-12.6.1" = {
       name = "_at_textlint_slash_source-code-fixer";
       packageName = "@textlint/source-code-fixer";
-      version = "12.5.0";
+      version = "12.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-12.6.1.tgz";
+        sha512 = "J9UZ3uitT+T50ug5X6AoIOwn6kTl54ZmPYBPB9bmH4lwBamN7e4gT65lSweHY1D21elOkq+3bO/OAJMfQfAVHg==";
+      };
+    };
+    "@textlint/source-code-fixer-13.0.4" = {
+      name = "_at_textlint_slash_source-code-fixer";
+      packageName = "@textlint/source-code-fixer";
+      version = "13.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-12.5.0.tgz";
-        sha512 = "7LebJ6Y64Rb4fVYyokpU8FnjNLdx+TehcHQJ9L/fi8PYVjpS/08klYtYfRtKWmi/vrWED7U0aGhb8Xr26NuWFw==";
+        url = "https://registry.npmjs.org/@textlint/source-code-fixer/-/source-code-fixer-13.0.4.tgz";
+        sha512 = "C9SYHCQbgB6iJbRNtw+CUMRC7ACIqpLLMRDBw3VXyJfS4Ki9V3YZAlFvhe8kYTjeUe50skOQtDUMgvoIS5nNRA==";
       };
     };
-    "@textlint/text-to-ast-12.5.0" = {
+    "@textlint/text-to-ast-12.6.1" = {
       name = "_at_textlint_slash_text-to-ast";
       packageName = "@textlint/text-to-ast";
-      version = "12.5.0";
+      version = "12.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-12.5.0.tgz";
-        sha512 = "wOWYX+d821ThwNYNk5hfxOBxvkqKUpNOBKkDaic4V+dkuBoAS0D9lE9fA9Ps62kL/I1uQwhU5d4qsAHWnFmQkw==";
+        url = "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-12.6.1.tgz";
+        sha512 = "22tgSBaNerpwb66eCivjXmdZ3CDX2Il38vpuAGchiI+cl+sENU9dpuntxwEJdZQePX5qrkmw8XGj5kgyMF015A==";
       };
     };
-    "@textlint/textlint-plugin-markdown-12.5.0" = {
+    "@textlint/text-to-ast-13.0.4" = {
+      name = "_at_textlint_slash_text-to-ast";
+      packageName = "@textlint/text-to-ast";
+      version = "13.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/text-to-ast/-/text-to-ast-13.0.4.tgz";
+        sha512 = "KfR+4uuNOYQAwayzYNQUiv7GACvcjb+8ZOpJnpmu5FymI+c3g6EayYwt4cx01fmSLeZEL8njiyP1hQi3rzaR1g==";
+      };
+    };
+    "@textlint/textlint-plugin-markdown-12.6.1" = {
       name = "_at_textlint_slash_textlint-plugin-markdown";
       packageName = "@textlint/textlint-plugin-markdown";
-      version = "12.5.0";
+      version = "12.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-12.5.0.tgz";
-        sha512 = "1B4mTmA1NOvK2kAk4Rl/TW3QFB80iwhsOKSJ16nCH/yvF82xgH+Gu4gQB/prNpACb4TivmzwvBRYp7rzhOTTyA==";
+        url = "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-12.6.1.tgz";
+        sha512 = "fRKsFCL2fGeu0Bt+08FuEc2WHiI8IMDRvy6KT1pmNWO5irS4yL2/OXNknLH3erXvwcJw/hQnd5WEl4hQzS0Erw==";
       };
     };
-    "@textlint/textlint-plugin-text-12.5.0" = {
+    "@textlint/textlint-plugin-markdown-13.0.4" = {
+      name = "_at_textlint_slash_textlint-plugin-markdown";
+      packageName = "@textlint/textlint-plugin-markdown";
+      version = "13.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/textlint-plugin-markdown/-/textlint-plugin-markdown-13.0.4.tgz";
+        sha512 = "2w0kIO3xgCMNeCxl0TuMCkOqHprpa+gKyI5EPXSy0sj6ksSHlW3hntiPI7MsMzTA90qMXhKSJQAVwYYQ6ntpTA==";
+      };
+    };
+    "@textlint/textlint-plugin-text-12.6.1" = {
       name = "_at_textlint_slash_textlint-plugin-text";
       packageName = "@textlint/textlint-plugin-text";
-      version = "12.5.0";
+      version = "12.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-12.6.1.tgz";
+        sha512 = "ZUfG0Xb8qGymIPNp2eFTq9bHvkJo3N3Ia1Aff5W9fsgZib1/Eb55U16Sp60TjhBFns0/p7L7usBC3nd3+tB5mQ==";
+      };
+    };
+    "@textlint/textlint-plugin-text-13.0.4" = {
+      name = "_at_textlint_slash_textlint-plugin-text";
+      packageName = "@textlint/textlint-plugin-text";
+      version = "13.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-12.5.0.tgz";
-        sha512 = "ec3rZaJYytoscwpAtuxD4UM3bUPqNAeWKia+LMaVMWREULwKfntlSAqSNmudujEkxdsKr028CkzYuP78q8Xmuw==";
+        url = "https://registry.npmjs.org/@textlint/textlint-plugin-text/-/textlint-plugin-text-13.0.4.tgz";
+        sha512 = "wnAxJ4qQQrjur3zTiVhI6rxoO2vDV7ZCvR8i62LKzK8YyVN4tQM9P6NjiCwnZD0RaIyXTcYX6huiUBQZffmHHg==";
       };
     };
-    "@textlint/types-12.5.0" = {
+    "@textlint/types-12.6.1" = {
       name = "_at_textlint_slash_types";
       packageName = "@textlint/types";
-      version = "12.5.0";
+      version = "12.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/types/-/types-12.6.1.tgz";
+        sha512 = "t1SZYahu2olnF8MUhlP6qDIEDyl7WmyIaBYxQdE2qU6xUkZWXS2zIxoAT/pVgvFCzDw3KO5HhIYGVeWRp90dTg==";
+      };
+    };
+    "@textlint/types-13.0.4" = {
+      name = "_at_textlint_slash_types";
+      packageName = "@textlint/types";
+      version = "13.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/types/-/types-12.5.0.tgz";
-        sha512 = "Po5qOubilL/g3dx+ZUgaQzNXbROADBF4Z5xy7qqgV6pBQIEE/06INZDmmLE1Eesm2zoDpygoG/1f/0/Cy5Yupw==";
+        url = "https://registry.npmjs.org/@textlint/types/-/types-13.0.4.tgz";
+        sha512 = "ZYnrp+s/MUl1IMvEu92zafLwA8x1vMFaHEZV6BGP3ELf2GZVLZYns2hGYtJse1vb/+/PYH6OCSOTZqfsGwKARg==";
       };
     };
-    "@textlint/utils-12.5.0" = {
+    "@textlint/utils-12.6.1" = {
       name = "_at_textlint_slash_utils";
       packageName = "@textlint/utils";
-      version = "12.5.0";
+      version = "12.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@textlint/utils/-/utils-12.5.0.tgz";
-        sha512 = "bQWrQ7Xaru1DRLQhAQQJgNnfGQIwgTgWUigdS5wSwpbmfLDnaMzHu3AG0lk5hEnELMKTCIej5uCR0+YscyUckg==";
+        url = "https://registry.npmjs.org/@textlint/utils/-/utils-12.6.1.tgz";
+        sha512 = "HJkqYXT2FAAHDM5XLFpQLF/CEdm8c2ltMeKmPBSSty1VfPXQMi8tGPT1b58b8KWh6dVmi7w0YYB7NrquuzXOKA==";
+      };
+    };
+    "@textlint/utils-13.0.4" = {
+      name = "_at_textlint_slash_utils";
+      packageName = "@textlint/utils";
+      version = "13.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@textlint/utils/-/utils-13.0.4.tgz";
+        sha512 = "BrSShnYFzCeIYWCTsIIe7GQcFhapQhXq6b3FdZ3CMaAz1apzTKTpukyjfL4Wdiai99XfAWFLko4sld/uWF3/KA==";
       };
     };
     "@tokenizer/token-0.1.1" = {
@@ -11893,6 +12757,15 @@ let
         sha512 = "Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==";
       };
     };
+    "@types/express-4.17.16" = {
+      name = "_at_types_slash_express";
+      packageName = "@types/express";
+      version = "4.17.16";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/express/-/express-4.17.16.tgz";
+        sha512 = "LkKpqRZ7zqXJuvoELakaFYuETHjZkSol8EV6cNnyishutDBCCdv6+dsKPbKkCcIk57qRphOLY5sEgClw1bO3gA==";
+      };
+    };
     "@types/express-serve-static-core-4.17.31" = {
       name = "_at_types_slash_express-serve-static-core";
       packageName = "@types/express-serve-static-core";
@@ -11902,13 +12775,13 @@ let
         sha512 = "DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==";
       };
     };
-    "@types/express-serve-static-core-4.17.32" = {
+    "@types/express-serve-static-core-4.17.33" = {
       name = "_at_types_slash_express-serve-static-core";
       packageName = "@types/express-serve-static-core";
-      version = "4.17.32";
+      version = "4.17.33";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.32.tgz";
-        sha512 = "aI5h/VOkxOF2Z1saPy0Zsxs5avets/iaiAJYznQFm5By/pamU31xWKL//epiF4OfUA2qTOc9PV6tCUjhO8wlZA==";
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz";
+        sha512 = "TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==";
       };
     };
     "@types/file-type-10.9.1" = {
@@ -11965,15 +12838,6 @@ let
         sha512 = "Po8ZPCsAcPPuf5OODPEkb6cdWJ/w4BdX1veP7IIOc2WG0x1SW4GEQ1+FHKN1AMG2AePJfNUceJbh5PKtP92yRQ==";
       };
     };
-    "@types/html-minifier-terser-5.1.2" = {
-      name = "_at_types_slash_html-minifier-terser";
-      packageName = "@types/html-minifier-terser";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz";
-        sha512 = "h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w==";
-      };
-    };
     "@types/html-minifier-terser-6.1.0" = {
       name = "_at_types_slash_html-minifier-terser";
       packageName = "@types/html-minifier-terser";
@@ -12406,13 +13270,13 @@ let
         sha512 = "3oJbGBUWuS6ahSnEq1eN2XrCyf4YsWI8OyCvo7c64zQJNplk3mO84t53o8lfTk+2ji59g5ycfc6qQ3fdHliHuA==";
       };
     };
-    "@types/node-18.11.16" = {
+    "@types/node-16.9.1" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "18.11.16";
+      version = "16.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-18.11.16.tgz";
-        sha512 = "6T7P5bDkRhqRxrQtwj7vru+bWTpelgtcETAZEUSdq0YISKz8WKdoBukQLYQQ6DFHvU9JRsbFq0JH5C51X2ZdnA==";
+        url = "https://registry.npmjs.org/@types/node/-/node-16.9.1.tgz";
+        sha512 = "QpLcX9ZSsq3YYUUnD3nFDY8H7wctAhQj/TFKL8Ya8v5fMm3CFXxo8zStsLAl780ltoYoo1WvKUVGBQK+1ifr7g==";
       };
     };
     "@types/node-18.11.18" = {
@@ -12532,15 +13396,6 @@ let
         sha512 = "FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==";
       };
     };
-    "@types/raf-3.4.0" = {
-      name = "_at_types_slash_raf";
-      packageName = "@types/raf";
-      version = "3.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/raf/-/raf-3.4.0.tgz";
-        sha512 = "taW5/WYqo36N7V39oYyHP9Ipfd5pNFvGTIQsNGj86xV88YQ7GnI30/yMfKDF7Zgin0m3e+ikX88FvImnK4RjGw==";
-      };
-    };
     "@types/range-parser-1.2.4" = {
       name = "_at_types_slash_range-parser";
       packageName = "@types/range-parser";
@@ -12550,22 +13405,22 @@ let
         sha512 = "EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==";
       };
     };
-    "@types/react-17.0.52" = {
+    "@types/react-17.0.53" = {
       name = "_at_types_slash_react";
       packageName = "@types/react";
-      version = "17.0.52";
+      version = "17.0.53";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/react/-/react-17.0.52.tgz";
-        sha512 = "vwk8QqVODi0VaZZpDXQCmEmiOuyjEFPY7Ttaw5vjM112LOq37yz1CDJGrRJwA1fYEq4Iitd5rnjd1yWAc/bT+A==";
+        url = "https://registry.npmjs.org/@types/react/-/react-17.0.53.tgz";
+        sha512 = "1yIpQR2zdYu1Z/dc1OxC+MA6GR240u3gcnP4l6mvj/PJiVaqHsQPmWttsvHsfnhfPbU2FuGmo0wSITPygjBmsw==";
       };
     };
-    "@types/react-18.0.26" = {
+    "@types/react-18.0.27" = {
       name = "_at_types_slash_react";
       packageName = "@types/react";
-      version = "18.0.26";
+      version = "18.0.27";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/react/-/react-18.0.26.tgz";
-        sha512 = "hCR3PJQsAIXyxhTNSiDFY//LhnMZWpNNr5etoCqx/iUfGc5gXWtQR2Phl908jVR6uPXacojQWTg4qRpkxTuGug==";
+        url = "https://registry.npmjs.org/@types/react/-/react-18.0.27.tgz";
+        sha512 = "3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA==";
       };
     };
     "@types/react-dom-18.0.10" = {
@@ -12982,15 +13837,6 @@ let
         sha512 = "PpPrX7SZW9re6+Ha8ojZG4Se8AZXgf0GK6zmfqEuCsY49LFDNXO3SByp44X3dFEqtB73lkCDAdUazhAjVPiNwg==";
       };
     };
-    "@types/ws-8.5.3" = {
-      name = "_at_types_slash_ws";
-      packageName = "@types/ws";
-      version = "8.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz";
-        sha512 = "6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==";
-      };
-    };
     "@types/ws-8.5.4" = {
       name = "_at_types_slash_ws";
       packageName = "@types/ws";
@@ -13054,13 +13900,13 @@ let
         sha512 = "aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==";
       };
     };
-    "@typescript-eslint/eslint-plugin-5.48.2" = {
+    "@typescript-eslint/eslint-plugin-5.49.0" = {
       name = "_at_typescript-eslint_slash_eslint-plugin";
       packageName = "@typescript-eslint/eslint-plugin";
-      version = "5.48.2";
+      version = "5.49.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.2.tgz";
-        sha512 = "sR0Gja9Ky1teIq4qJOl0nC+Tk64/uYdX+mi+5iB//MH8gwyx8e3SOyhEzeLZEFEEfCaLf8KJq+Bd/6je1t+CAg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.49.0.tgz";
+        sha512 = "IhxabIpcf++TBaBa1h7jtOWyon80SXPRLDq0dVz5SLFC/eW6tofkw/O7Ar3lkx5z5U6wzbKDrl2larprp5kk5Q==";
       };
     };
     "@typescript-eslint/experimental-utils-4.33.0" = {
@@ -13081,13 +13927,13 @@ let
         sha512 = "ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==";
       };
     };
-    "@typescript-eslint/parser-5.48.2" = {
+    "@typescript-eslint/parser-5.49.0" = {
       name = "_at_typescript-eslint_slash_parser";
       packageName = "@typescript-eslint/parser";
-      version = "5.48.2";
+      version = "5.49.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.2.tgz";
-        sha512 = "38zMsKsG2sIuM5Oi/olurGwYJXzmtdsHhn5mI/pQogP+BjYVkK5iRazCQ8RGS0V+YLk282uWElN70zAAUmaYHw==";
+        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.49.0.tgz";
+        sha512 = "veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg==";
       };
     };
     "@typescript-eslint/scope-manager-4.33.0" = {
@@ -13099,22 +13945,22 @@ let
         sha512 = "5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==";
       };
     };
-    "@typescript-eslint/scope-manager-5.48.2" = {
+    "@typescript-eslint/scope-manager-5.49.0" = {
       name = "_at_typescript-eslint_slash_scope-manager";
       packageName = "@typescript-eslint/scope-manager";
-      version = "5.48.2";
+      version = "5.49.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.2.tgz";
-        sha512 = "zEUFfonQid5KRDKoI3O+uP1GnrFd4tIHlvs+sTJXiWuypUWMuDaottkJuR612wQfOkjYbsaskSIURV9xo4f+Fw==";
+        url = "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.49.0.tgz";
+        sha512 = "clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ==";
       };
     };
-    "@typescript-eslint/type-utils-5.48.2" = {
+    "@typescript-eslint/type-utils-5.49.0" = {
       name = "_at_typescript-eslint_slash_type-utils";
       packageName = "@typescript-eslint/type-utils";
-      version = "5.48.2";
+      version = "5.49.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.2.tgz";
-        sha512 = "QVWx7J5sPMRiOMJp5dYshPxABRoZV1xbRirqSk8yuIIsu0nvMTZesKErEA3Oix1k+uvsk8Cs8TGJ6kQ0ndAcew==";
+        url = "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.49.0.tgz";
+        sha512 = "eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA==";
       };
     };
     "@typescript-eslint/types-4.33.0" = {
@@ -13126,13 +13972,13 @@ let
         sha512 = "zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==";
       };
     };
-    "@typescript-eslint/types-5.48.2" = {
+    "@typescript-eslint/types-5.49.0" = {
       name = "_at_typescript-eslint_slash_types";
       packageName = "@typescript-eslint/types";
-      version = "5.48.2";
+      version = "5.49.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.2.tgz";
-        sha512 = "hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA==";
+        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.49.0.tgz";
+        sha512 = "7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg==";
       };
     };
     "@typescript-eslint/typescript-estree-4.33.0" = {
@@ -13144,22 +13990,22 @@ let
         sha512 = "rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==";
       };
     };
-    "@typescript-eslint/typescript-estree-5.48.2" = {
+    "@typescript-eslint/typescript-estree-5.49.0" = {
       name = "_at_typescript-eslint_slash_typescript-estree";
       packageName = "@typescript-eslint/typescript-estree";
-      version = "5.48.2";
+      version = "5.49.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.2.tgz";
-        sha512 = "bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg==";
+        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.49.0.tgz";
+        sha512 = "PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA==";
       };
     };
-    "@typescript-eslint/utils-5.48.2" = {
+    "@typescript-eslint/utils-5.49.0" = {
       name = "_at_typescript-eslint_slash_utils";
       packageName = "@typescript-eslint/utils";
-      version = "5.48.2";
+      version = "5.49.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.2.tgz";
-        sha512 = "2h18c0d7jgkw6tdKTlNaM7wyopbLRBiit8oAxoP89YnuBOzCZ8g8aBCaCqq7h208qUTroL7Whgzam7UY3HVLow==";
+        url = "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.49.0.tgz";
+        sha512 = "cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ==";
       };
     };
     "@typescript-eslint/visitor-keys-4.33.0" = {
@@ -13171,13 +14017,13 @@ let
         sha512 = "uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==";
       };
     };
-    "@typescript-eslint/visitor-keys-5.48.2" = {
+    "@typescript-eslint/visitor-keys-5.49.0" = {
       name = "_at_typescript-eslint_slash_visitor-keys";
       packageName = "@typescript-eslint/visitor-keys";
-      version = "5.48.2";
+      version = "5.49.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.2.tgz";
-        sha512 = "z9njZLSkwmjFWUelGEwEbdf4NwKvfHxvGC0OcGN1Hp/XNDIcJ7D5DpPNPv6x6/mFvc1tQHsaWmpD/a4gOvvCJQ==";
+        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.49.0.tgz";
+        sha512 = "v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg==";
       };
     };
     "@uphold/request-logger-2.0.0" = {
@@ -13225,40 +14071,58 @@ let
         sha512 = "UGyyGAMXzop9C/fIoe7Ij63DkPSy1uMw2jipB5dnB8R3kl80za7LYzVnA1HvBEt2ZPWfMuwez/VGLOQ7XX4bTA==";
       };
     };
-    "@vercel/build-utils-5.9.0" = {
+    "@vercel/build-utils-6.0.0" = {
       name = "_at_vercel_slash_build-utils";
       packageName = "@vercel/build-utils";
-      version = "5.9.0";
+      version = "6.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-5.9.0.tgz";
-        sha512 = "LJRhd/ritLGHH+YvZ+DC7AW3Jr87UZHFHz2h2ENULDZ8qAo5LJH+y+Cg11uxfXkhQKK2f/AZQJXyKVyu1BBwdQ==";
+        url = "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-6.0.0.tgz";
+        sha512 = "2AoVcDUyQCj516KrRNH92NeKI+KZGnVGjHkcb+VcXxGspYpKL/gC+AdFtC05qbgxX1e8U95Yd8ROucTftHErWw==";
       };
     };
-    "@vercel/go-2.2.30" = {
+    "@vercel/gatsby-plugin-vercel-analytics-1.0.7" = {
+      name = "_at_vercel_slash_gatsby-plugin-vercel-analytics";
+      packageName = "@vercel/gatsby-plugin-vercel-analytics";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vercel/gatsby-plugin-vercel-analytics/-/gatsby-plugin-vercel-analytics-1.0.7.tgz";
+        sha512 = "j4DsneQ+oOF0Zurvisj+H2ds8s8ZEqfI4iD6xgFY9mB2UdGixhzFRjvDBH6g4pfUQXfO76K5GiA1afumGlJbwA==";
+      };
+    };
+    "@vercel/gatsby-plugin-vercel-builder-1.0.2" = {
+      name = "_at_vercel_slash_gatsby-plugin-vercel-builder";
+      packageName = "@vercel/gatsby-plugin-vercel-builder";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@vercel/gatsby-plugin-vercel-builder/-/gatsby-plugin-vercel-builder-1.0.2.tgz";
+        sha512 = "zhbLVDM8wdWK1Se0aYK5kB3w/LvR8ayzYSpeWZK2rzpTPmjWNbRBjJkWtoZvL5LlE4rEcSELaci7uxXIrflEag==";
+      };
+    };
+    "@vercel/go-2.2.31" = {
       name = "_at_vercel_slash_go";
       packageName = "@vercel/go";
-      version = "2.2.30";
+      version = "2.2.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/go/-/go-2.2.30.tgz";
-        sha512 = "ODz5UrlBzYIpPVjfMZVofQGfsqHSn2WjLdHGw58UAgQH+rUYSWBwqsXvIcYT3QXy2hKCZGguahqeT0qXSqBpTw==";
+        url = "https://registry.npmjs.org/@vercel/go/-/go-2.2.31.tgz";
+        sha512 = "zDBxGi+M9AU18fNKSfZeD+hEALlIO/vQRD2kCh2f5k/Agjera6ughW0B3he+1s/M23vCDdx6N54E2j9GeTBZlQ==";
       };
     };
-    "@vercel/hydrogen-0.0.44" = {
+    "@vercel/hydrogen-0.0.45" = {
       name = "_at_vercel_slash_hydrogen";
       packageName = "@vercel/hydrogen";
-      version = "0.0.44";
+      version = "0.0.45";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/hydrogen/-/hydrogen-0.0.44.tgz";
-        sha512 = "7RnSk10nE0tNLHcTCUTWCpO5rfcMQ7N6ECTaeozWcYWs2/Fol7tLjc9Uowo1ZqnV7wTm5mE/ooCD2FNlaKmiaA==";
+        url = "https://registry.npmjs.org/@vercel/hydrogen/-/hydrogen-0.0.45.tgz";
+        sha512 = "ZE/1scAUiuYZTEmO3CN08mGPo6dbORR8/tGDzsF//KYjTNcsKQJ+szVRqxUH5ZbazS4F2h1+wNDM0XHwKuLbLA==";
       };
     };
-    "@vercel/next-3.3.15" = {
+    "@vercel/next-3.3.19" = {
       name = "_at_vercel_slash_next";
       packageName = "@vercel/next";
-      version = "3.3.15";
+      version = "3.3.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/next/-/next-3.3.15.tgz";
-        sha512 = "zfJ54JkalkMvxE4e0/OAL0sPEm9AplUCBR2Bq6JhGrOEaxBGdCyv2RPBAyZOV1JL+m9y06hJpWyFQGsOtI5RgA==";
+        url = "https://registry.npmjs.org/@vercel/next/-/next-3.3.19.tgz";
+        sha512 = "Adu3i4eHcQqLmRLCpJteilCTxfMLdr9grwk4Yq4g66xwRgkYTHiupkDN7hXThsxEBQgtotfcTUlygYYJjXvBkA==";
       };
     };
     "@vercel/nft-0.22.5" = {
@@ -13270,49 +14134,49 @@ let
         sha512 = "mug57Wd1BL7GMj9gXMgMeKUjdqO0e4u+0QLPYMFE1rwdJ+55oPy6lp3nIBCS8gOvigT62UI4QKUL2sGqcoW4Hw==";
       };
     };
-    "@vercel/node-2.8.13" = {
+    "@vercel/node-2.8.16" = {
       name = "_at_vercel_slash_node";
       packageName = "@vercel/node";
-      version = "2.8.13";
+      version = "2.8.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/node/-/node-2.8.13.tgz";
-        sha512 = "RI0Ig2v7MK4N3EVPHKNEj3IK+D0/GtIbMFZB0WcUgE77UvdD++tf5JWTlqrwxPOYOxO/J0/0L8WZXTAzpPgdGA==";
+        url = "https://registry.npmjs.org/@vercel/node/-/node-2.8.16.tgz";
+        sha512 = "aLuPHOm29cYjCK649/5j/zbYFXxRtNYcnNFdBd2gVg2II54SfByYIx/Tw3A6PeQmR23piBwPZMI5uEuYC0TGmA==";
       };
     };
-    "@vercel/node-bridge-3.1.9" = {
+    "@vercel/node-bridge-3.1.10" = {
       name = "_at_vercel_slash_node-bridge";
       packageName = "@vercel/node-bridge";
-      version = "3.1.9";
+      version = "3.1.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/node-bridge/-/node-bridge-3.1.9.tgz";
-        sha512 = "07Bgb6jm8OMTlxGRC4kOY0ewi4xLtMcK3z45T+GKRO7oKeA4vhRGFbT5BsJKF3V5/nj6TYAsWsErBf4RGVSBcw==";
+        url = "https://registry.npmjs.org/@vercel/node-bridge/-/node-bridge-3.1.10.tgz";
+        sha512 = "0DQzF5pdyP+xd5f1Ss2fAO+9xIvzUhngRAPazwg4XHZE9iLkv2L+A1u3L8NYi4hoUlAAZQ5GF3txlm/oBn4tNw==";
       };
     };
-    "@vercel/python-3.1.40" = {
+    "@vercel/python-3.1.41" = {
       name = "_at_vercel_slash_python";
       packageName = "@vercel/python";
-      version = "3.1.40";
+      version = "3.1.41";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/python/-/python-3.1.40.tgz";
-        sha512 = "Cns+KTVBloQXtls72KaaXQ2gHgsH5/Mm7lwv80ysTZvp5x6loh+Faf6QJq93LxYh9lz2wqWjO+nq3XJ77N5twg==";
+        url = "https://registry.npmjs.org/@vercel/python/-/python-3.1.41.tgz";
+        sha512 = "xS3LY1zzuKM2wTeW9tTQqQ3gNgsstSWMO8dnxcuFnYMP8JwN4ffLSreXeJm4S5pFsn5dNyH1EckgoXWgB9TgBQ==";
       };
     };
-    "@vercel/redwood-1.0.51" = {
+    "@vercel/redwood-1.0.52" = {
       name = "_at_vercel_slash_redwood";
       packageName = "@vercel/redwood";
-      version = "1.0.51";
+      version = "1.0.52";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/redwood/-/redwood-1.0.51.tgz";
-        sha512 = "0i9+qe4branWzMfeLbIazvomxCX7scASJ9bqm2oMCdMxZrXeB3/hwRCUUdGJGXmRsrGp7ATsXjxynd+D1wZymw==";
+        url = "https://registry.npmjs.org/@vercel/redwood/-/redwood-1.0.52.tgz";
+        sha512 = "ZZ+qWdYRYfL5wKYao4/oXHxbGpoN6MJEN+YtiOSCauDfolN/7c+qFbZu4P6MdEddY4/3Kq1CRMy9z89UfPPzew==";
       };
     };
-    "@vercel/remix-1.2.5" = {
+    "@vercel/remix-1.2.8" = {
       name = "_at_vercel_slash_remix";
       packageName = "@vercel/remix";
-      version = "1.2.5";
+      version = "1.2.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/remix/-/remix-1.2.5.tgz";
-        sha512 = "jbTDy+Ar+DRbk2UJqazOcGs1lgWhTSf5yvO27ZyN+mM4diTKg834McjJ9IUhpEyBGejS3+dPaz7U9dn+Bfbztw==";
+        url = "https://registry.npmjs.org/@vercel/remix/-/remix-1.2.8.tgz";
+        sha512 = "30Cfc+tl6L+L4+c9fGTBfS8YbCSfP/plqf+bTSHHU9wIGWmq/oKpIxInRbcT2+7oAb+EdehMDoZ1r/L7me7Dew==";
       };
     };
     "@vercel/routing-utils-2.1.8" = {
@@ -13324,22 +14188,22 @@ let
         sha512 = "rng+qyQ0VpnBjO2R7GQlpAdEx+yyvrcEp6XNe+4q6e+oW0n2H6dm6SLFEBA6B1QmHX4OTTCkq1GIiKsK6ENw4Q==";
       };
     };
-    "@vercel/ruby-1.3.56" = {
+    "@vercel/ruby-1.3.57" = {
       name = "_at_vercel_slash_ruby";
       packageName = "@vercel/ruby";
-      version = "1.3.56";
+      version = "1.3.57";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/ruby/-/ruby-1.3.56.tgz";
-        sha512 = "fYjyU8ZhsouRC5WWZBuN8FQG+eHGTFzl8sCwCGdeaykJOpVa0FW9Xl/fDjBpAQoicbrdZhDH2HaEfnjBkLVIeA==";
+        url = "https://registry.npmjs.org/@vercel/ruby/-/ruby-1.3.57.tgz";
+        sha512 = "AY9bhSwDPcWt20KNskpn/zGF8nP7JBkfWbddXwF0uP2Ui55b+hnBr2VjRf2qys2npOZu2O2jd70/KCOUGnkdIw==";
       };
     };
-    "@vercel/static-build-1.1.7" = {
+    "@vercel/static-build-1.3.0" = {
       name = "_at_vercel_slash_static-build";
       packageName = "@vercel/static-build";
-      version = "1.1.7";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/static-build/-/static-build-1.1.7.tgz";
-        sha512 = "l0QBOuRD6NjewHyPTSMxk96MVJbeem46cjqKb9AB9Ochf2nb20JGZaON0VSqeJRtrQR19gWiqgTT+glz1G098A==";
+        url = "https://registry.npmjs.org/@vercel/static-build/-/static-build-1.3.0.tgz";
+        sha512 = "Ai9xpqkMCxXT8lHtyn+qE9N+fQSdlBv9ph0ldeKdc+BhDx8T91LzAoCxqT2XnNii0TIakD2k/ZI/qusqTTMe6Q==";
       };
     };
     "@vercel/static-config-2.0.11" = {
@@ -13360,13 +14224,13 @@ let
         sha512 = "IIB8jbiKy37zN8bAIHx59YmnIelY78CGHtThnibD/d3tQOKRY83bYVi9blwmZVUZh6l9nfkYH3tvReaiNxY9EQ==";
       };
     };
-    "@vscode/l10n-0.0.10" = {
+    "@vscode/l10n-0.0.11" = {
       name = "_at_vscode_slash_l10n";
       packageName = "@vscode/l10n";
-      version = "0.0.10";
+      version = "0.0.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.10.tgz";
-        sha512 = "E1OCmDcDWa0Ya7vtSjp/XfHFGqYJfh+YPC1RkATU71fTac+j1JjCcB3qwSzmlKAighx2WxhLlfhS0RwAN++PFQ==";
+        url = "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.11.tgz";
+        sha512 = "ukOMWnCg1tCvT7WnDfsUKQOFDQGsyR5tNgRpwmqi+5/vzU3ghdDXzvIM4IOPdSb3OeSsBNvmSL8nxIVOqi2WXA==";
       };
     };
     "@vscode/test-electron-2.2.2" = {
@@ -14656,22 +15520,22 @@ let
         sha512 = "GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==";
       };
     };
-    "@yarnpkg/parsers-3.0.0-rc.35" = {
+    "@yarnpkg/parsers-3.0.0-rc.36" = {
       name = "_at_yarnpkg_slash_parsers";
       packageName = "@yarnpkg/parsers";
-      version = "3.0.0-rc.35";
+      version = "3.0.0-rc.36";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.35.tgz";
-        sha512 = "J6ySgEdQUqAmlttvZOoXOEsrDTAnHyR/MtEvuAG5a+gwKY/2Cc7xn4CWcpgfuwkp+0a4vXmt2BDwzacDoGDN1g==";
+        url = "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.36.tgz";
+        sha512 = "PvTlgUr7WO2qDnph8tVdItbJlo9hEcGSVd8+ppn/tvcn8XZUaD1z4EgvMEZcJYZi3LmHJGzSgVZzcFE+zQiz8A==";
       };
     };
-    "@zeit/schemas-2.21.0" = {
+    "@zeit/schemas-2.29.0" = {
       name = "_at_zeit_slash_schemas";
       packageName = "@zeit/schemas";
-      version = "2.21.0";
+      version = "2.29.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.21.0.tgz";
-        sha512 = "/J4WBTpWtQ4itN1rb3ao8LfClmVcmz2pO6oYb7Qd4h7VSqUhIbJIvrykz9Ew1WMg6eFWsKdsMHc5uPbFxqlCpg==";
+        url = "https://registry.npmjs.org/@zeit/schemas/-/schemas-2.29.0.tgz";
+        sha512 = "g5QiLIfbg3pLuYUJPlisNKY+epQJTcMDsOnVNkscrDP1oi7vmJnzOANYJI/1pZcVJ6umUkBv3aFtlg1UvUHGzA==";
       };
     };
     "@zeit/schemas-2.6.0" = {
@@ -14683,13 +15547,13 @@ let
         sha512 = "uUrgZ8AxS+Lio0fZKAipJjAh415JyrOZowliZAzmnJSsf7piVL5w+G0+gFJ0KSu3QRhvui/7zuvpLz03YjXAhg==";
       };
     };
-    "@zkochan/cmd-shim-5.4.0" = {
+    "@zkochan/cmd-shim-5.4.1" = {
       name = "_at_zkochan_slash_cmd-shim";
       packageName = "@zkochan/cmd-shim";
-      version = "5.4.0";
+      version = "5.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@zkochan/cmd-shim/-/cmd-shim-5.4.0.tgz";
-        sha512 = "Ldv5OxVJNNoHgwDPkJVdTT4l31hA4YLhJxpNNx3I5C9E3xXej66w6sQTL9Q/ZNVVTLplqDxTy+UjcnPx6cxwuA==";
+        url = "https://registry.npmjs.org/@zkochan/cmd-shim/-/cmd-shim-5.4.1.tgz";
+        sha512 = "odWb1qUzt0dIOEUPyWBEpFDYQPRjEMr/dbHHAfgBkVkYR9aO7Zo+I7oYWrXIxl+cKlC7+49ftPm8uJxL1MA9kw==";
       };
     };
     "@zkochan/js-yaml-0.0.6" = {
@@ -14701,58 +15565,58 @@ let
         sha512 = "nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==";
       };
     };
-    "@zwave-js/cc-10.4.0" = {
+    "@zwave-js/cc-10.5.2" = {
       name = "_at_zwave-js_slash_cc";
       packageName = "@zwave-js/cc";
-      version = "10.4.0";
+      version = "10.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@zwave-js/cc/-/cc-10.4.0.tgz";
-        sha512 = "qKisjEz2fOCCNp8LREYyRZu0pib38lqO+pnJwZs5Gjni0EnEC3A1FW470AXPUVJw2cbGtFDaYnGfTW72xeJSpg==";
+        url = "https://registry.npmjs.org/@zwave-js/cc/-/cc-10.5.2.tgz";
+        sha512 = "RBuAJ6cWlhZTLDDppWx6ILmqXATN9L8lyIfjSbNIzdlJ6jzJK1sW7r+rvXlcubAOPdDBEQa2UYbCJ/PEdFdoBg==";
       };
     };
-    "@zwave-js/config-10.4.0" = {
+    "@zwave-js/config-10.5.2" = {
       name = "_at_zwave-js_slash_config";
       packageName = "@zwave-js/config";
-      version = "10.4.0";
+      version = "10.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@zwave-js/config/-/config-10.4.0.tgz";
-        sha512 = "Z3Gc8gmgUJUwP/on/EDgobksfazOxOxfxUGHDH/jfqxsF0adFSdhSeatF9cCfh5YM+UWFYEZLgVykbKtIW9XoA==";
+        url = "https://registry.npmjs.org/@zwave-js/config/-/config-10.5.2.tgz";
+        sha512 = "nnXehRQZlOSwvKOhDuLkjwkyR2dZVaNOqwxz9UKcovclIZyXV+1V2VhAxa0BeIyidDZYV/Ma2SzT4lGckW/3WQ==";
       };
     };
-    "@zwave-js/core-10.4.0" = {
+    "@zwave-js/core-10.5.0" = {
       name = "_at_zwave-js_slash_core";
       packageName = "@zwave-js/core";
-      version = "10.4.0";
+      version = "10.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@zwave-js/core/-/core-10.4.0.tgz";
-        sha512 = "/3gKj8dzxn1T3ymiMjNPN/ficAEti9cnCVxQvjjRyqNsBe6onsN+n4Te+Ed7LuSybGH+v9G8iH29YkjjgzU66g==";
+        url = "https://registry.npmjs.org/@zwave-js/core/-/core-10.5.0.tgz";
+        sha512 = "l5/YwSZMMg8MeUhi8bCnS2xu1EYFO9ocY9Zl2LWXF/8xMYKqZohgxjkUg4YzbIoTyE5vGuaxVoBHqQ4iQ7xj3g==";
       };
     };
-    "@zwave-js/host-10.4.0" = {
+    "@zwave-js/host-10.5.2" = {
       name = "_at_zwave-js_slash_host";
       packageName = "@zwave-js/host";
-      version = "10.4.0";
+      version = "10.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@zwave-js/host/-/host-10.4.0.tgz";
-        sha512 = "NLL18cmaXZcbT/rQ/vdVCvRo9GQF5xYWGDxgja6zjuAR5xrsYyfyvI1lJuiOD9i9iPmTiu1XFv1PfJl54Ird3A==";
+        url = "https://registry.npmjs.org/@zwave-js/host/-/host-10.5.2.tgz";
+        sha512 = "BTbIWobUI/YYlSe35U/hDkA/zyMFtktEyLis17r/FTYZR35zcmKO/jHpwwKii/EELsxTrCJnXMh017NrhJlpKA==";
       };
     };
-    "@zwave-js/nvmedit-10.4.0" = {
+    "@zwave-js/nvmedit-10.5.0" = {
       name = "_at_zwave-js_slash_nvmedit";
       packageName = "@zwave-js/nvmedit";
-      version = "10.4.0";
+      version = "10.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@zwave-js/nvmedit/-/nvmedit-10.4.0.tgz";
-        sha512 = "fxhIxRHBcDESafhdE6Qnil+IbQig+XncUMcVXm1m77/fT8Ee3QXLPbqte0O1+10KcnHdult3t9cB0hlBIk2OhA==";
+        url = "https://registry.npmjs.org/@zwave-js/nvmedit/-/nvmedit-10.5.0.tgz";
+        sha512 = "kXTToCLTytqdLBCfVZN1HaB7F4SrW8TVO/xMmG9D3n3yMEMaSDHRXobym9kOOb5aVwVCplASQiHwY+pL4t5R9A==";
       };
     };
-    "@zwave-js/serial-10.4.0" = {
+    "@zwave-js/serial-10.5.2" = {
       name = "_at_zwave-js_slash_serial";
       packageName = "@zwave-js/serial";
-      version = "10.4.0";
+      version = "10.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@zwave-js/serial/-/serial-10.4.0.tgz";
-        sha512 = "8NPH7MqjSpd8HeGTJYfw+bmCPpadMebpSlJsf2n/vAbMU6E8Sp1Gi3X347MzdMxDAQOzF3YaV9UBmGcRcxvfBQ==";
+        url = "https://registry.npmjs.org/@zwave-js/serial/-/serial-10.5.2.tgz";
+        sha512 = "IqAYBhNE+LsEVSRu2UDzoM3inV2dp3JMfIJXBN8iVa/revCXTjGWOPJkqhulj74cQX9brCuA919YQ33N9hlJwA==";
       };
     };
     "@zwave-js/shared-10.4.0" = {
@@ -14764,13 +15628,13 @@ let
         sha512 = "uuLYDDNqIkagJ40piNMhljVG9OepI31/labLnivJByxGdELJnIXGRKLQ8ZKvm/5Ba8qXpEw/t7UrV2plfP/QCg==";
       };
     };
-    "@zwave-js/testing-10.4.0" = {
+    "@zwave-js/testing-10.5.2" = {
       name = "_at_zwave-js_slash_testing";
       packageName = "@zwave-js/testing";
-      version = "10.4.0";
+      version = "10.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@zwave-js/testing/-/testing-10.4.0.tgz";
-        sha512 = "5rCxp7EJXK6B8td4SdVyqmZL+4WL3p7blVLKjT3LpZXcMolOTeEEptggJ9yhmFm2pUhkOHSoE12FwroJbRObXw==";
+        url = "https://registry.npmjs.org/@zwave-js/testing/-/testing-10.5.2.tgz";
+        sha512 = "3Si/nerD7I9pPpgiipUZqrEJUTNeFAPnbgXG9P5mZb+uhHzbrwVVDASK9wPgjGqWx2AJffAMl2MPEknqcMEaRA==";
       };
     };
     "CSSselect-0.4.1" = {
@@ -15034,13 +15898,13 @@ let
         sha512 = "Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==";
       };
     };
-    "acorn-8.8.1" = {
+    "acorn-8.8.2" = {
       name = "acorn";
       packageName = "acorn";
-      version = "8.8.1";
+      version = "8.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz";
-        sha512 = "7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==";
+        url = "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz";
+        sha512 = "xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==";
       };
     };
     "acorn-dynamic-import-3.0.0" = {
@@ -15205,13 +16069,13 @@ let
         sha512 = "qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==";
       };
     };
-    "addons-linter-5.23.0" = {
+    "addons-linter-5.27.0" = {
       name = "addons-linter";
       packageName = "addons-linter";
-      version = "5.23.0";
+      version = "5.27.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/addons-linter/-/addons-linter-5.23.0.tgz";
-        sha512 = "Vo6+5YlM2Ge3yYMY+gNg9Smcfcl1J0ZMfGVXnGJjUwDVHuszHVIvurunQuJURnO4FR1gi4Vy1sWye8ArRL5LOw==";
+        url = "https://registry.npmjs.org/addons-linter/-/addons-linter-5.27.0.tgz";
+        sha512 = "gDgl0FcmhZ5cs3St0qAaO9J1BoektwnY+p4dVgcvPu8WaBqH9MG2fk0gL/evCpoHSXeSw15GA87n8Y7zy7raVQ==";
       };
     };
     "addons-moz-compare-1.3.0" = {
@@ -15223,13 +16087,13 @@ let
         sha512 = "/rXpQeaY0nOKhNx00pmZXdk5Mu+KhVlL3/pSBuAYwrxRrNiTvI/9xfQI8Lmm7DMMl+PDhtfAHY/0ibTpdeoQQQ==";
       };
     };
-    "addons-scanner-utils-8.1.0" = {
+    "addons-scanner-utils-8.3.0" = {
       name = "addons-scanner-utils";
       packageName = "addons-scanner-utils";
-      version = "8.1.0";
+      version = "8.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/addons-scanner-utils/-/addons-scanner-utils-8.1.0.tgz";
-        sha512 = "wxqnmmrzZXjz4B4GZbFcR4HJxTP+pGu+C6iOjMJdmL6mgZZey/UEVJlU6XTxu8GdGv0bUoJxyIioH8XEDxy91Q==";
+        url = "https://registry.npmjs.org/addons-scanner-utils/-/addons-scanner-utils-8.3.0.tgz";
+        sha512 = "XP+2kxhZxlxiVFXVJ7lyJEuxpUS8ryrolUDqnUEnvOZ/3p8qt9hWCYSliXhI2W+Swf/hZ3F4CLAG6tBnqdxDYA==";
       };
     };
     "addr-to-ip-port-1.5.4" = {
@@ -15241,15 +16105,6 @@ let
         sha512 = "ByxmJgv8vjmDcl3IDToxL2yrWFrRtFpZAToY0f46XFXl8zS081t7El5MXIodwm7RC6DhHBRoOSMLFSPKCtHukg==";
       };
     };
-    "address-1.1.2" = {
-      name = "address";
-      packageName = "address";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/address/-/address-1.1.2.tgz";
-        sha512 = "aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==";
-      };
-    };
     "address-1.2.2" = {
       name = "address";
       packageName = "address";
@@ -15439,15 +16294,6 @@ let
         sha512 = "wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==";
       };
     };
-    "ajv-8.11.2" = {
-      name = "ajv";
-      packageName = "ajv";
-      version = "8.11.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-8.11.2.tgz";
-        sha512 = "E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==";
-      };
-    };
     "ajv-8.12.0" = {
       name = "ajv";
       packageName = "ajv";
@@ -15538,15 +16384,6 @@ let
         sha512 = "YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==";
       };
     };
-    "ajv-merge-patch-5.0.1" = {
-      name = "ajv-merge-patch";
-      packageName = "ajv-merge-patch";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv-merge-patch/-/ajv-merge-patch-5.0.1.tgz";
-        sha512 = "0UP3aJCzfzBOkmLR+EinJDCfg6DNtprj3bVPo7JJNgUpZMKt097t9xxQOWFGRoB4JvKKIHE2qe0HkVaS/HyrjQ==";
-      };
-    };
     "alcalzone-shared-4.0.8" = {
       name = "alcalzone-shared";
       packageName = "alcalzone-shared";
@@ -15997,6 +16834,15 @@ let
         sha512 = "Ydgbey4zqUmmNN2i2OVeVHXig3PxHRbok2X6B2Sogmb92JzZUFfTL806dT7os6tBL1peXItfeFt76CP3zsoXUg==";
       };
     };
+    "any-base-1.1.0" = {
+      name = "any-base";
+      packageName = "any-base";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/any-base/-/any-base-1.1.0.tgz";
+        sha512 = "uMgjozySS8adZZYePpaWs8cxB9/kdzmpX6SgJZ+wbz1K5eYk5QMYDVJaZKhxyIHUdnnJkfR7SVgStgH7LkGUyg==";
+      };
+    };
     "any-observable-0.3.0" = {
       name = "any-observable";
       packageName = "any-observable";
@@ -17365,13 +18211,13 @@ let
         sha512 = "uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==";
       };
     };
-    "async-each-1.0.3" = {
+    "async-each-1.0.4" = {
       name = "async-each";
       packageName = "async-each";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz";
-        sha512 = "z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==";
+        url = "https://registry.npmjs.org/async-each/-/async-each-1.0.4.tgz";
+        sha512 = "qL5v0vnRtD4rxlrzLz3WMnMfTvTrMf3IK1xFCF0Q5vqXJkULhM13gO2ynE8RZMjE+bPcH0AUHgcd5BU1FtO1tA==";
       };
     };
     "async-each-series-0.1.1" = {
@@ -17527,15 +18373,6 @@ let
         sha512 = "eKEYj1+jDgQ15jazjmelcPGXO77pa5epzlyXyEQcwwLtnACtBTCrxaW+96uXF2j4rzIikmUtVlzXwejx6iIhWw==";
       };
     };
-    "asyncjs-util-1.2.10" = {
-      name = "asyncjs-util";
-      packageName = "asyncjs-util";
-      version = "1.2.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asyncjs-util/-/asyncjs-util-1.2.10.tgz";
-        sha512 = "p4U6HQUw4k/xZKrwEQO7ZuF+8/OkzAQS4iAMhFUBGtSD8p3KkKBaTBuUTEH8TWKB3ArNbrP0401TGE2vIiU7uQ==";
-      };
-    };
     "asyncjs-util-1.2.11" = {
       name = "asyncjs-util";
       packageName = "asyncjs-util";
@@ -17716,13 +18553,13 @@ let
         sha512 = "d1W2aNSYcz/sxYO4pMGX9vq65qOTu0P800epMud+6cYYX0QcT7zyqcxec3VWzpgvdXo57UWmVbZpLMjX2m1I7Q==";
       };
     };
-    "aws-crt-1.15.7" = {
+    "aws-crt-1.15.8" = {
       name = "aws-crt";
       packageName = "aws-crt";
-      version = "1.15.7";
+      version = "1.15.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-crt/-/aws-crt-1.15.7.tgz";
-        sha512 = "wq26kPlK6PYfJ1A4ckW5HDaf+mgkKqjDf3GoYdvQhGR97riO7mLltRRtbe1sPJ0CRUolA1ypt49HRvf1N/yp2g==";
+        url = "https://registry.npmjs.org/aws-crt/-/aws-crt-1.15.8.tgz";
+        sha512 = "2TLgxvcHwYaCpaZWwMTn7628Xa7mcpedE+pdGf+Vg2l6MiTrRKZ5X5YyXMqX4GvfvDB1I3EfIAi5iFxlHZ1J4w==";
       };
     };
     "aws-sdk-1.18.0" = {
@@ -17743,13 +18580,13 @@ let
         sha512 = "545VawhsCQ7yEx9jZKV0hTTW3FS/waycISWMvnNwqRfpU9o4FQ4DSu3je7ekn5yFKM+91dxJC+IfJgtIV8WaUw==";
       };
     };
-    "aws-sdk-2.1296.0" = {
+    "aws-sdk-2.1304.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1296.0";
+      version = "2.1304.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1296.0.tgz";
-        sha512 = "6Nm6zQexyne8lVy+BW8jklGpS36mXJjq67zlsn5XuyB3+qAMlolzar9nxgtuabvb/tSQTP4RSwlhkVzOct+MvA==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1304.0.tgz";
+        sha512 = "9mf2uafa2M9yFC5IlMe85TIc7OUo1HSProCQWzpRmAAYhcSwmfbRyt02Wtr5YSVvJJPmcSgcyI92snsQR1c3nw==";
       };
     };
     "aws-sign2-0.6.0" = {
@@ -17779,13 +18616,13 @@ let
         sha512 = "NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==";
       };
     };
-    "axe-core-4.6.2" = {
+    "axe-core-4.6.3" = {
       name = "axe-core";
       packageName = "axe-core";
-      version = "4.6.2";
+      version = "4.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/axe-core/-/axe-core-4.6.2.tgz";
-        sha512 = "b1WlTV8+XKLj9gZy2DZXgQiyDp9xkkoe2a6U6UbYccScq2wgH/YwCeI2/Jq2mgo0HzQxqJOjWZBLeA/mqsk5Mg==";
+        url = "https://registry.npmjs.org/axe-core/-/axe-core-4.6.3.tgz";
+        sha512 = "/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==";
       };
     };
     "axios-0.19.2" = {
@@ -17851,13 +18688,13 @@ let
         sha512 = "t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==";
       };
     };
-    "axios-1.2.3" = {
+    "axios-1.2.6" = {
       name = "axios";
       packageName = "axios";
-      version = "1.2.3";
+      version = "1.2.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-1.2.3.tgz";
-        sha512 = "pdDkMYJeuXLZ6Xj/Q5J3Phpe+jbGdsSzlQaFVkMQzRUL05+6+tetX8TV3p4HrU4kzuO9bt+io/yGQxuyxA/xcw==";
+        url = "https://registry.npmjs.org/axios/-/axios-1.2.6.tgz";
+        sha512 = "rC/7F08XxZwjMV4iuWv+JpD3E0Ksqg9nac4IIg6RwNuF0JTeWoCo/mBNG54+tNhhI11G3/VDRbdDQTs9hGp4pQ==";
       };
     };
     "axios-cookiejar-support-0.5.1" = {
@@ -17941,15 +18778,6 @@ let
         sha512 = "Law0PGtRV1JL8Y9Wpzc0d6EE0GD7LzXWCfaeWwboUMcBWNG6gvaWTK1/+BK7a4X5EmeJiGEuDDFxUsOa8RSWCw==";
       };
     };
-    "babel-loader-8.1.0" = {
-      name = "babel-loader";
-      packageName = "babel-loader";
-      version = "8.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz";
-        sha512 = "7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==";
-      };
-    };
     "babel-loader-8.3.0" = {
       name = "babel-loader";
       packageName = "babel-loader";
@@ -18013,13 +18841,13 @@ let
         sha512 = "NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==";
       };
     };
-    "babel-plugin-react-native-web-0.18.10" = {
+    "babel-plugin-react-native-web-0.18.12" = {
       name = "babel-plugin-react-native-web";
       packageName = "babel-plugin-react-native-web";
-      version = "0.18.10";
+      version = "0.18.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.18.10.tgz";
-        sha512 = "2UiwS6G7XKJvpo0X5OFkzGjHGFuNx9J+DgEG8TEmm+X5S0z6EB59W11RDEZghdKzsQzVbs1jB+2VHBuVgjMTiw==";
+        url = "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.18.12.tgz";
+        sha512 = "4djr9G6fMdwQoD6LQ7hOKAm39+y12flWgovAqS1k5O8f42YQ3A1FFMyV5kKfetZuGhZO5BmNmOdRRZQ1TixtDw==";
       };
     };
     "babel-plugin-react-require-3.0.0" = {
@@ -18985,15 +19813,6 @@ let
         sha512 = "5DcLxGUDejgNBYcieMIUfjORtUeNWl828VWLHJGVKZCb4zIS1oOySTUr0LGmcqJBQgTBz3bGbRQla4FgrdQEIQ==";
       };
     };
-    "bitcoinjs-lib-6.0.2" = {
-      name = "bitcoinjs-lib";
-      packageName = "bitcoinjs-lib";
-      version = "6.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-6.0.2.tgz";
-        sha512 = "I994pGt9cL5s5OA6mkv1e8IuYcsKN2ORXnWbkqAXLNGvEnOHBhKBSvCjFl7YC2uVoJnfr/iwq7JMrq575SYO5w==";
-      };
-    };
     "bitcoinjs-lib-6.1.0" = {
       name = "bitcoinjs-lib";
       packageName = "bitcoinjs-lib";
@@ -19354,6 +20173,15 @@ let
         sha512 = "epsm3Z92j5xwek9p97pVw3KbsNc0F4QnbYh+N93SpbJYuHFQQ/UAh6K+bKFGyLePH3Hudtl/Sa95Quqp0gX8IQ==";
       };
     };
+    "bmp-js-0.1.0" = {
+      name = "bmp-js";
+      packageName = "bmp-js";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bmp-js/-/bmp-js-0.1.0.tgz";
+        sha512 = "vHdS19CnY3hwiNdkaqk93DvjVLfbEcI8mys4UjuWrlX1haDmroo8o4xCzh4wD6DGV6HxRCyauwhHRqMTfERtjw==";
+      };
+    };
     "bmutex-0.1.6" = {
       name = "bmutex";
       packageName = "bmutex";
@@ -19525,15 +20353,6 @@ let
         sha512 = "7KQAp+lrtogthZ5UCkqhT3SBfVanGKmBnI4hYdQfcvNcGor4zZdyegUcovf7NmAXhx0c7pc0QiTjkPHFMvQ3mw==";
       };
     };
-    "bolt07-1.8.2" = {
-      name = "bolt07";
-      packageName = "bolt07";
-      version = "1.8.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bolt07/-/bolt07-1.8.2.tgz";
-        sha512 = "jq1b/ZdMambhh+yi+pm+1PJBAnlYvQYljaBgSajvVAINHrHg32ovCBra8d0ADE3BAoj6G/tK7OSV4t/yT9A+/g==";
-      };
-    };
     "bolt07-1.8.3" = {
       name = "bolt07";
       packageName = "bolt07";
@@ -19543,15 +20362,6 @@ let
         sha512 = "NXML2vzFmxRrdWt+wNqphU6f8FmS7tkebqDLIhfc8xKoOcGFv4Kf7WuJbKBqcfFDQVXpCpKAF7FQAgTIN2/30A==";
       };
     };
-    "bolt09-0.2.4" = {
-      name = "bolt09";
-      packageName = "bolt09";
-      version = "0.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bolt09/-/bolt09-0.2.4.tgz";
-        sha512 = "ulNUekEfVhJredkXxP970MrVcrbPbDYyybfagqKFa8J3/4MtkhrX1pR5DjHWeyIujEkFNLbZpo6QF/Og2gXxug==";
-      };
-    };
     "bolt09-0.2.5" = {
       name = "bolt09";
       packageName = "bolt09";
@@ -20110,15 +20920,6 @@ let
         sha512 = "Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==";
       };
     };
-    "browserslist-4.14.2" = {
-      name = "browserslist";
-      packageName = "browserslist";
-      version = "4.14.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.14.2.tgz";
-        sha512 = "HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==";
-      };
-    };
     "browserslist-4.21.4" = {
       name = "browserslist";
       packageName = "browserslist";
@@ -20588,6 +21389,15 @@ let
         sha512 = "bd1dDQhiC+bEbEfg56IdBv7faWa6OipMs/AFFFvtFnB3wAYjlwQpQRZ0pm6ZkgtfL0pILRXhKxOiQj6UzoMR7A==";
       };
     };
+    "bufio-1.2.0" = {
+      name = "bufio";
+      packageName = "bufio";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bufio/-/bufio-1.2.0.tgz";
+        sha512 = "UlFk8z/PwdhYQTXSQQagwGAdtRI83gib2n4uy4rQnenxUM2yQi8lBDzF230BNk+3wAoZDxYRoBwVVUPgHa9MCA==";
+      };
+    };
     "bufrw-1.3.0" = {
       name = "bufrw";
       packageName = "bufrw";
@@ -20732,13 +21542,13 @@ let
         sha512 = "8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==";
       };
     };
-    "bval-0.1.6" = {
+    "bval-0.1.7" = {
       name = "bval";
       packageName = "bval";
-      version = "0.1.6";
+      version = "0.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bval/-/bval-0.1.6.tgz";
-        sha512 = "jxNH9gSx7g749hQtS+nTxXYz/bLxwr4We1RHFkCYalNYcj12RfbW6qYWsKu0RYiKAdFcbNoZRHmWrIuXIyhiQQ==";
+        url = "https://registry.npmjs.org/bval/-/bval-0.1.7.tgz";
+        sha512 = "Ohv+MV7C0xAt5DJ4u681EVCArZ+ybEpz8yPjAozBEZYmR/rp9AX9QJB9PJ0aVlzEodjr3PIKTQrZfaONP8XR9w==";
       };
     };
     "bweb-0.1.12" = {
@@ -21236,15 +22046,6 @@ let
         sha512 = "Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==";
       };
     };
-    "camelcase-7.0.0" = {
-      name = "camelcase";
-      packageName = "camelcase";
-      version = "7.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase/-/camelcase-7.0.0.tgz";
-        sha512 = "JToIvOmz6nhGsUhAYScbo2d6Py5wojjNfoxoc2mEVLUdJ70gJK2gnd+ABY1Tc3sVMyK7QDPtN0T/XdlCQWITyQ==";
-      };
-    };
     "camelcase-7.0.1" = {
       name = "camelcase";
       packageName = "camelcase";
@@ -21326,13 +22127,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30001445" = {
+    "caniuse-lite-1.0.30001449" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001445";
+      version = "1.0.30001449";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001445.tgz";
-        sha512 = "8sdQIdMztYmzfTMO6KfLny878Ln9c2M0fc7EH60IjlP4Dc4PiCy7K2Vl3ITmWgOyPgVQKa5x+UP/KqFsxj4mBg==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001449.tgz";
+        sha512 = "CPB+UL9XMT/Av+pJxCKGhdx+yg1hzplvFJQlJ2n68PyQGMz9L/E2zCyLdOL8uasbouTUgnPl+y0tccI/se+BEw==";
       };
     };
     "canvas-2.11.0" = {
@@ -21344,15 +22145,6 @@ let
         sha512 = "bdTjFexjKJEwtIo0oRx8eD4G2yWoUOXP9lj279jmQ2zMnTQhT8C3512OKz3s+ZOaQlLbE7TuVvRDYDB3Llyy5g==";
       };
     };
-    "canvg-3.0.7" = {
-      name = "canvg";
-      packageName = "canvg";
-      version = "3.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/canvg/-/canvg-3.0.7.tgz";
-        sha512 = "4sq6iL5Q4VOXS3PL1BapiXIZItpxYyANVzsAKpTPS5oq4u3SKbGfUcbZh2gdLCQ3jWpG/y5wRkMlBBAJhXeiZA==";
-      };
-    };
     "capability-0.2.5" = {
       name = "capability";
       packageName = "capability";
@@ -21497,31 +22289,31 @@ let
         sha512 = "eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==";
       };
     };
-    "cdk8s-2.6.22" = {
+    "cdk8s-2.6.32" = {
       name = "cdk8s";
       packageName = "cdk8s";
-      version = "2.6.22";
+      version = "2.6.32";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-2.6.22.tgz";
-        sha512 = "mVeo+zJMJIwbQP/5p8grhxcIpl6Ff59IkOkUyF9JV89zTXD3D5HwoG4VYfhZxjDhgCzftXi31cqmQ8u+8XhgHQ==";
+        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-2.6.32.tgz";
+        sha512 = "JofFfr6+qpFeUiZcVK8NwWdjgz5z4b7ZZrKSwOrbvE2g441X+EEu4F3HfWEt4q68RvdaLkvIAFZki/4k4XEp3A==";
       };
     };
-    "cdk8s-plus-25-2.3.27" = {
+    "cdk8s-plus-25-2.4.3" = {
       name = "cdk8s-plus-25";
       packageName = "cdk8s-plus-25";
-      version = "2.3.27";
+      version = "2.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s-plus-25/-/cdk8s-plus-25-2.3.27.tgz";
-        sha512 = "GKBcvio3iYVYXHTZkH0IaR08omt2M2IdnUpcGnkTrlnxdbkZICRDLVqr1hTw+uq+DgyUSi+ThPy5FgokU00MHQ==";
+        url = "https://registry.npmjs.org/cdk8s-plus-25/-/cdk8s-plus-25-2.4.3.tgz";
+        sha512 = "oD1yQFUpazobHUOOuWOIjng0iKYkB8IGx7w4XIA7Un3jqU2jGqiRT+nEy94KidAMOBjUcJp6GPBDqrTB6K8YoQ==";
       };
     };
-    "cdktf-0.15.0" = {
+    "cdktf-0.15.2" = {
       name = "cdktf";
       packageName = "cdktf";
-      version = "0.15.0";
+      version = "0.15.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdktf/-/cdktf-0.15.0.tgz";
-        sha512 = "Dzv/pfJWTFzxMxjcgI3cttK7hPLy69bUPzcZgUK0sI+k3kY4I67pmxKuXDh1XVK9AX+pCaiZT7wzQbCznTrQkQ==";
+        url = "https://registry.npmjs.org/cdktf/-/cdktf-0.15.2.tgz";
+        sha512 = "1V8u4nMtcgwfHq7V7+a+VkotMDDZUk6JJQ7BKPZyraN7MfiBjkUQUQo9PYJQdRONABFugwyggjy1Aqw8dto7Vw==";
       };
     };
     "center-align-0.1.3" = {
@@ -22316,13 +23108,13 @@ let
         sha512 = "EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==";
       };
     };
-    "clean-css-5.3.1" = {
+    "clean-css-5.3.2" = {
       name = "clean-css";
       packageName = "clean-css";
-      version = "5.3.1";
+      version = "5.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clean-css/-/clean-css-5.3.1.tgz";
-        sha512 = "lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==";
+        url = "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz";
+        sha512 = "JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==";
       };
     };
     "clean-git-ref-2.0.1" = {
@@ -22361,13 +23153,13 @@ let
         sha512 = "LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==";
       };
     };
-    "clean-webpack-plugin-3.0.0" = {
+    "clean-webpack-plugin-4.0.0" = {
       name = "clean-webpack-plugin";
       packageName = "clean-webpack-plugin";
-      version = "3.0.0";
+      version = "4.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-3.0.0.tgz";
-        sha512 = "MciirUH5r+cYLGCOL5JX/ZLzOZbVr1ot3Fw+KcvbhUb6PM+yycqd9ZhIlcigQ5gl+XhppNmw3bEFuaaMNyLj3A==";
+        url = "https://registry.npmjs.org/clean-webpack-plugin/-/clean-webpack-plugin-4.0.0.tgz";
+        sha512 = "WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==";
       };
     };
     "clear-module-4.1.2" = {
@@ -22982,15 +23774,6 @@ let
         sha512 = "2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw==";
       };
     };
-    "cluster-key-slot-1.1.1" = {
-      name = "cluster-key-slot";
-      packageName = "cluster-key-slot";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.1.tgz";
-        sha512 = "rwHwUfXL40Chm1r08yrhU3qpUvdVlgkKNeyeGPOxnW8/SyVDvgRaed/Uz54AqWNaTCAThlj6QAs3TZcKI0xDEw==";
-      };
-    };
     "cluster-key-slot-1.1.2" = {
       name = "cluster-key-slot";
       packageName = "cluster-key-slot";
@@ -24269,13 +25052,13 @@ let
         sha512 = "xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==";
       };
     };
-    "constructs-10.1.223" = {
+    "constructs-10.1.233" = {
       name = "constructs";
       packageName = "constructs";
-      version = "10.1.223";
+      version = "10.1.233";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-10.1.223.tgz";
-        sha512 = "m/+jkHuVZiHmGpEaNwoB3toYdKu/EOd9xVlZ0uYivnWm7uertOPSTXl/Z1f35DXY518ir8X0VBOREAjtIT4F/g==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-10.1.233.tgz";
+        sha512 = "Km1hjAx2e303J5YH64PwTxESrJZG067p3egdneoC4kgr158V9ES+i3roeBTc9hjR0zyM2GEfS6jaVUibEi9VjQ==";
       };
     };
     "consume-http-header-1.0.0" = {
@@ -24810,22 +25593,22 @@ let
         sha512 = "3DdaFaU/Zf1AnpLiFDeNCD4TOWe3Zl2RZaTzUvWiIk5ERzcCodOE20Vqq4fzCbNoHURFHT4/us/Lfq+S2zyY4w==";
       };
     };
-    "copy-webpack-plugin-5.1.2" = {
+    "copy-webpack-plugin-10.2.4" = {
       name = "copy-webpack-plugin";
       packageName = "copy-webpack-plugin";
-      version = "5.1.2";
+      version = "10.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz";
-        sha512 = "Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==";
+        url = "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz";
+        sha512 = "xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==";
       };
     };
-    "copy-webpack-plugin-6.0.4" = {
+    "copy-webpack-plugin-5.1.2" = {
       name = "copy-webpack-plugin";
       packageName = "copy-webpack-plugin";
-      version = "6.0.4";
+      version = "5.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.0.4.tgz";
-        sha512 = "zCazfdYAh3q/O4VzZFiadWGpDA2zTs6FC6D7YTHD6H1J40pzo0H4z22h1NYMCl4ArQP4CK8y/KWqPrJ4rVkZ5A==";
+        url = "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.2.tgz";
+        sha512 = "Uh7crJAco3AjBvgAy9Z75CjK8IG+gxaErro71THQ+vv/bl4HaQcpkexAY8KVW/T6D2W2IRr+couF/knIRkZMIQ==";
       };
     };
     "cordova-app-hello-world-6.0.0" = {
@@ -24891,15 +25674,6 @@ let
         sha512 = "Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==";
       };
     };
-    "core-js-3.25.3" = {
-      name = "core-js";
-      packageName = "core-js";
-      version = "3.25.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.25.3.tgz";
-        sha512 = "y1hvKXmPHvm5B7w4ln1S4uc9eV/O5+iFExSRUimnvIph11uaizFR8LFMdONN8hG3P2pipUfX4Y/fR8rAEtcHcQ==";
-      };
-    };
     "core-js-3.27.1" = {
       name = "core-js";
       packageName = "core-js";
@@ -24909,22 +25683,22 @@ let
         sha512 = "GutwJLBChfGCpwwhbYoqfv03LAfmiz7e7D/BNxzeMxwQf10GRSzqiOjx7AmtEk+heiD/JWmBuyBPgFtx0Sg1ww==";
       };
     };
-    "core-js-compat-3.27.1" = {
-      name = "core-js-compat";
-      packageName = "core-js-compat";
-      version = "3.27.1";
+    "core-js-3.27.2" = {
+      name = "core-js";
+      packageName = "core-js";
+      version = "3.27.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.1.tgz";
-        sha512 = "Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.27.2.tgz";
+        sha512 = "9ashVQskuh5AZEZ1JdQWp1GqSoC1e1G87MzRqg2gIfVAQ7Qn9K+uFj8EcniUFA4P2NLZfV+TOlX1SzoKfo+s7w==";
       };
     };
-    "core-js-pure-3.27.1" = {
-      name = "core-js-pure";
-      packageName = "core-js-pure";
-      version = "3.27.1";
+    "core-js-compat-3.27.2" = {
+      name = "core-js-compat";
+      packageName = "core-js-compat";
+      version = "3.27.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.27.1.tgz";
-        sha512 = "BS2NHgwwUppfeoqOXqi08mUqS5FiZpuRuJJpKsaME7kJz0xxuk0xkhDdfMIlP/zLa80krBqss1LtD7f889heAw==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.27.2.tgz";
+        sha512 = "welaYuF7ZtbYKGrIy7y3eb40d37rG1FvzEOfe7hSLd2iD6duMDqUhRfSvCGyC46HhR6Y8JXXdZ2lnRUMkPBpvg==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -25179,13 +25953,13 @@ let
         sha512 = "gYTKKexFO3kh200H1Nit76sRwRtOY32vQd3jpAQKpLtZqyNsSQNfI4N7o3eP2wUjV35pTWKRYqFUDBvUha/Pkw==";
       };
     };
-    "create-gatsby-3.4.0" = {
+    "create-gatsby-3.5.0" = {
       name = "create-gatsby";
       packageName = "create-gatsby";
-      version = "3.4.0";
+      version = "3.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-gatsby/-/create-gatsby-3.4.0.tgz";
-        sha512 = "WD9WtsXzqa+5vMBF56iiq8IGdJQT7TlWGYLv1qeM5jgK7tCCFxHnzHZ/MnvTnwspeKGRQuFgWpbrnSgD4YyQdA==";
+        url = "https://registry.npmjs.org/create-gatsby/-/create-gatsby-3.5.0.tgz";
+        sha512 = "wRLAkmKlJZNwNqVxXCgayAdvAtUjRKP8vr9ZRt2FYXyqZQmQtzXVDn8aekDlPs720z33HBajAYa+xCvl8pZhDA==";
       };
     };
     "create-graphback-1.0.1" = {
@@ -25674,6 +26448,24 @@ let
         sha512 = "M5lSukoWi1If8dhQAUCvj4H8vUt3vOnwbQBH9DdTm/s4Ym2B/3dPMtYZeJmq7Q3S3Pa+I94DcZ7pc9bP14cWIQ==";
       };
     };
+    "css-loader-6.7.3" = {
+      name = "css-loader";
+      packageName = "css-loader";
+      version = "6.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz";
+        sha512 = "qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==";
+      };
+    };
+    "css-minimizer-webpack-plugin-3.4.1" = {
+      name = "css-minimizer-webpack-plugin";
+      packageName = "css-minimizer-webpack-plugin";
+      version = "3.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz";
+        sha512 = "1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==";
+      };
+    };
     "css-modules-loader-core-1.1.0" = {
       name = "css-modules-loader-core";
       packageName = "css-modules-loader-core";
@@ -26223,13 +27015,13 @@ let
         sha512 = "m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==";
       };
     };
-    "d3-7.8.1" = {
+    "d3-7.8.2" = {
       name = "d3";
       packageName = "d3";
-      version = "7.8.1";
+      version = "7.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/d3/-/d3-7.8.1.tgz";
-        sha512 = "fdipulGWUYTZTxxU9gDJ2P4mpZL2u7Oqe6n2FI95Q8UY0AjbKNYjPHvhLOsvR+HcSao4vo3YYy4Bk9CWOrt1Vw==";
+        url = "https://registry.npmjs.org/d3/-/d3-7.8.2.tgz";
+        sha512 = "WXty7qOGSHb7HR7CfOzwN1Gw04MUOzN8qh9ZUsvwycIMb4DYMpY9xczZ6jUorGtO6bR9BPMPaueIKwiDxu9uiQ==";
       };
     };
     "d3-array-3.1.1" = {
@@ -26241,13 +27033,13 @@ let
         sha512 = "33qQ+ZoZlli19IFiQx4QEpf2CBEayMRzhlisJHSCsSUbDXv6ZishqS1x7uFVClKG4Wr7rZVHvaAttoLow6GqdQ==";
       };
     };
-    "d3-array-3.2.1" = {
+    "d3-array-3.2.2" = {
       name = "d3-array";
       packageName = "d3-array";
-      version = "3.2.1";
+      version = "3.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/d3-array/-/d3-array-3.2.1.tgz";
-        sha512 = "gUY/qeHq/yNqqoCKNq4vtpFLdoCdvyNpWoC/KNjhGbhDuQpAM9sIQQKkXSNpXa9h5KySs/gzm7R88WkUutgwWQ==";
+        url = "https://registry.npmjs.org/d3-array/-/d3-array-3.2.2.tgz";
+        sha512 = "yEEyEAbDrF8C6Ob2myOBLjwBLck1Z89jMGFee0oPsn95GqjerpaOA4ch+vc2l0FNFFwMD5N7OCSEN5eAlsUbgQ==";
       };
     };
     "d3-axis-3.0.0" = {
@@ -27888,6 +28680,15 @@ let
         sha512 = "JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==";
       };
     };
+    "dependency-path-9.2.8" = {
+      name = "dependency-path";
+      packageName = "dependency-path";
+      version = "9.2.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dependency-path/-/dependency-path-9.2.8.tgz";
+        sha512 = "S0OhIK7sIyAsph8hVH/LMCTDL3jozKtlrPx3dMQrlE2nAlXTquTT+AcOufphDMTQqLkfn4acvfiem9I1IWZ4jQ==";
+      };
+    };
     "deprecation-2.3.1" = {
       name = "deprecation";
       packageName = "deprecation";
@@ -28041,15 +28842,6 @@ let
         sha512 = "T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==";
       };
     };
-    "detect-port-alt-1.1.6" = {
-      name = "detect-port-alt";
-      packageName = "detect-port-alt";
-      version = "1.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz";
-        sha512 = "5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==";
-      };
-    };
     "detective-4.7.1" = {
       name = "detective";
       packageName = "detective";
@@ -28077,13 +28869,13 @@ let
         sha512 = "LmVkry/oDShEgSZPNgqCIp2/TlqtExeGmymru3uCELnfyjY11IzpAproLYs+1X88fXO6DBoYP3ul2Xo2yz2j6A==";
       };
     };
-    "devtools-protocol-0.0.1068969" = {
+    "devtools-protocol-0.0.1082910" = {
       name = "devtools-protocol";
       packageName = "devtools-protocol";
-      version = "0.0.1068969";
+      version = "0.0.1082910";
       src = fetchurl {
-        url = "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1068969.tgz";
-        sha512 = "ATFTrPbY1dKYhPPvpjtwWKSK2mIwGmRwX54UASn9THEuIZCe2n9k3vVuMmt6jWeL+e5QaaguEv/pMyR+JQB7VQ==";
+        url = "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1082910.tgz";
+        sha512 = "RqoZ2GmqaNxyx+99L/RemY5CkwG9D0WEfOKxekwCRXOGrDCep62ngezEJUVMq6rISYQ+085fJnWDQqGHlxVNww==";
       };
     };
     "devtools-protocol-0.0.981744" = {
@@ -28230,13 +29022,13 @@ let
         sha512 = "IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==";
       };
     };
-    "diff2html-3.4.29" = {
+    "diff2html-3.4.31" = {
       name = "diff2html";
       packageName = "diff2html";
-      version = "3.4.29";
+      version = "3.4.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/diff2html/-/diff2html-3.4.29.tgz";
-        sha512 = "xS7LQgUEd5ALH9X5TTPP8nnSmaa7mm+cAt5pZE5hSnEEvXSdoYBTStTkLBHOHJu9rZmGXs4jdFRsU8q90VfWkg==";
+        url = "https://registry.npmjs.org/diff2html/-/diff2html-3.4.31.tgz";
+        sha512 = "bgL4kUUChpBqyFykgalwXRXbeW+zCkGmoH4Ftw6+WFP5JccBUJPNMapfX2WDEb+KOLflrE7eJwvb5r8+zutetw==";
       };
     };
     "diff3-0.0.3" = {
@@ -28734,15 +29526,6 @@ let
         sha512 = "eKLdI5v9m67kbXQbJSNn1zjh0SDzvzWVWtX+qEI3eMjZw8daH9k8rlj1FZY9memPwjiskQFbe7vHVVJIAqoEhw==";
       };
     };
-    "domhandler-3.3.0" = {
-      name = "domhandler";
-      packageName = "domhandler";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz";
-        sha512 = "J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==";
-      };
-    };
     "domhandler-4.3.1" = {
       name = "domhandler";
       packageName = "domhandler";
@@ -29564,6 +30347,15 @@ let
         sha512 = "AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==";
       };
     };
+    "encode-registry-3.0.0" = {
+      name = "encode-registry";
+      packageName = "encode-registry";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/encode-registry/-/encode-registry-3.0.0.tgz";
+        sha512 = "2fRYji8K6FwYuQ6EPBKR/J9mcqb7kIoNqt1vGvJr3NrvKfncRiNm00Oxo6gi/YJF8R5Sp2bNFSFdGKTG0rje1Q==";
+      };
+    };
     "encode-utf8-1.0.3" = {
       name = "encode-utf8";
       packageName = "encode-utf8";
@@ -30267,6 +31059,15 @@ let
         sha512 = "x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==";
       };
     };
+    "esbuild-0.16.17" = {
+      name = "esbuild";
+      packageName = "esbuild";
+      version = "0.16.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz";
+        sha512 = "G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==";
+      };
+    };
     "esbuild-android-64-0.14.47" = {
       name = "esbuild-android-64";
       packageName = "esbuild-android-64";
@@ -30996,15 +31797,6 @@ let
         sha512 = "VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==";
       };
     };
-    "eslint-8.28.0" = {
-      name = "eslint";
-      packageName = "eslint";
-      version = "8.28.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-8.28.0.tgz";
-        sha512 = "S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ==";
-      };
-    };
     "eslint-8.32.0" = {
       name = "eslint";
       packageName = "eslint";
@@ -31086,13 +31878,13 @@ let
         sha512 = "63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==";
       };
     };
-    "eslint-plugin-no-unsanitized-4.0.1" = {
+    "eslint-plugin-no-unsanitized-4.0.2" = {
       name = "eslint-plugin-no-unsanitized";
       packageName = "eslint-plugin-no-unsanitized";
-      version = "4.0.1";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-4.0.1.tgz";
-        sha512 = "y/lAMWnPPC7RYuUdxlEL/XiCL8FehN9h9s3Kjqbp/Kv0i9NZs+IXSC2kS546Fa4Bumwy31HlVS/OdWX0Kxb5Xg==";
+        url = "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-4.0.2.tgz";
+        sha512 = "Pry0S9YmHoz8NCEMRQh7N0Yexh2MYCNPIlrV52hTmS7qXnTghWsjXouF08bgsrrZqaW9tt1ZiK3j5NEmPE+EjQ==";
       };
     };
     "eslint-plugin-prettier-3.4.1" = {
@@ -31419,22 +32211,22 @@ let
         sha512 = "MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==";
       };
     };
-    "estree-util-is-identifier-name-2.0.1" = {
+    "estree-util-is-identifier-name-2.1.0" = {
       name = "estree-util-is-identifier-name";
       packageName = "estree-util-is-identifier-name";
-      version = "2.0.1";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.0.1.tgz";
-        sha512 = "rxZj1GkQhY4x1j/CSnybK9cGuMFQYFPLq0iNyopqf14aOVLFtMv7Esika+ObJWPWiOHuMOAHz3YkWoLYYRnzWQ==";
+        url = "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.1.0.tgz";
+        sha512 = "bEN9VHRyXAUOjkKVQVvArFym08BTWB0aJPppZZr0UNyAqWsLaVfAqP7hbaTJjzHifmB5ebnR8Wm7r7yGN/HonQ==";
       };
     };
-    "estree-util-visit-1.2.0" = {
+    "estree-util-visit-1.2.1" = {
       name = "estree-util-visit";
       packageName = "estree-util-visit";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.0.tgz";
-        sha512 = "wdsoqhWueuJKsh5hqLw3j8lwFqNStm92VcwtAOAny8g/KS/l5Y8RISjR4k5W6skCj3Nirag/WUCMS0Nfy3sgsg==";
+        url = "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.1.tgz";
+        sha512 = "xbgqcrkIVbIG+lI/gzbvd9SGTJL4zqJKBFttUl5pP27KhAjtMKbX/mQXJ7qgyXpMgVy/zvpm0xoQQaGL8OloOw==";
       };
     };
     "estree-walker-0.6.1" = {
@@ -31743,15 +32535,6 @@ let
         sha512 = "6hULIO5fmncZ3CVTInnySP/ZC+Sqfdbkrhg79VCp5PMFjZdaGW6vA57qyK6/NRMZOVAbXxfopuGgps+cxHy1Ow==";
       };
     };
-    "eventsource-1.1.2" = {
-      name = "eventsource";
-      packageName = "eventsource";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/eventsource/-/eventsource-1.1.2.tgz";
-        sha512 = "xAH3zWhgO2/3KIniEKYPr8plNSzlGINOUqYj0m0u7AB81iRw8b/3E73W6AuU+6klLbaSFmZnaETQ2lXPfAydrA==";
-      };
-    };
     "eventsource-2.0.2" = {
       name = "eventsource";
       packageName = "eventsource";
@@ -32319,13 +33102,13 @@ let
         sha512 = "ytpHAAOQ/G5Nm7jyyEKzaoGiDhrUGPHeeJfyI2q7jii5dcPCLogf8EyWzSNcxAX8FZy1U6gfGY46SMmEhP3lMw==";
       };
     };
-    "express-validator-6.14.2" = {
+    "express-validator-6.14.3" = {
       name = "express-validator";
       packageName = "express-validator";
-      version = "6.14.2";
+      version = "6.14.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express-validator/-/express-validator-6.14.2.tgz";
-        sha512 = "8XfAUrQ6Y7dIIuy9KcUPCfG/uCbvREctrxf5EeeME+ulanJ4iiW71lWmm9r4YcKKYOCBMan0WpVg7FtHu4Z4Wg==";
+        url = "https://registry.npmjs.org/express-validator/-/express-validator-6.14.3.tgz";
+        sha512 = "c4b9NMdhskfcLbH/FchsSfCt4Vb14gKzcotG9zLS+VoOJDox57aGhCL+kmAu7cl+ytaSed+HD5jdJhel8DQsdg==";
       };
     };
     "express-ws-2.0.0" = {
@@ -32976,15 +33759,6 @@ let
         sha512 = "36frUeNww/TF3mMCSyLMjSy0BLD+ZURrmev6M/Tf1Q+Bu8K1Bk1tHJI9Uf2+di8oxe/38Xzo37Mi4EGaekbrAg==";
       };
     };
-    "faye-websocket-0.10.0" = {
-      name = "faye-websocket";
-      packageName = "faye-websocket";
-      version = "0.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz";
-        sha512 = "Xhj93RXbMSq8urNCUq4p9l0P6hnySJ/7YNRhYNug0bLOuii7pKO7xQFb5mx9xZXWCar88pLPb805PvUkwrLZpQ==";
-      };
-    };
     "faye-websocket-0.11.4" = {
       name = "faye-websocket";
       packageName = "faye-websocket";
@@ -33282,15 +34056,6 @@ let
         sha512 = "aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==";
       };
     };
-    "file-loader-6.0.0" = {
-      name = "file-loader";
-      packageName = "file-loader";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/file-loader/-/file-loader-6.0.0.tgz";
-        sha512 = "/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==";
-      };
-    };
     "file-loader-6.2.0" = {
       name = "file-loader";
       packageName = "file-loader";
@@ -33408,6 +34173,15 @@ let
         sha512 = "qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==";
       };
     };
+    "file-type-9.0.0" = {
+      name = "file-type";
+      packageName = "file-type";
+      version = "9.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/file-type/-/file-type-9.0.0.tgz";
+        sha512 = "Qe/5NJrgIOlwijpq3B7BEpzPFcgzggOTagZmkXQY4LA6bsXKTUstK7Wp12lEJ/mLKTpvIZxmIuRcLYWT6ov9lw==";
+      };
+    };
     "file-uri-to-path-1.0.0" = {
       name = "file-uri-to-path";
       packageName = "file-uri-to-path";
@@ -33498,15 +34272,6 @@ let
         sha512 = "7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==";
       };
     };
-    "filesize-6.1.0" = {
-      name = "filesize";
-      packageName = "filesize";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz";
-        sha512 = "LpCHtPQ3sFx67z+uh2HnSyWSLLu5Jxo21795uRDuar/EOuYWXib5EmPaGIBuSnRqH2IODiKA2k5re/K9OnN/Yg==";
-      };
-    };
     "filesize-6.4.0" = {
       name = "filesize";
       packageName = "filesize";
@@ -33957,13 +34722,13 @@ let
         sha512 = "d+9na7t9FyH8gBJoNDSi28mE4NgQVGGvxQ4aHtFRetjyh5SXjuus+V5EZaxFmFdXVemSOrx0lsgEl/ZMjnOWJA==";
       };
     };
-    "flow-parser-0.197.0" = {
+    "flow-parser-0.198.2" = {
       name = "flow-parser";
       packageName = "flow-parser";
-      version = "0.197.0";
+      version = "0.198.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.197.0.tgz";
-        sha512 = "yhwkJPxH1JBg0aJunk/jVRy5p3UhVZBGkzL1hq/GK+GaBh6bKr2YKkv6gDuiufaw+i3pKWQgOLtD++1cvrgXLA==";
+        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.198.2.tgz";
+        sha512 = "tCQzqXbRAz0ZadIhAXGwdp/xsusADo8IK9idgc/2qCK5RmazbKDGedyykfRtzWgy7Klt4f4NZxq0o/wFUg6plQ==";
       };
     };
     "fluent-ffmpeg-2.1.2" = {
@@ -33975,13 +34740,13 @@ let
         sha512 = "IZTB4kq5GK0DPp7sGQ0q/BWurGHffRtQQwVkiqDgeO6wYJLLV5ZhgNOQ65loZxxuPMKZKZcICCUnaGtlxBiR0Q==";
       };
     };
-    "fluent-syntax-0.13.0" = {
+    "fluent-syntax-0.14.0" = {
       name = "fluent-syntax";
       packageName = "fluent-syntax";
-      version = "0.13.0";
+      version = "0.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fluent-syntax/-/fluent-syntax-0.13.0.tgz";
-        sha512 = "0Bk1AsliuYB550zr4JV9AYhsETsD3ELXUQzdXGJfIc1Ni/ukAfBdQInDhVMYJUaT2QxoamNslwkYF7MlOrPUwg==";
+        url = "https://registry.npmjs.org/fluent-syntax/-/fluent-syntax-0.14.0.tgz";
+        sha512 = "+k8uXWfRpSrE33764RbpjIKMzIX6R9EnSjFBgaA1s0Mboc3KnW9sYe0c6vjIoZQY1C4Gst1VFvAOP6YGJjTJuA==";
       };
     };
     "flumecodec-0.0.0" = {
@@ -34254,15 +35019,6 @@ let
         sha512 = "DuVkPNrM12jR41KM2e+N+styka0EgLkTnXmNcXdgOM37vtGeY+oCBK/Jx0hzSeEU6memFCtWb4htrHPMDfwwUQ==";
       };
     };
-    "fork-ts-checker-webpack-plugin-4.1.6" = {
-      name = "fork-ts-checker-webpack-plugin";
-      packageName = "fork-ts-checker-webpack-plugin";
-      version = "4.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-4.1.6.tgz";
-        sha512 = "DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==";
-      };
-    };
     "fork-ts-checker-webpack-plugin-7.2.14" = {
       name = "fork-ts-checker-webpack-plugin";
       packageName = "fork-ts-checker-webpack-plugin";
@@ -35010,22 +35766,22 @@ let
         sha512 = "w4n9cPWyP7aHxKxYHFQMegj7WIAsL/YX/C4Bs5Rr8s1H9M1rNtRWRsw+ovYMkXDQ5S4ZbYHsHAPmevPjPgw44w==";
       };
     };
-    "gatsby-core-utils-4.4.0" = {
+    "gatsby-core-utils-4.5.0" = {
       name = "gatsby-core-utils";
       packageName = "gatsby-core-utils";
-      version = "4.4.0";
+      version = "4.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-4.4.0.tgz";
-        sha512 = "/ibilcGENKH6qqkcT17SIZgc2kjZn3HiGpD+ixbXYkMGqHiM5pj9XIHjy3DfvZvDt2ujkYV5EinmUdqx7CI81w==";
+        url = "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-4.5.0.tgz";
+        sha512 = "8ckCNXB7iasqLLoBTJLDzXwUcJ/cNUZVHo3+3cyMA9CLc8pfZiXtlp5qaOl0J+Q1qdorfENAnTvNEddXABfIZw==";
       };
     };
-    "gatsby-telemetry-4.4.0" = {
+    "gatsby-telemetry-4.5.0" = {
       name = "gatsby-telemetry";
       packageName = "gatsby-telemetry";
-      version = "4.4.0";
+      version = "4.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-4.4.0.tgz";
-        sha512 = "rcGMNa4fWIQSDqaUYjMXccrtVr71YQNzw01BfDZ6jxnSc7j29tZ8YXZZh+caS9Fc9cdLpQ2UabFcIp5vAtKQqA==";
+        url = "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-4.5.0.tgz";
+        sha512 = "0lus63TNQXjlr4IwCyxtW+m7eP6RkOpzLB+KJ1eohuCTVPFsmxhtr4N1Kjub/Ip0IG1RtzNA0LW0xPg7ykJa7g==";
       };
     };
     "gauge-1.2.7" = {
@@ -35280,13 +36036,13 @@ let
         sha512 = "Qkn9eq6tW5/q9BDVdMpB8tOHljX9OSP0jRC5TRNVA4qRc839t4g8KQaR8t0Uv0EFVL0MlyG7m/ofjEgAROtYsA==";
       };
     };
-    "get-intrinsic-1.1.3" = {
+    "get-intrinsic-1.2.0" = {
       name = "get-intrinsic";
       packageName = "get-intrinsic";
-      version = "1.1.3";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.3.tgz";
-        sha512 = "QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A==";
+        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz";
+        sha512 = "L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==";
       };
     };
     "get-package-info-1.0.0" = {
@@ -35532,6 +36288,15 @@ let
         sha512 = "0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==";
       };
     };
+    "gifwrap-0.9.4" = {
+      name = "gifwrap";
+      packageName = "gifwrap";
+      version = "0.9.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gifwrap/-/gifwrap-0.9.4.tgz";
+        sha512 = "MDMwbhASQuVeD4JKd1fKgNgCRL3fGqMM4WaqpNhWO0JiMOAjbQdumbs4BbBZEy9/M00EHEjKN3HieVhCUlwjeQ==";
+      };
+    };
     "git-clone-0.1.0" = {
       name = "git-clone";
       packageName = "git-clone";
@@ -36154,13 +36919,13 @@ let
         sha512 = "BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==";
       };
     };
-    "globals-13.19.0" = {
+    "globals-13.20.0" = {
       name = "globals";
       packageName = "globals";
-      version = "13.19.0";
+      version = "13.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz";
-        sha512 = "dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==";
+        url = "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz";
+        sha512 = "Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==";
       };
     };
     "globals-9.18.0" = {
@@ -36217,6 +36982,15 @@ let
         sha512 = "jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==";
       };
     };
+    "globby-12.2.0" = {
+      name = "globby";
+      packageName = "globby";
+      version = "12.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globby/-/globby-12.2.0.tgz";
+        sha512 = "wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==";
+      };
+    };
     "globby-13.1.3" = {
       name = "globby";
       packageName = "globby";
@@ -36334,15 +37108,6 @@ let
         sha512 = "YSwLaGMOgSBx9roJlNLL12c+FRiw7VECphinc6mGucphc/ZxTHgdEz6gmJqH6NOzYEd/yr64hwjom5pZ+tJVpg==";
       };
     };
-    "goldengate-12.0.1" = {
-      name = "goldengate";
-      packageName = "goldengate";
-      version = "12.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/goldengate/-/goldengate-12.0.1.tgz";
-        sha512 = "Ku6nujmXs0JWj1/Z6ZLN7Mtq3S4inAW8JSv6EtsNRORCofJ8r8BlwxDDV3EDYfZvOmttc2JbnfGFtcKoXKz/BA==";
-      };
-    };
     "goldengate-12.0.2" = {
       name = "goldengate";
       packageName = "goldengate";
@@ -36613,15 +37378,6 @@ let
         sha512 = "vH2bsdjoJLQ33sZCquG1GyiFyK+Qk8n04NzqHLWTnY9l8lg08AGUyA8ZgeZHdi3I81nrdcGO13V9qYyP6sdshw==";
       };
     };
-    "grammy-1.13.0" = {
-      name = "grammy";
-      packageName = "grammy";
-      version = "1.13.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/grammy/-/grammy-1.13.0.tgz";
-        sha512 = "3C9ClsH05NogyZ68MXGDjS3rsieIWsEfx904CR48cfwG1m8fAgSLRi2HLuZOF6HPMEHsyYFwjtvOU312QcADdw==";
-      };
-    };
     "grammy-1.13.1" = {
       name = "grammy";
       packageName = "grammy";
@@ -36775,13 +37531,13 @@ let
         sha512 = "QUrX7R4htnTBTi83a0IlIilWVfiLEG8ANFlHRcxoZiTvOXTbgan67SUdGe1OlopbDuyNgtcy4ladl3Gvk4C36A==";
       };
     };
-    "graphql-language-service-5.1.0" = {
+    "graphql-language-service-5.1.1" = {
       name = "graphql-language-service";
       packageName = "graphql-language-service";
-      version = "5.1.0";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-language-service/-/graphql-language-service-5.1.0.tgz";
-        sha512 = "APffigZ/l2me6soek+Yq5Us3HBwmfw4vns4QoqsTePXkK3knVO8rn0uAC6PmTyglb1pmFFPbYaRIzW4wmcnnGQ==";
+        url = "https://registry.npmjs.org/graphql-language-service/-/graphql-language-service-5.1.1.tgz";
+        sha512 = "gpaDT9E3+3eWhoqO4C81CGhkzr7Vp2jH/eq+ykoUbgfvMEpqhGTfCeNmrf+S4K/+4WTkAAJBsYT0/ZPZkqe/Hg==";
       };
     };
     "graphql-language-service-interface-2.10.2" = {
@@ -36802,13 +37558,13 @@ let
         sha512 = "duDE+0aeKLFVrb9Kf28U84ZEHhHcvTjWIT6dJbIAQJWBaDoht0D4BK9EIhd94I3DtKRc1JCJb2+70y1lvP/hiA==";
       };
     };
-    "graphql-language-service-server-2.9.4" = {
+    "graphql-language-service-server-2.9.5" = {
       name = "graphql-language-service-server";
       packageName = "graphql-language-service-server";
-      version = "2.9.4";
+      version = "2.9.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-language-service-server/-/graphql-language-service-server-2.9.4.tgz";
-        sha512 = "26PediCh1HWP6vIwiqCCUkh1QzKoLVFeEX79SerI3ETsfCS4RYyFAX4SiiFPLj0JKKM8Xmg7OBjRgiwwa1AdYw==";
+        url = "https://registry.npmjs.org/graphql-language-service-server/-/graphql-language-service-server-2.9.5.tgz";
+        sha512 = "u4X6mgoB5ufp64h9vT5UsFgQZ8GsbIIGLHfr/vndujlVpY+iHml9ea1o8on2c9i1LpB/ILa2zF90pJkBQgASfg==";
       };
     };
     "graphql-language-service-types-1.8.7" = {
@@ -37477,6 +38233,15 @@ let
         sha512 = "WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==";
       };
     };
+    "hash-wasm-4.9.0" = {
+      name = "hash-wasm";
+      packageName = "hash-wasm";
+      version = "4.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hash-wasm/-/hash-wasm-4.9.0.tgz";
+        sha512 = "7SW7ejyfnRxuOc7ptQHSf4LDoZaWOivfzqw+5rpcQku0nHfmicPKE51ra9BiRLAmT8+gGLestr1XroUkqdjL6w==";
+      };
+    };
     "hash.js-1.1.7" = {
       name = "hash.js";
       packageName = "hash.js";
@@ -38278,15 +39043,6 @@ let
         sha512 = "ADd49pudM157uWHwHQPUSX4ssMsvR/yHIswOR5CUfBdK9g9ZYGMhVSE6KZVHJ6kCkR0gH4htsfzU6zECDNVwyw==";
       };
     };
-    "html-loader-1.1.0" = {
-      name = "html-loader";
-      packageName = "html-loader";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-loader/-/html-loader-1.1.0.tgz";
-        sha512 = "zwLbEgy+i7sgIYTlxI9M7jwkn29IvdsV6f1y7a2aLv/w8l1RigVk0PFijBZLLFsdi2gvL8sf2VJhTjLlfnK8sA==";
-      };
-    };
     "html-minifier-3.5.21" = {
       name = "html-minifier";
       packageName = "html-minifier";
@@ -38296,15 +39052,6 @@ let
         sha512 = "LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==";
       };
     };
-    "html-minifier-terser-5.1.1" = {
-      name = "html-minifier-terser";
-      packageName = "html-minifier-terser";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz";
-        sha512 = "ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==";
-      };
-    };
     "html-minifier-terser-6.1.0" = {
       name = "html-minifier-terser";
       packageName = "html-minifier-terser";
@@ -38368,15 +39115,6 @@ let
         sha512 = "Br4ifmjQojUP4EmHnRBoUIYcZ9J7M4bTMcm7u6xoIAIuq2Nte4TzXX0533owvkQKQD1WeMTTTyD4Ni4QKxS0Bg==";
       };
     };
-    "html-webpack-plugin-4.3.0" = {
-      name = "html-webpack-plugin";
-      packageName = "html-webpack-plugin";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.3.0.tgz";
-        sha512 = "C0fzKN8yQoVLTelcJxZfJCE+aAvQiY2VUf3UuKrR4a9k5UMWYOtpDLsaXwATbcVCnI05hUS7L9ULQHWLZhyi3w==";
-      };
-    };
     "html-webpack-plugin-5.5.0" = {
       name = "html-webpack-plugin";
       packageName = "html-webpack-plugin";
@@ -38449,15 +39187,6 @@ let
         sha512 = "hBxEg3CYXe+rPIua8ETe7tmG3XDn9B0edOE/e9wH2nLczxzgdu0m0aNHY+5wFZiviLWLdANPJTssa92dMcXQ5Q==";
       };
     };
-    "htmlparser2-4.1.0" = {
-      name = "htmlparser2";
-      packageName = "htmlparser2";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz";
-        sha512 = "4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==";
-      };
-    };
     "htmlparser2-6.1.0" = {
       name = "htmlparser2";
       packageName = "htmlparser2";
@@ -38521,13 +39250,13 @@ let
         sha512 = "5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==";
       };
     };
-    "http-cache-semantics-4.1.0" = {
+    "http-cache-semantics-4.1.1" = {
       name = "http-cache-semantics";
       packageName = "http-cache-semantics";
-      version = "4.1.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz";
-        sha512 = "carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==";
+        url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz";
+        sha512 = "er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==";
       };
     };
     "http-call-5.3.0" = {
@@ -39106,6 +39835,15 @@ let
         sha512 = "4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==";
       };
     };
+    "icss-utils-5.1.0" = {
+      name = "icss-utils";
+      packageName = "icss-utils";
+      version = "5.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz";
+        sha512 = "soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==";
+      };
+    };
     "idb-keyval-6.2.0" = {
       name = "idb-keyval";
       packageName = "idb-keyval";
@@ -39241,6 +39979,15 @@ let
         sha512 = "BZh721F2Q5TwBdwpiqrBrHEdj8daj8KuMZK/DOCyqQlz1CqFhhuZWbK5ZCUnAvFJr8LaKHTaWl9ja3/a3DC2Ew==";
       };
     };
+    "image-q-4.0.0" = {
+      name = "image-q";
+      packageName = "image-q";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/image-q/-/image-q-4.0.0.tgz";
+        sha512 = "PfJGVgIfKQJuq3s0tTDOKtztksibuUEbJQIYT3by6wctQo+Rdlh7ef4evJ5NCdxY4CfMbvFkocEwbl4BF8RlJw==";
+      };
+    };
     "image-size-0.5.5" = {
       name = "image-size";
       packageName = "image-size";
@@ -39340,22 +40087,13 @@ let
         sha512 = "yM7jo9+hvYgvdCQdqvhCNRRio0SCXc8xDPzA25SvKWa7b1WVPjLwQs1VYU5JPXjcJPTqAa5NP5dqpORGYBQ2AA==";
       };
     };
-    "immer-8.0.1" = {
+    "immer-9.0.19" = {
       name = "immer";
       packageName = "immer";
-      version = "8.0.1";
+      version = "9.0.19";
       src = fetchurl {
-        url = "https://registry.npmjs.org/immer/-/immer-8.0.1.tgz";
-        sha512 = "aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA==";
-      };
-    };
-    "immer-9.0.18" = {
-      name = "immer";
-      packageName = "immer";
-      version = "9.0.18";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/immer/-/immer-9.0.18.tgz";
-        sha512 = "eAPNpsj7Ax1q6Y/3lm2PmlwRcFzpON7HSNQ3ru5WQH1/PSpnyed/HpNOELl2CxLKoj4r+bAHgdyKqW5gc2Se1A==";
+        url = "https://registry.npmjs.org/immer/-/immer-9.0.19.tgz";
+        sha512 = "eY+Y0qcsB4TZKwgQzLaE/lqYMlKhv5J9dyd2RhhtGhNo2njPXDqU9XPfcNfa3MIDsdtZt5KlkIsirlo4dHsWdQ==";
       };
     };
     "immutable-3.8.2" = {
@@ -40231,15 +40969,6 @@ let
         sha512 = "CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==";
       };
     };
-    "invoices-2.2.2" = {
-      name = "invoices";
-      packageName = "invoices";
-      version = "2.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/invoices/-/invoices-2.2.2.tgz";
-        sha512 = "flSBneW7IYRS2K7eVoL6Uemo5LkXkv++6wul8ZBbDz48j3GSGb1pVLdHUo1nvU9+WGNU3/Pqq27r99okyCnHdQ==";
-      };
-    };
     "invoices-2.2.3" = {
       name = "invoices";
       packageName = "invoices";
@@ -40267,13 +40996,13 @@ let
         sha512 = "3GYo0GJtLqgNXj4YhrisLaNNvWSNwSS2wS4OELGfGxH8I69+XfNdnmV1AyN+ZqMh0i7eX+SWjrwFKDBDgfBC1A==";
       };
     };
-    "ioredis-5.2.5" = {
+    "ioredis-5.3.0" = {
       name = "ioredis";
       packageName = "ioredis";
-      version = "5.2.5";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ioredis/-/ioredis-5.2.5.tgz";
-        sha512 = "7HKo/ClM2DGLRXdFq8ruS3Uuadensz4A76wPOU0adqlOqd1qkhoLPDaBhmVhUhNGpB+J65/bhLmNB8DDY99HJQ==";
+        url = "https://registry.npmjs.org/ioredis/-/ioredis-5.3.0.tgz";
+        sha512 = "Id9jKHhsILuIZpHc61QkagfVdUj2Rag5GzG1TGEvRNeM7dtTOjICgjC+tvqYxi//PuX2wjQ+Xjva2ONBuf92Pw==";
       };
     };
     "iota-array-1.0.0" = {
@@ -40465,13 +41194,13 @@ let
         sha512 = "kniTIJmaZYiwa17eTtWIfm0K342seyugl6vuC8DiiyiRAJWAVlLkqGCI0Im0neo0TkXw+pRcKaBPRdcKHnQJ6Q==";
       };
     };
-    "irregular-plurals-3.3.0" = {
+    "irregular-plurals-3.4.0" = {
       name = "irregular-plurals";
       packageName = "irregular-plurals";
-      version = "3.3.0";
+      version = "3.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.3.0.tgz";
-        sha512 = "MVBLKUTangM3EfRPFROhmWQQKRDsrgI83J8GS3jXy+OwYqiR2/aoWndYQ5416jLE3uaGgLH7ncme3X9y09gZ3g==";
+        url = "https://registry.npmjs.org/irregular-plurals/-/irregular-plurals-3.4.0.tgz";
+        sha512 = "YXxECO/W6N9aMBVKMKKZ8TXESgq7EFrp3emCGGUcrYY1cgJIeZjoB75MTu8qi+NAKntS9NwPU8VdcQ3r6E6aWQ==";
       };
     };
     "is-3.3.0" = {
@@ -42544,15 +43273,6 @@ let
         sha512 = "Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==";
       };
     };
-    "jest-worker-26.6.2" = {
-      name = "jest-worker";
-      packageName = "jest-worker";
-      version = "26.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz";
-        sha512 = "KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==";
-      };
-    };
     "jest-worker-27.5.1" = {
       name = "jest-worker";
       packageName = "jest-worker";
@@ -42562,6 +43282,15 @@ let
         sha512 = "7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==";
       };
     };
+    "jimp-0.16.2" = {
+      name = "jimp";
+      packageName = "jimp";
+      version = "0.16.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jimp/-/jimp-0.16.2.tgz";
+        sha512 = "UpItBk81a92f8oEyoGYbO3YK4QcM0hoIyuGHmShoF9Ov63P5Qo7Q/X2xsAgnODmSuDJFOtrPtJd5GSWW4LKdOQ==";
+      };
+    };
     "jimp-compact-0.16.1" = {
       name = "jimp-compact";
       packageName = "jimp-compact";
@@ -42661,13 +43390,13 @@ let
         sha512 = "jnt9OC34sLXMLJ6YfPQ2ZEKrR9mB5ZbSnQb4LPaOx1c5rTzxpR33L18jjp0r75mGGTJmsil3qwN1B5IBeTnSSA==";
       };
     };
-    "jose-4.11.1" = {
+    "jose-4.11.2" = {
       name = "jose";
       packageName = "jose";
-      version = "4.11.1";
+      version = "4.11.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jose/-/jose-4.11.1.tgz";
-        sha512 = "YRv4Tk/Wlug8qicwqFNFVEZSdbROCHRAC6qu/i0dyNKr5JQdoa2pIGoS04lLO/jXQX7Z9omoNewYIVIxqZBd9Q==";
+        url = "https://registry.npmjs.org/jose/-/jose-4.11.2.tgz";
+        sha512 = "njj0VL2TsIxCtgzhO+9RRobBvws4oYyCM8TpvoUQwl/MbIM3NFJRR9+e6x0sS5xXaP1t6OCBkaBME98OV9zU5A==";
       };
     };
     "joycon-3.1.1" = {
@@ -42833,22 +43562,13 @@ let
         sha512 = "efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==";
       };
     };
-    "js-sdsl-4.1.4" = {
-      name = "js-sdsl";
-      packageName = "js-sdsl";
-      version = "4.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.1.4.tgz";
-        sha512 = "Y2/yD55y5jteOAmY50JbUZYwk3CP3wnLPEZnlR1w9oKhITrBEtAxwuWKebFf8hMrPMgbYwFoWK/lH2sBkErELw==";
-      };
-    };
-    "js-sdsl-4.2.0" = {
+    "js-sdsl-4.3.0" = {
       name = "js-sdsl";
       packageName = "js-sdsl";
-      version = "4.2.0";
+      version = "4.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz";
-        sha512 = "dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==";
+        url = "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz";
+        sha512 = "mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==";
       };
     };
     "js-sha256-0.9.0" = {
@@ -43157,13 +43877,13 @@ let
         sha512 = "UrXBaM/7jJldrlDN2aV/vaIurIZJM4ikJtcE/ugSoAuJUW42Hpi0Qd5k9MiSaE/k+KNxRpihS+skRa2TETT3Cg==";
       };
     };
-    "jsii-srcmak-0.1.797" = {
+    "jsii-srcmak-0.1.807" = {
       name = "jsii-srcmak";
       packageName = "jsii-srcmak";
-      version = "0.1.797";
+      version = "0.1.807";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.797.tgz";
-        sha512 = "SF41dMMOlMYWHDrvJ0PgTPzHR+RGxoyUBk+kUaAazE2WaWINLqwFxeT5rbrrXqcYNQ/JiprlrES69TllyWVAVA==";
+        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.807.tgz";
+        sha512 = "K4Sri59N7ckh1jSxjdEG386xmJERx4uJgN2CszTA/w8EFMe9cg1xcTgOKyue2Q674xlhNhQleC1ON0wUv/bu7A==";
       };
     };
     "json-bigint-1.0.0" = {
@@ -43526,22 +44246,13 @@ let
         sha512 = "ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==";
       };
     };
-    "json2csv-5.0.7" = {
-      name = "json2csv";
-      packageName = "json2csv";
-      version = "5.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json2csv/-/json2csv-5.0.7.tgz";
-        sha512 = "YRZbUnyaJZLZUJSRi2G/MqahCyRv9n/ds+4oIetjDF3jWQA7AG7iSeKTiZiCNqtMZM7HDyt0e/W6lEnoGEmMGA==";
-      };
-    };
-    "json2jsii-0.3.247" = {
+    "json2jsii-0.3.257" = {
       name = "json2jsii";
       packageName = "json2jsii";
-      version = "0.3.247";
+      version = "0.3.257";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.3.247.tgz";
-        sha512 = "0TJVNcWTd3dRYT1Zz9thhceNAEYnK/k7TIhwfmyWP1KaqdZq1tvxLOWkBrzQX6rIEXFU7l8EX6u+Y7bWXP/oFA==";
+        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.3.257.tgz";
+        sha512 = "viB1ukEAISc2TQS2uSmyrwLm8TS/zyAhsXwSj2nNC4UU43F+j7MK0SqloosTPiJVGBgB+3iSUDaMy5Rb5BV34g==";
       };
     };
     "json3-3.2.6" = {
@@ -43553,15 +44264,6 @@ let
         sha512 = "KA+GHhYTLTo7Ri4DyjwUgW8kn98AYtVZtBC94qL5yD0ZSYct8/eF8qBmTNyk+gPE578bKeIL4WBq+MUyd1I26g==";
       };
     };
-    "json3-3.3.3" = {
-      name = "json3";
-      packageName = "json3";
-      version = "3.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz";
-        sha512 = "c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==";
-      };
-    };
     "json5-0.5.1" = {
       name = "json5";
       packageName = "json5";
@@ -43931,13 +44633,13 @@ let
         sha512 = "xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==";
       };
     };
-    "jszip-3.7.1" = {
+    "jszip-3.8.0" = {
       name = "jszip";
       packageName = "jszip";
-      version = "3.7.1";
+      version = "3.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jszip/-/jszip-3.7.1.tgz";
-        sha512 = "ghL0tz1XG9ZEmRMcEN2vt7xabrDdqHHeykgARpmZ0BiIctWxM47Vt63ZO2dnp4QYt/xJVLLy5Zv1l/xRdh2byg==";
+        url = "https://registry.npmjs.org/jszip/-/jszip-3.8.0.tgz";
+        sha512 = "cnpQrXvFSLdsR9KR5/x7zdf6c3m8IhZfZzSblFEHSqBaVwD2nvJ4CuCKLyvKvwBgZm08CgfSoiTBQLm5WW9hGw==";
       };
     };
     "junk-1.0.3" = {
@@ -45200,15 +45902,6 @@ let
         sha512 = "BbqAKApLb9ywUli+0a+PcV04SyJ/N1q/8qgCNe6U97KbPCS1BTksEuHFLYdvc8DltuhfxIUBqDZsC0bBGtl3lA==";
       };
     };
-    "lightning-6.8.0" = {
-      name = "lightning";
-      packageName = "lightning";
-      version = "6.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lightning/-/lightning-6.8.0.tgz";
-        sha512 = "HzcRq5n4zkGIXuGefFCoCjKIG/4IbpGESUyKA/+3UvfiGhtrKymRM8zoSFjWRFoaLaosR2P2SuKlrTyMfDmPHg==";
-      };
-    };
     "lightning-7.0.3" = {
       name = "lightning";
       packageName = "lightning";
@@ -45470,13 +46163,13 @@ let
         sha512 = "04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==";
       };
     };
-    "listr2-5.0.6" = {
+    "listr2-5.0.7" = {
       name = "listr2";
       packageName = "listr2";
-      version = "5.0.6";
+      version = "5.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/listr2/-/listr2-5.0.6.tgz";
-        sha512 = "u60KxKBy1BR2uLJNTWNptzWQ1ob/gjMzIJPZffAENzpZqbMZ/5PrXXOomDcevIS/+IB7s1mmCEtSlT2qHWMqag==";
+        url = "https://registry.npmjs.org/listr2/-/listr2-5.0.7.tgz";
+        sha512 = "MD+qXHPmtivrHIDRwPYdfNkrzqDiuaKU/rfBcec3WMyMF3xylQj3jMq344OtvQxz7zaCFViRAeqlr2AFhPvXHw==";
       };
     };
     "livereload-0.9.3" = {
@@ -45515,22 +46208,13 @@ let
         sha512 = "iBA0cb13CobBSoGJLfZgnrykLlfJipDAnvtf+YwIqqzBEsTeQYsXrHaSBkaHd5wCWeabwrNvhjZoFMUrlo+eLw==";
       };
     };
-    "ln-accounting-6.1.2" = {
+    "ln-accounting-6.1.3" = {
       name = "ln-accounting";
       packageName = "ln-accounting";
-      version = "6.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ln-accounting/-/ln-accounting-6.1.2.tgz";
-        sha512 = "fVYvNmwyOzqpxKRhcBV4itOYbGRKtjnml5sbmS6lGsS2ZNDZgmopx4/cxl+ZQG5dO8W7/MlSJD7I5MVmFXOrOw==";
-      };
-    };
-    "ln-service-54.8.0" = {
-      name = "ln-service";
-      packageName = "ln-service";
-      version = "54.8.0";
+      version = "6.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-service/-/ln-service-54.8.0.tgz";
-        sha512 = "QNOek7A5BFKGiHlCYHQfIwhehtRyO/oFndeaSn/11x2cvo461pgJXyu/zQETCb4yhGZUa1v3LU1Lmk4bPqsvyw==";
+        url = "https://registry.npmjs.org/ln-accounting/-/ln-accounting-6.1.3.tgz";
+        sha512 = "8eQvvZb/MiYcRUlg/iIaamWSSTLBpLidLiviqmZ3enpnliW1JIA6pgXsbfyKSWPK3bdzqPuRGnQKQevXsTAybQ==";
       };
     };
     "ln-service-54.9.0" = {
@@ -45542,40 +46226,31 @@ let
         sha512 = "aeuRa5B3EhCJf6RL2m2oTK7luClU90Evhqp9RRWcfxngQZc2BSbw47fav63WaoXwA/o7/3tgy6y/1bCZ5UfzgA==";
       };
     };
-    "ln-sync-4.1.0" = {
-      name = "ln-sync";
-      packageName = "ln-sync";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ln-sync/-/ln-sync-4.1.0.tgz";
-        sha512 = "N02s3tCvlyiTSmhJYoawDLqVmZ63Yk/7k27F+244J8kOorwLNrtAjcy8WHn+YnR44yreAph9xHwacU4Nr+VQuQ==";
-      };
-    };
-    "ln-sync-4.1.1" = {
+    "ln-sync-4.2.0" = {
       name = "ln-sync";
       packageName = "ln-sync";
-      version = "4.1.1";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-sync/-/ln-sync-4.1.1.tgz";
-        sha512 = "Y0XIPFizypuIUNzjwEJMz2eBkgH+7UepCUjwWiVurp61QpLqDNW73dq8/ittFO+mf9bIFqebmTeIiORh0DETFQ==";
+        url = "https://registry.npmjs.org/ln-sync/-/ln-sync-4.2.0.tgz";
+        sha512 = "yRQZ7nQOIa97p4vWeUo8iqGXX0nVMoROqA3PVm29RnW+AgKPk3sXtJ+LUDu+vMNkOauocrGz1vXS61Q+WNLutg==";
       };
     };
-    "ln-sync-4.2.0" = {
+    "ln-sync-4.3.0" = {
       name = "ln-sync";
       packageName = "ln-sync";
-      version = "4.2.0";
+      version = "4.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-sync/-/ln-sync-4.2.0.tgz";
-        sha512 = "yRQZ7nQOIa97p4vWeUo8iqGXX0nVMoROqA3PVm29RnW+AgKPk3sXtJ+LUDu+vMNkOauocrGz1vXS61Q+WNLutg==";
+        url = "https://registry.npmjs.org/ln-sync/-/ln-sync-4.3.0.tgz";
+        sha512 = "DQr68yZBk9QmcSKRJ9Nto6WxB2xjRS2XcUFSQXNDWkM+r9vMFCsqNUFU5IMVt/aLiKnf4PdKQ3mhfrvbH+TMuQ==";
       };
     };
-    "ln-telegram-4.6.0" = {
+    "ln-telegram-4.6.1" = {
       name = "ln-telegram";
       packageName = "ln-telegram";
-      version = "4.6.0";
+      version = "4.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-telegram/-/ln-telegram-4.6.0.tgz";
-        sha512 = "rNnNgYUsXEbkLjX20AwgsAa8JBi5U938/NadOLW4ro+gMdb36TprMe/qDX8jOyoiXRVJs+0re9vdQPbHmXBxVw==";
+        url = "https://registry.npmjs.org/ln-telegram/-/ln-telegram-4.6.1.tgz";
+        sha512 = "0zoS1dDGXKwT2ixtSxfWRJsHdcz7ap+PNoNB5KEB3vKeAR1fuGZAz1kr5lbKXGLK8Y8RaR/S/qK3hV8e5khfkg==";
       };
     };
     "load-bmfont-1.4.1" = {
@@ -45722,15 +46397,6 @@ let
         sha512 = "I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==";
       };
     };
-    "loader-utils-2.0.0" = {
-      name = "loader-utils";
-      packageName = "loader-utils";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz";
-        sha512 = "rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==";
-      };
-    };
     "loader-utils-2.0.4" = {
       name = "loader-utils";
       packageName = "loader-utils";
@@ -48549,13 +49215,13 @@ let
         sha512 = "vTFXtmbbF3rgnTh3Zl3irso4LtvwUq/jaDvT2D1JqTGAwaipcS7RpTxzi6KjoRqI9n2yuAhzLDAC8xVTF3XYVQ==";
       };
     };
-    "mdast-comment-marker-2.1.0" = {
+    "mdast-comment-marker-2.1.1" = {
       name = "mdast-comment-marker";
       packageName = "mdast-comment-marker";
-      version = "2.1.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-comment-marker/-/mdast-comment-marker-2.1.0.tgz";
-        sha512 = "/+Cfm8A83PjkqjQDB9iYqHESGuXlriCWAwRGPJjkYmxXrF4r6saxeUlOKNrf+SogTwg9E8uyHRCFHLG6/BAAdA==";
+        url = "https://registry.npmjs.org/mdast-comment-marker/-/mdast-comment-marker-2.1.1.tgz";
+        sha512 = "ktFfySmbRfOPiWoLkRKqkkyYkDnBVX5b5FqXwnvV1TmgVOl49ETsYK4hPKqrlM15y7AtxNDKIKwJRkZa3TWkng==";
       };
     };
     "mdast-util-compact-2.0.1" = {
@@ -48576,13 +49242,13 @@ let
         sha512 = "9cKl33Y21lyckGzpSmEQnIDjEfeeWelN5s1kUW1LwdB0Fkuq2u+4GdqcGEygYxJE8GVqCl0741bYXHgamfWAZA==";
       };
     };
-    "mdast-util-find-and-replace-2.2.1" = {
+    "mdast-util-find-and-replace-2.2.2" = {
       name = "mdast-util-find-and-replace";
       packageName = "mdast-util-find-and-replace";
-      version = "2.2.1";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.1.tgz";
-        sha512 = "SobxkQXFAdd4b5WmEakmkVoh18icjQRxGy5OWTCzgsLRm1Fu/KCtwD1HIQSsmq5ZRjVH0Ehwg6/Fn3xIUk+nKw==";
+        url = "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz";
+        sha512 = "MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==";
       };
     };
     "mdast-util-footnote-0.1.7" = {
@@ -48603,13 +49269,13 @@ let
         sha512 = "2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==";
       };
     };
-    "mdast-util-from-markdown-1.2.0" = {
+    "mdast-util-from-markdown-1.3.0" = {
       name = "mdast-util-from-markdown";
       packageName = "mdast-util-from-markdown";
-      version = "1.2.0";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz";
-        sha512 = "iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==";
+        url = "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz";
+        sha512 = "HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==";
       };
     };
     "mdast-util-frontmatter-0.2.0" = {
@@ -48621,13 +49287,13 @@ let
         sha512 = "FHKL4w4S5fdt1KjJCwB0178WJ0evnyyQr5kXTM3wrOVpytD0hrkvd+AOOjU9Td8onOejCkmZ+HQRT3CZ3coHHQ==";
       };
     };
-    "mdast-util-frontmatter-1.0.0" = {
+    "mdast-util-frontmatter-1.0.1" = {
       name = "mdast-util-frontmatter";
       packageName = "mdast-util-frontmatter";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-1.0.0.tgz";
-        sha512 = "7itKvp0arEVNpCktOET/eLFAYaZ+0cNjVtFtIPxgQ5tV+3i+D4SDDTjTzPWl44LT59PC+xdx+glNTawBdF98Mw==";
+        url = "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-1.0.1.tgz";
+        sha512 = "JjA2OjxRqAa8wEG8hloD0uTU0kdn8kbtOWpPP94NBkfAlbxn4S8gCGf/9DwFtEeGPXrDcNXdiDjVaRdUFqYokw==";
       };
     };
     "mdast-util-gfm-0.1.2" = {
@@ -48666,13 +49332,13 @@ let
         sha512 = "FzopkOd4xTTBeGXhXSBU0OCDDh5lUj2rd+HQqG92Ld+jL4lpUfgX2AT2OHAVP9aEeDKp7G92fuooSZcYJA3cRg==";
       };
     };
-    "mdast-util-gfm-footnote-1.0.1" = {
+    "mdast-util-gfm-footnote-1.0.2" = {
       name = "mdast-util-gfm-footnote";
       packageName = "mdast-util-gfm-footnote";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.1.tgz";
-        sha512 = "p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw==";
+        url = "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz";
+        sha512 = "56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==";
       };
     };
     "mdast-util-gfm-strikethrough-0.2.3" = {
@@ -48720,13 +49386,13 @@ let
         sha512 = "/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==";
       };
     };
-    "mdast-util-gfm-task-list-item-1.0.1" = {
+    "mdast-util-gfm-task-list-item-1.0.2" = {
       name = "mdast-util-gfm-task-list-item";
       packageName = "mdast-util-gfm-task-list-item";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.1.tgz";
-        sha512 = "KZ4KLmPdABXOsfnM6JHUIjxEvcx2ulk656Z/4Balw071/5qgnhz+H1uGtf2zIGnrnvDC8xR4Fj9uKbjAFGNIeA==";
+        url = "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz";
+        sha512 = "PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==";
       };
     };
     "mdast-util-heading-style-1.0.6" = {
@@ -48774,13 +49440,13 @@ let
         sha512 = "7N5ihsOkAEGjFotIX9p/YPdl4TqUoMxL4ajNz7PbT89BqsdWJuBC9rvgt6wpbwTZqWWR0jKWqQbwsOWDBUZv4g==";
       };
     };
-    "mdast-util-phrasing-3.0.0" = {
+    "mdast-util-phrasing-3.0.1" = {
       name = "mdast-util-phrasing";
       packageName = "mdast-util-phrasing";
-      version = "3.0.0";
+      version = "3.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.0.tgz";
-        sha512 = "S+QYsDRLkGi8U7o5JF1agKa/sdP+CNGXXLqC17pdTVL8FHHgQEiwFGa9yE5aYtUxNiFGYoaDy9V1kC85Sz86Gg==";
+        url = "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz";
+        sha512 = "WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==";
       };
     };
     "mdast-util-to-markdown-0.6.5" = {
@@ -48837,13 +49503,13 @@ let
         sha512 = "AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==";
       };
     };
-    "mdast-util-to-string-3.1.0" = {
+    "mdast-util-to-string-3.1.1" = {
       name = "mdast-util-to-string";
       packageName = "mdast-util-to-string";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz";
-        sha512 = "n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==";
+        url = "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.1.tgz";
+        sha512 = "tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA==";
       };
     };
     "mdmanifest-1.0.8" = {
@@ -48990,6 +49656,15 @@ let
         sha512 = "Ci6bIfq/UgcxPTYa8dQQ5FY3BzKkT894bwXWXxC/zqs0XgMO2cT20CGkOqda7gZNkmK5VP4x89IGZ6K7hfbn3Q==";
       };
     };
+    "mem-8.1.1" = {
+      name = "mem";
+      packageName = "mem";
+      version = "8.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mem/-/mem-8.1.1.tgz";
+        sha512 = "qFCFUDs7U3b8mBDPyz5EToEKoAkgCzqquIgi9nkkR9bixxOVOre+09lbuH7+9Kn2NFpm56M3GUWVbU2hQgdACA==";
+      };
+    };
     "mem-fs-2.2.1" = {
       name = "mem-fs";
       packageName = "mem-fs";
@@ -48999,13 +49674,13 @@ let
         sha512 = "yiAivd4xFOH/WXlUi6v/nKopBh1QLzwjFi36NK88cGt/PRXI8WeBASqY+YSjIVWvQTx3hR8zHKDBMV6hWmglNA==";
       };
     };
-    "mem-fs-editor-9.5.0" = {
+    "mem-fs-editor-9.6.0" = {
       name = "mem-fs-editor";
       packageName = "mem-fs-editor";
-      version = "9.5.0";
+      version = "9.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-9.5.0.tgz";
-        sha512 = "7p+bBDqsSisO20YIZf2ntYvST27fFJINn7CKE21XdPUQDcLV62b/yB5sTOooQeEoiZ3rldZQ+4RfONgL/gbRoA==";
+        url = "https://registry.npmjs.org/mem-fs-editor/-/mem-fs-editor-9.6.0.tgz";
+        sha512 = "CsuAd+s0UPZnGzm3kQ5X7gGmVmwiX9XXRAmXj9Mbq0CJa8YWUkPqneelp0aG2g+7uiwCBHlJbl30FYtToLT3VQ==";
       };
     };
     "memfs-3.4.13" = {
@@ -49548,13 +50223,13 @@ let
         sha512 = "PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==";
       };
     };
-    "micromark-extension-mdx-expression-1.0.3" = {
+    "micromark-extension-mdx-expression-1.0.4" = {
       name = "micromark-extension-mdx-expression";
       packageName = "micromark-extension-mdx-expression";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.3.tgz";
-        sha512 = "TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA==";
+        url = "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.4.tgz";
+        sha512 = "TCgLxqW6ReQ3AJgtj1P0P+8ZThBTloLbeb7jNaqr6mCOLDpxUiBFE/9STgooMZttEwOQu5iEcCCa3ZSDhY9FGw==";
       };
     };
     "micromark-extension-mdx-jsx-1.0.3" = {
@@ -49611,13 +50286,13 @@ let
         sha512 = "CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==";
       };
     };
-    "micromark-factory-mdx-expression-1.0.6" = {
+    "micromark-factory-mdx-expression-1.0.7" = {
       name = "micromark-factory-mdx-expression";
       packageName = "micromark-factory-mdx-expression";
-      version = "1.0.6";
+      version = "1.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.6.tgz";
-        sha512 = "WRQIc78FV7KrCfjsEf/sETopbYjElh3xAmNpLkd1ODPqxEngP42eVRGbiPEQWpRV27LzqW+XVTvQAMIIRLPnNA==";
+        url = "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.7.tgz";
+        sha512 = "QAdFbkQagTZ/eKb8zDGqmjvgevgJH3+aQpvvKrXWxNJp3o8/l2cAbbrBd0E04r0Gx6nssPpqWIjnbHFvZu5qsQ==";
       };
     };
     "micromark-factory-space-1.0.0" = {
@@ -49710,13 +50385,13 @@ let
         sha512 = "U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==";
       };
     };
-    "micromark-util-events-to-acorn-1.2.0" = {
+    "micromark-util-events-to-acorn-1.2.1" = {
       name = "micromark-util-events-to-acorn";
       packageName = "micromark-util-events-to-acorn";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.0.tgz";
-        sha512 = "WWp3bf7xT9MppNuw3yPjpnOxa8cj5ACivEzXJKu0WwnjBYfzaBvIAT9KfeyI0Qkll+bfQtfftSwdgTH6QhTOKw==";
+        url = "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.1.tgz";
+        sha512 = "mkg3BaWlw6ZTkQORrKVBW4o9ICXPxLtGz51vml5mQpKFdo9vqIX68CAx5JhTOdjQyAHH7JFmm4rh8toSPQZUmg==";
       };
     };
     "micromark-util-html-tag-name-1.1.0" = {
@@ -50106,22 +50781,22 @@ let
         sha512 = "I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==";
       };
     };
-    "mini-css-extract-plugin-0.5.0" = {
+    "mini-css-extract-plugin-0.9.0" = {
       name = "mini-css-extract-plugin";
       packageName = "mini-css-extract-plugin";
-      version = "0.5.0";
+      version = "0.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.5.0.tgz";
-        sha512 = "IuaLjruM0vMKhUUT51fQdQzBYTX49dLj8w68ALEAe2A4iYNpIC4eMac67mt3NzycvjOlf07/kYxJDc0RTl1Wqw==";
+        url = "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz";
+        sha512 = "lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==";
       };
     };
-    "mini-css-extract-plugin-0.9.0" = {
+    "mini-css-extract-plugin-2.7.2" = {
       name = "mini-css-extract-plugin";
       packageName = "mini-css-extract-plugin";
-      version = "0.9.0";
+      version = "2.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz";
-        sha512 = "lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==";
+        url = "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz";
+        sha512 = "EdlUizq13o0Pd+uCp+WO/JpkLvHRVGt97RqfeGhXqAcorYo1ypJSpkV+WDT0vY/kmh/p7wRdJNJtuyK540PXDw==";
       };
     };
     "mini-svg-data-uri-1.4.4" = {
@@ -50601,6 +51276,15 @@ let
         sha512 = "vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==";
       };
     };
+    "mkdirp-2.1.3" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "2.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.3.tgz";
+        sha512 = "sjAkg21peAG9HS+Dkx7hlG9Ztx7HLeKnvB3NQRcu/mltCVmvkF0pisbiTSfDVYTT86XEfZrTUosLdZLStquZUw==";
+      };
+    };
     "mkdirp-classic-0.5.3" = {
       name = "mkdirp-classic";
       packageName = "mkdirp-classic";
@@ -51033,13 +51717,13 @@ let
         sha512 = "VoY2AaoowHZLLKyEb5FRzuhdSzXn5quGjcMKJOJHJPxp9baYZx5t6jiHUhp5aNRlqqlt+5GXQGovMLNKsrm1hg==";
       };
     };
-    "msgpackr-1.8.1" = {
+    "msgpackr-1.8.2" = {
       name = "msgpackr";
       packageName = "msgpackr";
-      version = "1.8.1";
+      version = "1.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/msgpackr/-/msgpackr-1.8.1.tgz";
-        sha512 = "05fT4J8ZqjYlR4QcRDIhLCYKUOHXk7C/xa62GzMKj74l3up9k2QZ3LgFc6qWdsPHl91QA2WLWqWc8b8t7GLNNw==";
+        url = "https://registry.npmjs.org/msgpackr/-/msgpackr-1.8.2.tgz";
+        sha512 = "eLuPeok0DMwsGN23AvuVg32mYpx55tsQnxI87d8V1yZsdT8U5jrWhmCa1INO/joGAFQFfo/eTlM/BxVwLKbBOQ==";
       };
     };
     "msgpackr-extract-2.2.0" = {
@@ -51051,13 +51735,13 @@ let
         sha512 = "0YcvWSv7ZOGl9Od6Y5iJ3XnPww8O7WLcpYMDwX+PAA/uXLDtyw94PJv9GLQV/nnp3cWlDhMoyKZIQLrx33sWog==";
       };
     };
-    "mssql-9.1.0" = {
+    "mssql-9.1.1" = {
       name = "mssql";
       packageName = "mssql";
-      version = "9.1.0";
+      version = "9.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mssql/-/mssql-9.1.0.tgz";
-        sha512 = "rAsD7xfOkzSUqmNMoWX9YT43QfxbabIbrhEuf/PGRCzhWCzwHf25jxNgaoAwqT7vcb5/1irDCi6l6DG05ZGEEQ==";
+        url = "https://registry.npmjs.org/mssql/-/mssql-9.1.1.tgz";
+        sha512 = "m0yTx9xzUtTvJpWJHqknUXUDPRnJXZYOOFNygnNIXn1PBkLsC/rkXQdquObd+M0ZPlBhGC00Jg28zG0wCl7VWg==";
       };
     };
     "multer-1.4.3" = {
@@ -52159,13 +52843,13 @@ let
         sha512 = "R+1OJEmRl3ZOp9d8PbiRxGpnvmpi3jU+lzSqCJoLeogdEh0FYDRH1aC223qUbaKffxNTJkEfeDOeQfziw749yA==";
       };
     };
-    "nlcst-is-literal-2.1.0" = {
+    "nlcst-is-literal-2.1.1" = {
       name = "nlcst-is-literal";
       packageName = "nlcst-is-literal";
-      version = "2.1.0";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nlcst-is-literal/-/nlcst-is-literal-2.1.0.tgz";
-        sha512 = "jaEIXvIreWx4lfkRa+B3toTTxQgDxnECncbEQVSUVfRWxamQFbRHgxyfrt0aMnuoq5AMd3CQHl5SHGGruOUOdQ==";
+        url = "https://registry.npmjs.org/nlcst-is-literal/-/nlcst-is-literal-2.1.1.tgz";
+        sha512 = "/PyEKNHN+SrcrmnZRwszzZYbvZSN2AVD506+rfMUzyFHB0PtUmqZOdUuXmQxQeZXv6o29pT5chLjQJdC9weOCQ==";
       };
     };
     "nlcst-normalize-2.1.5" = {
@@ -52177,13 +52861,13 @@ let
         sha512 = "xSqTKv8IHIy3n/orD7wj81BZljLfbrTot0Pv64MYUnQUXfDbi1xDSpJR4qEmbFWyFoHsmivcOdgrK+o7ky3mcw==";
       };
     };
-    "nlcst-normalize-3.1.0" = {
+    "nlcst-normalize-3.1.1" = {
       name = "nlcst-normalize";
       packageName = "nlcst-normalize";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nlcst-normalize/-/nlcst-normalize-3.1.0.tgz";
-        sha512 = "kRWfUwtffmU26wPAJ25St5rec29PhV8F6dKaa7PxGhH3uytsGakfLyOEEm1mULzWOdfyDb03aE+OKp7h0OJuhA==";
+        url = "https://registry.npmjs.org/nlcst-normalize/-/nlcst-normalize-3.1.1.tgz";
+        sha512 = "Fz6DhC0dmsuqilkz0viOScT+u9UGjgUpSrzo6yOZlcQ24F/m2BuoVF72KUOKZ06dRUeWyPpCSMxI5ONop9Qptw==";
       };
     };
     "nlcst-search-2.0.0" = {
@@ -52195,13 +52879,13 @@ let
         sha512 = "+3xdctMFTcG+76vKAa0wObNg1EYq7IIQlZcL+HxSFXkHO1DgSPRjsPJrmelVIvMg7rk+wmBcdPEoScv/CTT1Zw==";
       };
     };
-    "nlcst-search-3.1.0" = {
+    "nlcst-search-3.1.1" = {
       name = "nlcst-search";
       packageName = "nlcst-search";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nlcst-search/-/nlcst-search-3.1.0.tgz";
-        sha512 = "d+0fXxF0d5oFAeeyuoGbIYcbiixE9Xt/lsmt491jjPyabXRoIRBE0++U+G8kbDyJFRk1bMQnGFpMCzeoMlDYfQ==";
+        url = "https://registry.npmjs.org/nlcst-search/-/nlcst-search-3.1.1.tgz";
+        sha512 = "0KsxSqFzSYWVDTo/SPde0RYf5LVmW1eAje8rbRJm+Lev1NzrWj2bIwtXfwGvfPbCi2ABsTV8bqmGAiF/EVqVWA==";
       };
     };
     "nlcst-to-string-2.0.4" = {
@@ -52213,13 +52897,13 @@ let
         sha512 = "3x3jwTd6UPG7vi5k4GEzvxJ5rDA7hVUIRNHPblKuMVP9Z3xmlsd9cgLcpAMkc5uPOBna82EeshROFhsPkbnTZg==";
       };
     };
-    "nlcst-to-string-3.1.0" = {
+    "nlcst-to-string-3.1.1" = {
       name = "nlcst-to-string";
       packageName = "nlcst-to-string";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-3.1.0.tgz";
-        sha512 = "Y8HQWKw/zrHTCnu2zcFBN1dV6vN0NUG7s5fkEj380G8tF3R+vA2KG+tDl2QoHVQCTHGHVXwoni2RQkDSFQb1PA==";
+        url = "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-3.1.1.tgz";
+        sha512 = "63mVyqaqt0cmn2VcI2aH6kxe1rLAmSROqHMA0i4qqg1tidkfExgpb0FGMikMCn86mw5dFtBtEANfmSSK7TjNHw==";
       };
     };
     "no-case-2.3.2" = {
@@ -52267,13 +52951,13 @@ let
         sha512 = "eSKV6s+APenqVh8ubJyiu/YhZgxQpGP66ntzUb3lY1xB9ukSRaGnx0AIxI+IM+1+IVYC1oWobgG5L3Lt9ARykQ==";
       };
     };
-    "node-abort-controller-3.0.1" = {
+    "node-abort-controller-3.1.1" = {
       name = "node-abort-controller";
       packageName = "node-abort-controller";
-      version = "3.0.1";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.0.1.tgz";
-        sha512 = "/ujIVxthRs+7q6hsdjHMaj8hRG9NuWmwrz+JdRwZ14jdFoKSkm+vDsCbF9PLpnSqjaWQJuTmVtcWHNLr+vrOFw==";
+        url = "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz";
+        sha512 = "AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==";
       };
     };
     "node-addon-api-1.7.2" = {
@@ -52627,13 +53311,13 @@ let
         sha512 = "qhCyQqrPpP93F/6Wc/xUR7L8mAJW0Z6R7HMQV8jCHHksAxNDe/4z4Un/H9CpLOT+5K39OPyt9tIQlavxWES3lg==";
       };
     };
-    "node-html-parser-1.4.9" = {
+    "node-html-parser-5.4.2" = {
       name = "node-html-parser";
       packageName = "node-html-parser";
-      version = "1.4.9";
+      version = "5.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-html-parser/-/node-html-parser-1.4.9.tgz";
-        sha512 = "UVcirFD1Bn0O+TSmloHeHqZZCxHjvtIeGdVdGMhyZ8/PWlEiZaZ5iJzR189yKZr8p0FXN58BUeC7RHRkf/KYGw==";
+        url = "https://registry.npmjs.org/node-html-parser/-/node-html-parser-5.4.2.tgz";
+        sha512 = "RaBPP3+51hPne/OolXxcz89iYvQvKOydaqoePpOgXcrOKZhjVIzmpKZz+Hd/RBO2/zN2q6CNJhQzucVz+u3Jyw==";
       };
     };
     "node-int64-0.4.0" = {
@@ -52780,15 +53464,6 @@ let
         sha512 = "1J1tcV+zkCIy24n0rcJ/DSPSCziEgLGld+QBYk1rNESIo+gFyL5RMkCOcII2IrBTZF/kcDTElepMTCILXbMDfQ==";
       };
     };
-    "node-releases-1.1.77" = {
-      name = "node-releases";
-      packageName = "node-releases";
-      version = "1.1.77";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-1.1.77.tgz";
-        sha512 = "rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==";
-      };
-    };
     "node-releases-2.0.8" = {
       name = "node-releases";
       packageName = "node-releases";
@@ -53797,13 +54472,13 @@ let
         sha512 = "Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==";
       };
     };
-    "number-allocator-1.0.12" = {
+    "number-allocator-1.0.14" = {
       name = "number-allocator";
       packageName = "number-allocator";
-      version = "1.0.12";
+      version = "1.0.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/number-allocator/-/number-allocator-1.0.12.tgz";
-        sha512 = "sGB0qoQGmKimery9JubBQ9pQUr1V/LixJAk3Ygp7obZf6mpSXime8d7XHEobbIimkdZpgjkNlLt6G7LPEWFYWg==";
+        url = "https://registry.npmjs.org/number-allocator/-/number-allocator-1.0.14.tgz";
+        sha512 = "OrL44UTVAvkKdOdRQZIJpLkAdjXGTRda052sN4sO77bKEzYYqWKMBjQvrJFzqygI99gL6Z4u2xctPW1tB8ErvA==";
       };
     };
     "number-is-nan-1.0.1" = {
@@ -53869,13 +54544,13 @@ let
         sha512 = "90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==";
       };
     };
-    "nx-15.5.2" = {
+    "nx-15.6.3" = {
       name = "nx";
       packageName = "nx";
-      version = "15.5.2";
+      version = "15.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nx/-/nx-15.5.2.tgz";
-        sha512 = "jo8DG7zt0EorKL6AihkoshaeiFkK25NOeGUEnF05BFCaqsIoS9s3uctrOumh2G9DhaGMEWzakc3kF4/LeLB9pg==";
+        url = "https://registry.npmjs.org/nx/-/nx-15.6.3.tgz";
+        sha512 = "3t0A0GPLNen1yPAyE+VGZ3nkAzZYb5nfXtAcx8SHBlKq4u42yBY3khBmP1y4Og3jhIwFIj7J7Npeh8ZKrthmYQ==";
       };
     };
     "nyc-15.1.0" = {
@@ -55247,22 +55922,22 @@ let
         sha512 = "0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==";
       };
     };
-    "ot-builder-1.5.5" = {
+    "ot-builder-1.6.1" = {
       name = "ot-builder";
       packageName = "ot-builder";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ot-builder/-/ot-builder-1.5.5.tgz";
-        sha512 = "LRzFRcx8+33inNTAcyxHY9vS1mp17VMIU0DUW2aPZmIEYLvOGYrL2oQl0ePESg+QB0/D40GbQB7oO9Hi8fjJpA==";
+        url = "https://registry.npmjs.org/ot-builder/-/ot-builder-1.6.1.tgz";
+        sha512 = "08u12lm5A2S9c16/QTHs/ZvsZhQQe8BQEkSdU1D/u9gpKccBV1jadJNJHXfkZA7N/Y1Yn0dlh274J35YHX1RNQ==";
       };
     };
-    "otb-ttc-bundle-1.5.5" = {
+    "otb-ttc-bundle-1.6.1" = {
       name = "otb-ttc-bundle";
       packageName = "otb-ttc-bundle";
-      version = "1.5.5";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/otb-ttc-bundle/-/otb-ttc-bundle-1.5.5.tgz";
-        sha512 = "BG36gFUPVBYhM4cgsHrTBQYU+7wuV98rwjNHLBTCXaXK3lU9P1lM2mE7l1o/sG2tx9OxWwNUupE8/N+usyTnpw==";
+        url = "https://registry.npmjs.org/otb-ttc-bundle/-/otb-ttc-bundle-1.6.1.tgz";
+        sha512 = "UN/85A4UWU6w1fkzpLwN60nh6bxCcg8E8gtz+yhOmjOQEhZ8g40rQG2mqqoy7Dubkc1kzsehtzCjKrhzp+YWLA==";
       };
     };
     "ow-0.21.0" = {
@@ -55949,15 +56624,6 @@ let
         sha512 = "8EKVBxCRSvLnsX1p2LlSFSH3c2/wuhY9/BXXWu8boL78FbVKqn2L5SpURt1x5iw6Gq8PTqJ7MdPoe5nCtX3I+g==";
       };
     };
-    "paid-services-4.2.1" = {
-      name = "paid-services";
-      packageName = "paid-services";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/paid-services/-/paid-services-4.2.1.tgz";
-        sha512 = "XguuYsT5jQ9QZPLeS/OrUnodpawCFf79oRB033synxe2RvZYIs8QH52PuPPqwT+dyHR8KvuI9QcdZayLVYOE+A==";
-      };
-    };
     "paid-services-4.3.0" = {
       name = "paid-services";
       packageName = "paid-services";
@@ -56336,15 +57002,6 @@ let
         sha512 = "Eg1OuNntBMH0ojvEKSrvDSnwLmvVuUOSdylH/pSCPNMIspLlweJyIWXCE+k/5hm3cj/EBUYwmWkjhBALNP4LXQ==";
       };
     };
-    "parse-srcset-1.0.2" = {
-      name = "parse-srcset";
-      packageName = "parse-srcset";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-srcset/-/parse-srcset-1.0.2.tgz";
-        sha512 = "/2qh0lav6CmI15FzA3i/2Bzk2zCgQhGMkvhOhKNcBVQ1ldgpbfiNTVslmooUmWJcADi1f1kIeynbDRVzNlfR6Q==";
-      };
-    };
     "parse-torrent-4.1.0" = {
       name = "parse-torrent";
       packageName = "parse-torrent";
@@ -57110,13 +57767,13 @@ let
         sha512 = "7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==";
       };
     };
-    "pg-8.8.0" = {
+    "pg-8.9.0" = {
       name = "pg";
       packageName = "pg";
-      version = "8.8.0";
+      version = "8.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg/-/pg-8.8.0.tgz";
-        sha512 = "UXYN0ziKj+AeNNP7VDMwrehpACThH7LUl/p8TDFpEUuSejCUIwGSfxpHsPvtM6/WXFy6SU4E5RG4IJV/TZAGjw==";
+        url = "https://registry.npmjs.org/pg/-/pg-8.9.0.tgz";
+        sha512 = "ZJM+qkEbtOHRuXjmvBtOgNOXOtLSbxiMiUVMgE4rV6Zwocy03RicCVvDXgx8l4Biwo8/qORUnEqn2fdQzV7KCg==";
       };
     };
     "pg-connection-string-2.5.0" = {
@@ -57128,13 +57785,13 @@ let
         sha512 = "r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==";
       };
     };
-    "pg-cursor-2.7.4" = {
+    "pg-cursor-2.8.0" = {
       name = "pg-cursor";
       packageName = "pg-cursor";
-      version = "2.7.4";
+      version = "2.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-cursor/-/pg-cursor-2.7.4.tgz";
-        sha512 = "CNWwOzTTZ9QvphoOL+Wg/7pmVr9GnAWBjPbuK2FRclrB4A/WRO/ssCJ9BlkzIGmmofK2M/LyokNHgsLSn+fMHA==";
+        url = "https://registry.npmjs.org/pg-cursor/-/pg-cursor-2.8.0.tgz";
+        sha512 = "LrOaEHK+R1C40e+xeri3FTRY/VKp9uTOCVsKtGB7LJ57qbeaphYvWjbVly8AesdT1GfHXYcAnVdExKhW7DKOvA==";
       };
     };
     "pg-int8-1.0.1" = {
@@ -57164,22 +57821,22 @@ let
         sha512 = "His3Fh17Z4eg7oANLob6ZvH8xIVen3phEZh2QuyrIl4dQSDVEabNducv6ysROKpDNPSD+12tONZVWfSgMvDD9w==";
       };
     };
-    "pg-protocol-1.5.0" = {
+    "pg-protocol-1.6.0" = {
       name = "pg-protocol";
       packageName = "pg-protocol";
-      version = "1.5.0";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.5.0.tgz";
-        sha512 = "muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ==";
+        url = "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.6.0.tgz";
+        sha512 = "M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==";
       };
     };
-    "pg-query-stream-4.2.4" = {
+    "pg-query-stream-4.3.0" = {
       name = "pg-query-stream";
       packageName = "pg-query-stream";
-      version = "4.2.4";
+      version = "4.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-query-stream/-/pg-query-stream-4.2.4.tgz";
-        sha512 = "Et3gTrWn4C2rj4LVioNq1QDd7aH/3mSJcBm79jZALv3wopvx9bWENtbOYZbHQ6KM+IkfFxs0JF1ZLjMDJ9/N6Q==";
+        url = "https://registry.npmjs.org/pg-query-stream/-/pg-query-stream-4.3.0.tgz";
+        sha512 = "+Eer4Y1e43rAaphFNu9/VJKn9nKTApFKCSwVtDjXYnuO4QYqWHOEkApmGJv8gvaU5T6fcuEtjsN24gk+Rx7X9A==";
       };
     };
     "pg-types-1.13.0" = {
@@ -57371,6 +58028,15 @@ let
         sha512 = "l9sA5uPxmZzwydhMWUcm1gI0YxNnYl8MfSr2h8cwLvOAzQLBLewzF247h/vqHe3/tt6fgtXeG9wdjjoetdI/vA==";
       };
     };
+    "pino-8.8.0" = {
+      name = "pino";
+      packageName = "pino";
+      version = "8.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pino/-/pino-8.8.0.tgz";
+        sha512 = "cF8iGYeu2ODg2gIwgAHcPrtR63ILJz3f7gkogaHC/TXVVXxZgInmNYiIpDYEwgEkxZti2Se6P2W2DxlBIZe6eQ==";
+      };
+    };
     "pino-abstract-transport-1.0.0" = {
       name = "pino-abstract-transport";
       packageName = "pino-abstract-transport";
@@ -57911,15 +58577,6 @@ let
         sha512 = "yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==";
       };
     };
-    "postcss-8.4.19" = {
-      name = "postcss";
-      packageName = "postcss";
-      version = "8.4.19";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.19.tgz";
-        sha512 = "h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==";
-      };
-    };
     "postcss-8.4.21" = {
       name = "postcss";
       packageName = "postcss";
@@ -58271,6 +58928,15 @@ let
         sha512 = "LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==";
       };
     };
+    "postcss-modules-extract-imports-3.0.0" = {
+      name = "postcss-modules-extract-imports";
+      packageName = "postcss-modules-extract-imports";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz";
+        sha512 = "bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==";
+      };
+    };
     "postcss-modules-local-by-default-1.2.0" = {
       name = "postcss-modules-local-by-default";
       packageName = "postcss-modules-local-by-default";
@@ -58298,6 +58964,15 @@ let
         sha512 = "e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw==";
       };
     };
+    "postcss-modules-local-by-default-4.0.0" = {
+      name = "postcss-modules-local-by-default";
+      packageName = "postcss-modules-local-by-default";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz";
+        sha512 = "sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==";
+      };
+    };
     "postcss-modules-scope-1.1.0" = {
       name = "postcss-modules-scope";
       packageName = "postcss-modules-scope";
@@ -58316,6 +58991,15 @@ let
         sha512 = "YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==";
       };
     };
+    "postcss-modules-scope-3.0.0" = {
+      name = "postcss-modules-scope";
+      packageName = "postcss-modules-scope";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz";
+        sha512 = "hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==";
+      };
+    };
     "postcss-modules-values-1.3.0" = {
       name = "postcss-modules-values";
       packageName = "postcss-modules-values";
@@ -58343,6 +59027,15 @@ let
         sha512 = "1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==";
       };
     };
+    "postcss-modules-values-4.0.0" = {
+      name = "postcss-modules-values";
+      packageName = "postcss-modules-values";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz";
+        sha512 = "RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==";
+      };
+    };
     "postcss-nested-6.0.0" = {
       name = "postcss-nested";
       packageName = "postcss-nested";
@@ -59855,15 +60548,6 @@ let
         sha512 = "aC9j+BZsRSSzEsXBNBwDnAxujdx19HycZoKgRgzWnS8eOHg1asuf9heuLprfbe739zY3IdUQx+Egv6Jn135WHA==";
       };
     };
-    "prompts-2.4.0" = {
-      name = "prompts";
-      packageName = "prompts";
-      version = "2.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prompts/-/prompts-2.4.0.tgz";
-        sha512 = "awZAKrk3vN6CroQukBL+R9051a4R3zCZBlJm/HBfrSZ8iTpYix3VX1vU4mveiLpiwmOJT4wokTF9m6HUk4KqWQ==";
-      };
-    };
     "prompts-2.4.2" = {
       name = "prompts";
       packageName = "prompts";
@@ -59999,6 +60683,15 @@ let
         sha512 = "4ZPTPkXCdel3+L81yw3dG6+Kq3umdWKh7Dc7GW/CpNk4SX3hK58iPCWeCyhVTDrbkNeKrYNZ7EojM5WDaEWTLQ==";
       };
     };
+    "protobufjs-7.2.0" = {
+      name = "protobufjs";
+      packageName = "protobufjs";
+      version = "7.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/protobufjs/-/protobufjs-7.2.0.tgz";
+        sha512 = "hYCqTDuII4iJ4stZqiuGCSU8xxWl5JeXYpwARGtn/tWcKCAro6h3WQz+xpsNbXW0UYqpmTQFEyFWO0G0Kjt64g==";
+      };
+    };
     "protobufjs-cli-1.0.2" = {
       name = "protobufjs-cli";
       packageName = "protobufjs-cli";
@@ -60116,15 +60809,6 @@ let
         sha512 = "0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==";
       };
     };
-    "psbt-2.7.1" = {
-      name = "psbt";
-      packageName = "psbt";
-      version = "2.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/psbt/-/psbt-2.7.1.tgz";
-        sha512 = "qFnvwdQcDoQBHHi3jYVVX+W98CRTbyeQs3RlUdAIzdEVbwBHEcv1+xhVaEJHrYiF75n7L+i6roDmZHIXT6tDSQ==";
-      };
-    };
     "psbt-2.7.2" = {
       name = "psbt";
       packageName = "psbt";
@@ -60998,13 +61682,13 @@ let
         sha512 = "jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==";
       };
     };
-    "punycode-2.2.0" = {
+    "punycode-2.3.0" = {
       name = "punycode";
       packageName = "punycode";
-      version = "2.2.0";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/punycode/-/punycode-2.2.0.tgz";
-        sha512 = "LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw==";
+        url = "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz";
+        sha512 = "rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==";
       };
     };
     "pupa-2.1.1" = {
@@ -61043,22 +61727,22 @@ let
         sha512 = "U1uufzBjz3+PkpCxFrWzh4OrMIdIb2ztzCu0YEPfRHjHswcSwHZswnK+WdsOQJsRV8WeTg3jLhJR4D867+fjsA==";
       };
     };
-    "puppeteer-19.5.2" = {
+    "puppeteer-19.6.2" = {
       name = "puppeteer";
       packageName = "puppeteer";
-      version = "19.5.2";
+      version = "19.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-19.5.2.tgz";
-        sha512 = "xlqRyrhXhVH114l79Y0XqYXUVG+Yfw4sKlvN55t8Y9DxtA5fzI1uqF8SVXbWK5DUMbD6Jo4lpixTZCTTZGD05g==";
+        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-19.6.2.tgz";
+        sha512 = "Y5OAXXwXLfJYbl0dEFg8JKIhvCGxn+UYaBW9yra9ErmIhkVroDnYusM6oYxJCt/YIfC2pQWhvhxoZyf/E5fV6w==";
       };
     };
-    "puppeteer-core-19.5.2" = {
+    "puppeteer-core-19.6.2" = {
       name = "puppeteer-core";
       packageName = "puppeteer-core";
-      version = "19.5.2";
+      version = "19.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-19.5.2.tgz";
-        sha512 = "Rqk+3kqM+Z2deooTYqcYt8lRtGffJdifWa9td9nbJSjhANWsFouk8kLBNUKycewCCFHM8TZUKS0x28OllavW2A==";
+        url = "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-19.6.2.tgz";
+        sha512 = "il7uK658MNC1FlxPABvcnv1RdpDa9CaBFHzvtEsl+9Y4tbAJKZurkegpcvWeIWcRYGiuBIVo+t+ZSh3G82CCjw==";
       };
     };
     "purgecss-2.3.0" = {
@@ -61133,13 +61817,13 @@ let
         sha512 = "pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==";
       };
     };
-    "pyright-1.1.290" = {
+    "pyright-1.1.291" = {
       name = "pyright";
       packageName = "pyright";
-      version = "1.1.290";
+      version = "1.1.291";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.290.tgz";
-        sha512 = "iHT8G2+R/GUfYWxxd4ud5Lj/0H0bE1eWVR0avKKgPtkBeLkUz3sorjKpfuaJdsuJNrunzMtZsmYPD366t39klg==";
+        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.291.tgz";
+        sha512 = "wkSlCEhF1OwtJqHuifwxk76UMr1NPqsAbPIlCh7tiZx8VUdZs17NCGNorhyb2M+GFEvp8pod9Xyu1LXN1JL2kQ==";
       };
     };
     "q-0.9.7" = {
@@ -61547,31 +62231,31 @@ let
         sha512 = "b3w19IEXnt5auacLAbePVsqPyVQUwmuhJQrrWnVhm4pP8PAMg2U9vFHbAD9XYXXbMDjdLJs0x5NLqwTV8uFK4g==";
       };
     };
-    "quicktype-core-20.0.26" = {
+    "quicktype-core-21.0.4" = {
       name = "quicktype-core";
       packageName = "quicktype-core";
-      version = "20.0.26";
+      version = "21.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/quicktype-core/-/quicktype-core-20.0.26.tgz";
-        sha512 = "B+VGYa6adM0kZq6yhnwmAMeGMnHEFMjJbHRZQidPmTCbnzeY2cNuxDIhNV6JbPzyt+o8c+fZ/DkYMefWJynIHQ==";
+        url = "https://registry.npmjs.org/quicktype-core/-/quicktype-core-21.0.4.tgz";
+        sha512 = "JJiJ8dzBTh/l/gTNnVwKFx0g2A0CfLNzXlUxTHjdvyldXi/Jjckr+Z04calGXxlG8KunpE4G5vV+EtuFjoTIPQ==";
       };
     };
-    "quicktype-graphql-input-20.0.26" = {
+    "quicktype-graphql-input-21.0.4" = {
       name = "quicktype-graphql-input";
       packageName = "quicktype-graphql-input";
-      version = "20.0.26";
+      version = "21.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/quicktype-graphql-input/-/quicktype-graphql-input-20.0.26.tgz";
-        sha512 = "AbvJp7g0Xbjb5jl3nP/go4GZ93vogky0HcEjDhzted/LCCSQK4tHYMPFECKcqtW7nxk0OB7/f9BEj5aZNHLvPg==";
+        url = "https://registry.npmjs.org/quicktype-graphql-input/-/quicktype-graphql-input-21.0.4.tgz";
+        sha512 = "WXHcXL2d2HLfihbJBsJvBhzDc8sAkR5cNF6Y36R9p1eY3b0PKKmdbdHSFif/SkW9HAVP0DyP8/6rskFLU5Z9KA==";
       };
     };
-    "quicktype-typescript-input-20.0.26" = {
+    "quicktype-typescript-input-21.0.4" = {
       name = "quicktype-typescript-input";
       packageName = "quicktype-typescript-input";
-      version = "20.0.26";
+      version = "21.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/quicktype-typescript-input/-/quicktype-typescript-input-20.0.26.tgz";
-        sha512 = "OieJhc77M8mb3yEqZHQMF9LmzD3/6j8P1Khs4A1dTJT44lQAs6R3tK6EAIIF/5cfyXyOMGD3d3N7Ou6NoT0OfQ==";
+        url = "https://registry.npmjs.org/quicktype-typescript-input/-/quicktype-typescript-input-21.0.4.tgz";
+        sha512 = "Lc0dwFZUk+dRL95sjb2iNS92GsvuwVaXQQyPJ5y4RPXm15ASTdSE3U8U94ySy2QwhNOnsv23WkkCyrxDdvk0sg==";
       };
     };
     "quotation-1.1.3" = {
@@ -61925,15 +62609,6 @@ let
         sha512 = "y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==";
       };
     };
-    "rc-config-loader-3.0.0" = {
-      name = "rc-config-loader";
-      packageName = "rc-config-loader";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rc-config-loader/-/rc-config-loader-3.0.0.tgz";
-        sha512 = "bwfUSB37TWkHfP+PPjb/x8BUjChFmmBK44JMfVnU7paisWqZl/o5k7ttCH+EQLnrbn2Aq8Fo1LAsyUiz+WF4CQ==";
-      };
-    };
     "rc-config-loader-4.1.2" = {
       name = "rc-config-loader";
       packageName = "rc-config-loader";
@@ -62006,15 +62681,6 @@ let
         sha512 = "gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==";
       };
     };
-    "react-dev-utils-11.0.4" = {
-      name = "react-dev-utils";
-      packageName = "react-dev-utils";
-      version = "11.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-11.0.4.tgz";
-        sha512 = "dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==";
-      };
-    };
     "react-devtools-core-4.27.1" = {
       name = "react-devtools-core";
       packageName = "react-devtools-core";
@@ -62051,15 +62717,6 @@ let
         sha512 = "FlsPxavEyMuR6TjVbSSywovXSEyOg6ZDj5+Z8nbsRl9EkOzAhEIcS+GLoQDC5fz/t9suhUXWmUrOBrgeUvrMxw==";
       };
     };
-    "react-error-overlay-6.0.11" = {
-      name = "react-error-overlay";
-      packageName = "react-error-overlay";
-      version = "6.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz";
-        sha512 = "/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==";
-      };
-    };
     "react-error-overlay-6.0.9" = {
       name = "react-error-overlay";
       packageName = "react-error-overlay";
@@ -62744,15 +63401,6 @@ let
         sha512 = "4xod0yBv9Cvm9MXNjrSC/mi8RjrIMMMMRUVMs3I3uOGH5nEHf4gqN1+8ziIPL50qtPSybhcLSwXu6St1TBaqTA==";
       };
     };
-    "recursive-readdir-2.2.2" = {
-      name = "recursive-readdir";
-      packageName = "recursive-readdir";
-      version = "2.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz";
-        sha512 = "nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==";
-      };
-    };
     "recursive-readdir-2.2.3" = {
       name = "recursive-readdir";
       packageName = "recursive-readdir";
@@ -62843,13 +63491,13 @@ let
         sha512 = "bCR0gKVhIXFg8zCQjXEANzgI01DDixtPZgIUZHBCmwqixnu+MK3Tb2yqGjh+HCLASQVVgApiwhNkv+FoedZOGQ==";
       };
     };
-    "redis-4.5.1" = {
+    "redis-4.6.2" = {
       name = "redis";
       packageName = "redis";
-      version = "4.5.1";
+      version = "4.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redis/-/redis-4.5.1.tgz";
-        sha512 = "oxXSoIqMJCQVBTfxP6BNTCtDMyh9G6Vi5wjdPdV/sRKkufyZslDqCScSGcOr6XGR/reAWZefz7E4leM31RgdBA==";
+        url = "https://registry.npmjs.org/redis/-/redis-4.6.2.tgz";
+        sha512 = "Xoh7UyU6YnT458xA8svaZAJu6ZunKeW7Z/7GXrLWGGwhVLTsDX6pr3u7ENAoV+DHBPO+9LwIu45ClwUwpIjAxw==";
       };
     };
     "redis-commands-1.7.0" = {
@@ -64868,6 +65516,15 @@ let
         sha512 = "4LMcbvBonVhsufIwa7Po+HhK0rznNyvQxIG/14/wTm7W88eFQy1jU+T7i5afaWOQ53czEJlaI3ua9pzZtqXE0w==";
       };
     };
+    "rfc4648-1.5.2" = {
+      name = "rfc4648";
+      packageName = "rfc4648";
+      version = "1.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rfc4648/-/rfc4648-1.5.2.tgz";
+        sha512 = "tLOizhR6YGovrEBLatX1sdcuhoSCXddw3mqNVAcKxGJ+J0hFeJ+SjeWCv5UPA/WU3YzWPPuCVYgXBKZUPGpKtg==";
+      };
+    };
     "rfdc-1.3.0" = {
       name = "rfdc";
       packageName = "rfdc";
@@ -64895,15 +65552,6 @@ let
         sha512 = "zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==";
       };
     };
-    "rgbcolor-1.0.1" = {
-      name = "rgbcolor";
-      packageName = "rgbcolor";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rgbcolor/-/rgbcolor-1.0.1.tgz";
-        sha512 = "9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==";
-      };
-    };
     "right-align-0.1.3" = {
       name = "right-align";
       packageName = "right-align";
@@ -64976,6 +65624,15 @@ let
         sha512 = "JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==";
       };
     };
+    "rimraf-4.1.2" = {
+      name = "rimraf";
+      packageName = "rimraf";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-4.1.2.tgz";
+        sha512 = "BlIbgFryTbw3Dz6hyoWFhKk+unCcHMSkZGrTFVAx2WmttdBSonsdtRlwiuTbDqTKr+UlXIUqJVS4QT5tUzGENQ==";
+      };
+    };
     "ripemd160-2.0.2" = {
       name = "ripemd160";
       packageName = "ripemd160";
@@ -66623,15 +67280,6 @@ let
         sha512 = "7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==";
       };
     };
-    "shell-quote-1.7.2" = {
-      name = "shell-quote";
-      packageName = "shell-quote";
-      version = "1.7.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz";
-        sha512 = "mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==";
-      };
-    };
     "shell-quote-1.7.3" = {
       name = "shell-quote";
       packageName = "shell-quote";
@@ -66830,13 +67478,13 @@ let
         sha512 = "fCvEXfh6NWpm+YSuY2bpXb/VIihqWA6hLsgboC+0nl71Q7N7o2eaCW8mJa/NLvQhs6jpd3VZV4UiUQlV6+lc8g==";
       };
     };
-    "sign-addon-5.1.0" = {
+    "sign-addon-5.2.0" = {
       name = "sign-addon";
       packageName = "sign-addon";
-      version = "5.1.0";
+      version = "5.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sign-addon/-/sign-addon-5.1.0.tgz";
-        sha512 = "fag/csbsw25WpW+G+uWE6rRImSjlfwQNjuP28fFhvXpfW+kXccxl/o1QEW+hXtTidwpysksb7Y0B8UCeMkYkSA==";
+        url = "https://registry.npmjs.org/sign-addon/-/sign-addon-5.2.0.tgz";
+        sha512 = "t5CZ4MSKAd3uJBUfjgWfSyKYC1pQS6BMUbgI5OytzMkTOQ9NkdkFE8bB0AJLQIGqDrNS2b1+/ghAP56iuCUE+g==";
       };
     };
     "signal-exit-3.0.7" = {
@@ -67595,22 +68243,13 @@ let
         sha512 = "j3kk71QLJuyQ/hh5F/L2t1goqzdTL0gvDzuhTuNSwihfuFUrcSji0qFZmJJPtG6Rmug153eOPsUizeirf1IIog==";
       };
     };
-    "socket.io-parser-4.2.1" = {
+    "socket.io-parser-4.2.2" = {
       name = "socket.io-parser";
       packageName = "socket.io-parser";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz";
-        sha512 = "V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==";
-      };
-    };
-    "sockjs-0.3.20" = {
-      name = "sockjs";
-      packageName = "sockjs";
-      version = "0.3.20";
+      version = "4.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz";
-        sha512 = "SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==";
+        url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.2.tgz";
+        sha512 = "DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==";
       };
     };
     "sockjs-0.3.24" = {
@@ -67622,15 +68261,6 @@ let
         sha512 = "GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==";
       };
     };
-    "sockjs-client-1.4.0" = {
-      name = "sockjs-client";
-      packageName = "sockjs-client";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz";
-        sha512 = "5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==";
-      };
-    };
     "sockjs-client-1.6.1" = {
       name = "sockjs-client";
       packageName = "sockjs-client";
@@ -67802,6 +68432,15 @@ let
         sha512 = "R5ocFmKZQFfSTstfOtHjJuAwbpGyf9qjQa1egyhvXSbM7emjrtLXtGdZsDJDABC85YBfVvrOiGWKSYXPKdvP1g==";
       };
     };
+    "sorcery-0.11.0" = {
+      name = "sorcery";
+      packageName = "sorcery";
+      version = "0.11.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sorcery/-/sorcery-0.11.0.tgz";
+        sha512 = "J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==";
+      };
+    };
     "sort-json-2.0.1" = {
       name = "sort-json";
       packageName = "sort-json";
@@ -67955,6 +68594,15 @@ let
         sha512 = "R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==";
       };
     };
+    "source-map-loader-3.0.2" = {
+      name = "source-map-loader";
+      packageName = "source-map-loader";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz";
+        sha512 = "BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==";
+      };
+    };
     "source-map-resolve-0.5.3" = {
       name = "source-map-resolve";
       packageName = "source-map-resolve";
@@ -69135,15 +69783,6 @@ let
         sha512 = "XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==";
       };
     };
-    "stackblur-canvas-2.5.0" = {
-      name = "stackblur-canvas";
-      packageName = "stackblur-canvas";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.5.0.tgz";
-        sha512 = "EeNzTVfj+1In7aSLPKDD03F/ly4RxEuF/EX0YcOG0cKoPXs+SLZxDawQbexQDBzwROs4VKLWTOaZQlZkGBFEIQ==";
-      };
-    };
     "stackframe-1.3.4" = {
       name = "stackframe";
       packageName = "stackframe";
@@ -70116,15 +70755,6 @@ let
         sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==";
       };
     };
-    "strip-ansi-6.0.0" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "6.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz";
-        sha512 = "AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==";
-      };
-    };
     "strip-ansi-6.0.1" = {
       name = "strip-ansi";
       packageName = "strip-ansi";
@@ -70449,15 +71079,6 @@ let
         sha512 = "XK+uv9kWwhZMZ1y7mysB+zoihsEj4wneFWAS5qoiLwzW0WzSqMrrsIy+a3zkQJq0ipFtBpX5W3MqyRIBF/WFGg==";
       };
     };
-    "style-loader-1.2.1" = {
-      name = "style-loader";
-      packageName = "style-loader";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/style-loader/-/style-loader-1.2.1.tgz";
-        sha512 = "ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==";
-      };
-    };
     "style-loader-3.3.1" = {
       name = "style-loader";
       packageName = "style-loader";
@@ -70917,13 +71538,13 @@ let
         sha512 = "S+87/P0Ve67HxKkEV23iCdAh/SX1xiSfjF1HOglno/YTbSTW7RniICMCofWGdJJbdjw3S+0PfFb1JtGfTXE0oQ==";
       };
     };
-    "svelte-preprocess-5.0.0" = {
+    "svelte-preprocess-5.0.1" = {
       name = "svelte-preprocess";
       packageName = "svelte-preprocess";
-      version = "5.0.0";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-5.0.0.tgz";
-        sha512 = "q7lpa7i2FBu8Pa+G0MmuQQWETBwCKgsGmuq1Sf6n8q4uaG9ZLcLP0Y+etC6bF4sE6EbLxfiI38zV6RfPe3RSfg==";
+        url = "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-5.0.1.tgz";
+        sha512 = "0HXyhCoc9rsW4zGOgtInylC6qj259E1hpFnJMJWTf+aIfeqh4O/QHT31KT2hvPEqQfdjmqBR/kO2JDkkciBLrQ==";
       };
     };
     "svelte2tsx-0.6.0" = {
@@ -70944,15 +71565,6 @@ let
         sha512 = "aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg==";
       };
     };
-    "svg-pathdata-5.0.5" = {
-      name = "svg-pathdata";
-      packageName = "svg-pathdata";
-      version = "5.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/svg-pathdata/-/svg-pathdata-5.0.5.tgz";
-        sha512 = "TAAvLNSE3fEhyl/Da19JWfMAdhSXTYeviXsLSoDT1UM76ADj5ndwAPX1FKQEgB/gFMPavOy6tOqfalXKUiXrow==";
-      };
-    };
     "svg-tags-1.0.0" = {
       name = "svg-tags";
       packageName = "svg-tags";
@@ -70962,13 +71574,13 @@ let
         sha512 = "ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==";
       };
     };
-    "svg2img-0.9.4" = {
+    "svg2img-1.0.0-beta.2" = {
       name = "svg2img";
       packageName = "svg2img";
-      version = "0.9.4";
+      version = "1.0.0-beta.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/svg2img/-/svg2img-0.9.4.tgz";
-        sha512 = "1XquM9CorP9Em58gS9NjTaKpoRrIBM4gSSGSOHnoU70Y4AB3D+vILbdcHfvyGcLJ80IdYTbcpznp8NVNKkCedQ==";
+        url = "https://registry.npmjs.org/svg2img/-/svg2img-1.0.0-beta.2.tgz";
+        sha512 = "Tq05Q0HTXDJZM+9ub9HCPPDbui2VavugF+/H9b1Ur9ykXbPsSUPFeXFZdDlutvDsVWZO8JjHKRdT3grpNSwwSg==";
       };
     };
     "svgo-0.6.6" = {
@@ -71214,13 +71826,13 @@ let
         sha512 = "dJp4qg+x4JwSEW1HibAuMi0IIrBI3wuQr2GimmqB7OXR50wmwzfdusG+p39R9w3R6aFtZ2mzvxvWKQ3Bd/vx3g==";
       };
     };
-    "synckit-0.8.4" = {
+    "synckit-0.8.5" = {
       name = "synckit";
       packageName = "synckit";
-      version = "0.8.4";
+      version = "0.8.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/synckit/-/synckit-0.8.4.tgz";
-        sha512 = "Dn2ZkzMdSX827QbowGbU/4yjWuvNaCoScLLoMo/yKbu+P4GBR6cRGKZH27k6a9bRzdqcyd1DE96pQtQ6uNkmyw==";
+        url = "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz";
+        sha512 = "L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==";
       };
     };
     "syntax-error-1.4.0" = {
@@ -71232,13 +71844,13 @@ let
         sha512 = "YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==";
       };
     };
-    "systeminformation-5.17.3" = {
+    "systeminformation-5.17.4" = {
       name = "systeminformation";
       packageName = "systeminformation";
-      version = "5.17.3";
+      version = "5.17.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.17.3.tgz";
-        sha512 = "IAmnUJdeFUWqY+YneAWJ9rceTdRRIaTiwspvd1B6SG7yhqpxLrSosHgGZKiE8lcaBlBYpLQpY3BRLtus4n8PNQ==";
+        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.17.4.tgz";
+        sha512 = "mEiIYrw7X5ABX8tJUgzbumQAuFQxNyHdZDz6+UtwNKUbKgIoZqLtug2z1spFB/LiXZne5tdPBJOlvVckbvfhiQ==";
       };
     };
     "sywac-1.3.0" = {
@@ -71791,15 +72403,6 @@ let
         sha512 = "04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==";
       };
     };
-    "terser-webpack-plugin-3.1.0" = {
-      name = "terser-webpack-plugin";
-      packageName = "terser-webpack-plugin";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-3.1.0.tgz";
-        sha512 = "cjdZte66fYkZ65rQ2oJfrdCAkkhJA7YLYk5eGOcGCSGlq0ieZupRdjedSQXYknMPo2IveQL+tPdrxUkERENCFA==";
-      };
-    };
     "terser-webpack-plugin-5.3.6" = {
       name = "terser-webpack-plugin";
       packageName = "terser-webpack-plugin";
@@ -71881,13 +72484,13 @@ let
         sha512 = "MeqZRHLuaGamUXGuVn2ivtU3LA3mLCCIO5kUGoohTCoGmCBg/+8yPhWVX9WSl9telvVd8erftjFk9Fwb2dD6rw==";
       };
     };
-    "textlint-12.5.1" = {
+    "textlint-13.0.4" = {
       name = "textlint";
       packageName = "textlint";
-      version = "12.5.1";
+      version = "13.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/textlint/-/textlint-12.5.1.tgz";
-        sha512 = "LoFU1yBIm/gxM++jDdvdfS2diW14NBHsimRyChi8Kb5h5pUHcG0rGfW2PflUzfYcHF0XykgW9WBdPd1WWnyS7Q==";
+        url = "https://registry.npmjs.org/textlint/-/textlint-13.0.4.tgz";
+        sha512 = "XBPK+cRMYLY3NodKoCFMncmVJRk59S+aSgkwpdNnV8VXFo1hF0EEysbwEp9s8ov0LhVO8flfd51/L+VlUFeTlg==";
       };
     };
     "textlint-rule-helper-1.2.0" = {
@@ -71899,22 +72502,22 @@ let
         sha512 = "yJmVbmyuUPOndKsxOijpx/G7mwybXXf4M10U2up0BeIZSN+6drUl+aSKAoC+RUHY7bG4ogLwRcmWoNG1lSrRIQ==";
       };
     };
-    "textlint-rule-helper-2.2.4" = {
+    "textlint-rule-helper-2.3.0" = {
       name = "textlint-rule-helper";
       packageName = "textlint-rule-helper";
-      version = "2.2.4";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/textlint-rule-helper/-/textlint-rule-helper-2.2.4.tgz";
-        sha512 = "aQDn83+L6uG8tA6IjAsfFLWxR0/OJg51/C0k6OxNuGJnn/rgQnX+6Lh/bWh9dJ0RmOIQk7VkZ1uHUny5PXkjwQ==";
+        url = "https://registry.npmjs.org/textlint-rule-helper/-/textlint-rule-helper-2.3.0.tgz";
+        sha512 = "Ug78Saahb/qVImttL0NSFyT5/JJ5wXvOPepR2pYAjNi54BsQAAz/hAyyEgKuYeR0+yjFb0KPhby4f880X5vqHA==";
       };
     };
-    "textlint-tester-12.5.0" = {
+    "textlint-tester-12.6.1" = {
       name = "textlint-tester";
       packageName = "textlint-tester";
-      version = "12.5.0";
+      version = "12.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/textlint-tester/-/textlint-tester-12.5.0.tgz";
-        sha512 = "4BKh/eWCc73T6mvBwXz1q53gbzCm+S0iHet2nmOQWF9aEbGkVnLbFbEKNdPiayAJ5tugIdvpfT/5iUb1RXDjeg==";
+        url = "https://registry.npmjs.org/textlint-tester/-/textlint-tester-12.6.1.tgz";
+        sha512 = "4O8hrXNb0BUePg+yvueWdR+ViXC8R7RgUcmo+56iU28pgqcrAjSEpz2YGpbsSF54wlyxJuP4v98whgjlEJtCmw==";
       };
     };
     "textlint-util-to-string-3.1.1" = {
@@ -72295,6 +72898,15 @@ let
         sha512 = "b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==";
       };
     };
+    "timm-1.7.1" = {
+      name = "timm";
+      packageName = "timm";
+      version = "1.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/timm/-/timm-1.7.1.tgz";
+        sha512 = "IjZc9KIotudix8bMaBW6QvMuq64BrJWFs1+4V0lXwWGQZwH+LnX87doAYhem4caOEusRP9/g6jVDQmZ8XOk1nw==";
+      };
+    };
     "timsort-0.3.0" = {
       name = "timsort";
       packageName = "timsort";
@@ -73456,6 +74068,15 @@ let
         sha512 = "tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==";
       };
     };
+    "tslib-2.5.0" = {
+      name = "tslib";
+      packageName = "tslib";
+      version = "2.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz";
+        sha512 = "336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==";
+      };
+    };
     "tslint-5.20.1" = {
       name = "tslint";
       packageName = "tslint";
@@ -73861,15 +74482,6 @@ let
         sha512 = "RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==";
       };
     };
-    "type-fest-3.4.0" = {
-      name = "type-fest";
-      packageName = "type-fest";
-      version = "3.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-3.4.0.tgz";
-        sha512 = "PEPg6RHlB9cFwoTMNENNrQFL0cXX04voWr2UPwQBJ3pVs7Mt8Y1oLWdUeMdGEwZE8HFFlujq8gS9enmyiQ8pLg==";
-      };
-    };
     "type-fest-3.5.1" = {
       name = "type-fest";
       packageName = "type-fest";
@@ -73879,13 +74491,13 @@ let
         sha512 = "70T99cpILFk2fzwuljwWxmazSphFrdOe3gRHbp6bqs71pxFBbJwFqnmkLO2lQL6aLHxHmYAnP/sL+AJWpT70jA==";
       };
     };
-    "type-fest-3.5.2" = {
+    "type-fest-3.5.3" = {
       name = "type-fest";
       packageName = "type-fest";
-      version = "3.5.2";
+      version = "3.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-3.5.2.tgz";
-        sha512 = "Ph7S4EhXzWy0sbljEuZo0tTNoLl+K2tPauGrQpcwUWrOVneLePTuhVzcuzVJJ6RU5DsNwQZka+8YtkXXU4z9cA==";
+        url = "https://registry.npmjs.org/type-fest/-/type-fest-3.5.3.tgz";
+        sha512 = "V2+og4j/rWReWvaFrse3s9g2xvUv/K9Azm/xo6CjIuq7oeGqsoimC7+9/A3tfvNcbQf8RPSVj/HV81fB4DJrjA==";
       };
     };
     "type-is-1.6.18" = {
@@ -74050,15 +74662,6 @@ let
         sha512 = "TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==";
       };
     };
-    "typescript-4.8.4" = {
-      name = "typescript";
-      packageName = "typescript";
-      version = "4.8.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz";
-        sha512 = "QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==";
-      };
-    };
     "typescript-4.9.4" = {
       name = "typescript";
       packageName = "typescript";
@@ -74140,13 +74743,13 @@ let
         sha512 = "dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==";
       };
     };
-    "typo-geom-0.12.1" = {
+    "typo-geom-0.13.0" = {
       name = "typo-geom";
       packageName = "typo-geom";
-      version = "0.12.1";
+      version = "0.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typo-geom/-/typo-geom-0.12.1.tgz";
-        sha512 = "W20RYp2OCEGMhEYayR0cAP67AUWiGRUufMs6Clul7MAmu5SpLuOG/RWk7+LkL65wsugcfhPQlFEJ231C2xHNQg==";
+        url = "https://registry.npmjs.org/typo-geom/-/typo-geom-0.13.0.tgz";
+        sha512 = "s7BV1wSA+kcv2kNjJXrXgl9By8BGqwRu1llbxfkv45McR/ZyxWOFXUgTMUZdUFn79UQuVc0yzKisrj8XzkR27A==";
       };
     };
     "u2f-api-0.2.7" = {
@@ -74185,13 +74788,13 @@ let
         sha512 = "+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==";
       };
     };
-    "ua-parser-js-0.7.32" = {
+    "ua-parser-js-0.7.33" = {
       name = "ua-parser-js";
       packageName = "ua-parser-js";
-      version = "0.7.32";
+      version = "0.7.33";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.32.tgz";
-        sha512 = "f9BESNVhzlhEFf2CHMSj40NWOjYPl1YKYbrvIr/hFTDEmLq7SRbWvm7FcdcpCYT95zrOhC7gZSxjdnnTpBcwVw==";
+        url = "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz";
+        sha512 = "s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==";
       };
     };
     "ua-parser-js-1.0.2" = {
@@ -74545,13 +75148,13 @@ let
         sha512 = "UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw==";
       };
     };
-    "undici-5.15.0" = {
+    "undici-5.16.0" = {
       name = "undici";
       packageName = "undici";
-      version = "5.15.0";
+      version = "5.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/undici/-/undici-5.15.0.tgz";
-        sha512 = "wCAZJDyjw9Myv+Ay62LAoB+hZLPW9SmKbQkbHIhMw/acKSlpn7WohdMUc/Vd4j1iSMBO0hWwU8mjB7a5p5bl8g==";
+        url = "https://registry.npmjs.org/undici/-/undici-5.16.0.tgz";
+        sha512 = "KWBOXNv6VX+oJQhchXieUznEmnJMqgXMbs0xxH2t8q/FUAWSJvOSr/rMaZKnX5RIVq7JDn0JbP4BOnKG2SGXLQ==";
       };
     };
     "undici-5.9.1" = {
@@ -74995,13 +75598,13 @@ let
         sha512 = "fPNWewS593JSmg49HbnE86BJKuBi1/nMWhDSccBvbARfxezEuJV85EaARR9/VplveiwCoLm2kWq+DhP8TBaDpw==";
       };
     };
-    "unist-util-inspect-7.0.1" = {
+    "unist-util-inspect-7.0.2" = {
       name = "unist-util-inspect";
       packageName = "unist-util-inspect";
-      version = "7.0.1";
+      version = "7.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-inspect/-/unist-util-inspect-7.0.1.tgz";
-        sha512 = "gEPeSrsYXus8012VJ00p9uZC8D0iogtLLiHlBgvS61hU22KNKduQhMKezJm83viHlLf3TYS2y9SDEFglWPDMKw==";
+        url = "https://registry.npmjs.org/unist-util-inspect/-/unist-util-inspect-7.0.2.tgz";
+        sha512 = "Op0XnmHUl6C2zo/yJCwhXQSm/SmW22eDZdWP2qdf4WpGrgO1ZxFodq+5zFyeRGasFjJotAnLgfuD1jkcKqiH1Q==";
       };
     };
     "unist-util-is-2.1.3" = {
@@ -75031,13 +75634,13 @@ let
         sha512 = "ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==";
       };
     };
-    "unist-util-is-5.1.1" = {
+    "unist-util-is-5.2.0" = {
       name = "unist-util-is";
       packageName = "unist-util-is";
-      version = "5.1.1";
+      version = "5.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz";
-        sha512 = "F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==";
+        url = "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.0.tgz";
+        sha512 = "Glt17jWwZeyqrFqOK0pF1Ded5U3yzJnFr8CG1GMjCWTp9zDo2p+cmD6pWbZU8AgM5WU3IzRv6+rBwhzsGh6hBQ==";
       };
     };
     "unist-util-map-1.0.5" = {
@@ -75067,13 +75670,13 @@ let
         sha512 = "HGrj7JQo9DwZt8XFsX8UD4gGqOsIlCih9opG6Y+N11XqkBGKzHo8cvDi+MfQQgiZ7zXRUiQREYHhjOBHERTMdg==";
       };
     };
-    "unist-util-modify-children-3.1.0" = {
+    "unist-util-modify-children-3.1.1" = {
       name = "unist-util-modify-children";
       packageName = "unist-util-modify-children";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-3.1.0.tgz";
-        sha512 = "L0UizdncPZ1NIwpmkwFdLo2NaK2Eb5LU/vaQ7lZGkAaOBZfsHp+8T/gVWPVmmMO1hj6gc+XeMoytut8jr7fdyA==";
+        url = "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-3.1.1.tgz";
+        sha512 = "yXi4Lm+TG5VG+qvokP6tpnk+r1EPwyYL04JWDxLvgvPV40jANh7nm3udk65OOWquvbMDe+PL9+LmkxDpTv/7BA==";
       };
     };
     "unist-util-position-3.1.0" = {
@@ -75085,22 +75688,22 @@ let
         sha512 = "w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==";
       };
     };
-    "unist-util-position-4.0.3" = {
+    "unist-util-position-4.0.4" = {
       name = "unist-util-position";
       packageName = "unist-util-position";
-      version = "4.0.3";
+      version = "4.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz";
-        sha512 = "p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==";
+        url = "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz";
+        sha512 = "kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==";
       };
     };
-    "unist-util-position-from-estree-1.1.1" = {
+    "unist-util-position-from-estree-1.1.2" = {
       name = "unist-util-position-from-estree";
       packageName = "unist-util-position-from-estree";
-      version = "1.1.1";
+      version = "1.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.1.tgz";
-        sha512 = "xtoY50b5+7IH8tFbkw64gisG9tMSpxDjhX9TmaJJae/XuxQ9R/Kc8Nv1eOsf43Gt4KV/LkriMy9mptDr7XLcaw==";
+        url = "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.2.tgz";
+        sha512 = "poZa0eXpS+/XpoQwGwl79UUdea4ol2ZuCYguVaJS4qzIOMDzbqz8a3erUCOmubSZkaOuGamb3tX790iwOIROww==";
       };
     };
     "unist-util-remove-position-2.0.1" = {
@@ -75112,13 +75715,13 @@ let
         sha512 = "fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==";
       };
     };
-    "unist-util-remove-position-4.0.1" = {
+    "unist-util-remove-position-4.0.2" = {
       name = "unist-util-remove-position";
       packageName = "unist-util-remove-position";
-      version = "4.0.1";
+      version = "4.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.1.tgz";
-        sha512 = "0yDkppiIhDlPrfHELgB+NLQD5mfjup3a8UYclHruTJWmY74je8g+CIFr79x5f6AkmzSwlvKLbs63hC0meOMowQ==";
+        url = "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.2.tgz";
+        sha512 = "TkBb0HABNmxzAcfLf4qsIbFbaPDvMO6wa3b3j4VcEzFVaw1LBKwnW4/sRJ/atSLSzoIg41JWEdnE7N6DIhGDGQ==";
       };
     };
     "unist-util-stringify-position-1.1.2" = {
@@ -75139,13 +75742,13 @@ let
         sha512 = "3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==";
       };
     };
-    "unist-util-stringify-position-3.0.2" = {
+    "unist-util-stringify-position-3.0.3" = {
       name = "unist-util-stringify-position";
       packageName = "unist-util-stringify-position";
-      version = "3.0.2";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz";
-        sha512 = "7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==";
+        url = "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz";
+        sha512 = "k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==";
       };
     };
     "unist-util-to-list-of-char-0.1.3" = {
@@ -75184,13 +75787,13 @@ let
         sha512 = "Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==";
       };
     };
-    "unist-util-visit-4.1.1" = {
+    "unist-util-visit-4.1.2" = {
       name = "unist-util-visit";
       packageName = "unist-util-visit";
-      version = "4.1.1";
+      version = "4.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.1.tgz";
-        sha512 = "n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==";
+        url = "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz";
+        sha512 = "MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==";
       };
     };
     "unist-util-visit-children-1.1.4" = {
@@ -75202,13 +75805,13 @@ let
         sha512 = "sA/nXwYRCQVRwZU2/tQWUqJ9JSFM1X3x7JIOsIgSzrFHcfVt6NkzDtKzyxg2cZWkCwGF9CO8x4QNZRJRMK8FeQ==";
       };
     };
-    "unist-util-visit-children-2.0.1" = {
+    "unist-util-visit-children-2.0.2" = {
       name = "unist-util-visit-children";
       packageName = "unist-util-visit-children";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-2.0.1.tgz";
-        sha512 = "2cEU3dhV1hMfO9ajwb8rJsDedMfsahsm6fCfR8LxDR/w7KcB5lzHQ9dBTQIXsWGNWBFH5MPmaFP3Xh0dWLqClQ==";
+        url = "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-2.0.2.tgz";
+        sha512 = "+LWpMFqyUwLGpsQxpumsQ9o9DG2VGLFrpz+rpVXYIEdPy57GSy5HioC0g3bg/8WP9oCLlapQtklOzQ8uLS496Q==";
       };
     };
     "unist-util-visit-parents-2.1.2" = {
@@ -75238,13 +75841,13 @@ let
         sha512 = "1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==";
       };
     };
-    "unist-util-visit-parents-5.1.1" = {
+    "unist-util-visit-parents-5.1.3" = {
       name = "unist-util-visit-parents";
       packageName = "unist-util-visit-parents";
-      version = "5.1.1";
+      version = "5.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz";
-        sha512 = "gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==";
+        url = "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz";
+        sha512 = "x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==";
       };
     };
     "universal-analytics-0.5.3" = {
@@ -75670,13 +76273,13 @@ let
         sha512 = "Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==";
       };
     };
-    "urkel-1.0.2" = {
+    "urkel-1.0.3" = {
       name = "urkel";
       packageName = "urkel";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/urkel/-/urkel-1.0.2.tgz";
-        sha512 = "Y5UXbgBr6pczrD08N0SYJkWjtdtTTpmZsOvuftdrEHLnTjuxwSNjKsXYLQkICTptvnHAJ2OjI6XdAxtYTyOHew==";
+        url = "https://registry.npmjs.org/urkel/-/urkel-1.0.3.tgz";
+        sha512 = "L2M46WWSaz1LpyUYFgnQg7WSOWtNcRx3uH+4GwHK1jbmYj6phLuIwirTVMlhfcZ0o/CWn5Y04UWLhmlvijZiDg==";
       };
     };
     "url-0.10.3" = {
@@ -75742,15 +76345,6 @@ let
         sha512 = "goSdg8VY+7nPZKUEChZSEtW5gjbS66USIGCeSJ1OVOJ7Yfuh/36YxCwMi5HVEJh6mqUYOoy3NJ0vlOMrWsSHog==";
       };
     };
-    "url-loader-4.1.1" = {
-      name = "url-loader";
-      packageName = "url-loader";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz";
-        sha512 = "3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==";
-      };
-    };
     "url-parse-1.5.10" = {
       name = "url-parse";
       packageName = "url-parse";
@@ -75922,13 +76516,13 @@ let
         sha512 = "vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q==";
       };
     };
-    "utf-8-validate-6.0.0" = {
+    "utf-8-validate-6.0.2" = {
       name = "utf-8-validate";
       packageName = "utf-8-validate";
-      version = "6.0.0";
+      version = "6.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-6.0.0.tgz";
-        sha512 = "OCJuwxQsnG51swYmNloViggxNOFO/leOZpnb/vVeoastJbrzrZZU7lGsYlUcdkCl9nsBu2nkKLjpljb3Ckvb/Q==";
+        url = "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-6.0.2.tgz";
+        sha512 = "yd7PQEOW+EgecUzSD7XUXTyq/vREGXk7t7fzGfOvwOAr0Z64h5rfGrmkNk8+ddVmf/FrkjPPhVyYBa7fuSPVTg==";
       };
     };
     "utf7-1.0.2" = {
@@ -75985,6 +76579,15 @@ let
         sha512 = "Rv9/OsKlBgMlLGai2EAoVheIbdBlndMunkXH4BuU81R2+Nky24I670OdGIb+NMpCbuHGyKjk9OQ7hdyOxuNXgw==";
       };
     };
+    "utif-2.0.1" = {
+      name = "utif";
+      packageName = "utif";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utif/-/utif-2.0.1.tgz";
+        sha512 = "Z/S1fNKCicQTf375lIP9G8Sa1H/phcysstNrrSdZKj1f9g58J4NMgb5IgiEZN9/nLMPDwF0W7hdOe9Qq2IYoLg==";
+      };
+    };
     "util-0.10.3" = {
       name = "util";
       packageName = "util";
@@ -77227,13 +77830,13 @@ let
         sha512 = "jWi+297PJUUWTHwlcrZz0zIuEXuHOBJIQMapXmEzbosWGv/gMnNSAMV4hTKnl5wzxvZKZzV6j+WFdrSlKQ5qnw==";
       };
     };
-    "vscode-css-languageservice-6.2.1" = {
+    "vscode-css-languageservice-6.2.3" = {
       name = "vscode-css-languageservice";
       packageName = "vscode-css-languageservice";
-      version = "6.2.1";
+      version = "6.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.2.1.tgz";
-        sha512 = "FMaMjB2LQdkHjTCP2CWh2S94xuGsxSc8xr0H9nAACVd/iUDyZLoKFjwoB+mA3v0rpCH2U5vVCVwxyULy61CgqA==";
+        url = "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.2.3.tgz";
+        sha512 = "EAyhyIVHpEaf+GjtI+tVe7SekdoANfG0aubnspsQwak3Qkimn/97FpAufNyXk636ngW05pjNKAR9zyTCzo6avQ==";
       };
     };
     "vscode-emmet-helper-1.2.17" = {
@@ -77254,13 +77857,13 @@ let
         sha512 = "mIb5VMXM5jI97HzCk2eadI1K//rCEZXte0wBqA7PGXsyJH4KTyJUaYk9MR+mbfpUl2vMi3HZw9GUOLGYLc6l5w==";
       };
     };
-    "vscode-html-languageservice-5.0.3" = {
+    "vscode-html-languageservice-5.0.4" = {
       name = "vscode-html-languageservice";
       packageName = "vscode-html-languageservice";
-      version = "5.0.3";
+      version = "5.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.0.3.tgz";
-        sha512 = "6rfrtcHhXDMXmC5pR2WXrx02HiNCzQDynOBMn+53zLxr2hvZrDzoc0QgC0FaFGfcglf7GeOsfhkWvJBFC/a70g==";
+        url = "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.0.4.tgz";
+        sha512 = "tvrySfpglu4B2rQgWGVO/IL+skvU7kBkQotRlxA7ocSyRXOZUd6GA13XHkxo8LPe07KWjeoBlN1aVGqdfTK4xA==";
       };
     };
     "vscode-json-languageservice-3.11.0" = {
@@ -77290,13 +77893,13 @@ let
         sha512 = "xGmv9QIWs2H8obGbWg+sIPI/3/pFgj/5OWBhNzs00BkYQ9UaB2F6JJaGB/2/YOZJ3BvLXQTC4Q7muqU25QgAhA==";
       };
     };
-    "vscode-json-languageservice-5.1.3" = {
+    "vscode-json-languageservice-5.1.4" = {
       name = "vscode-json-languageservice";
       packageName = "vscode-json-languageservice";
-      version = "5.1.3";
+      version = "5.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-5.1.3.tgz";
-        sha512 = "p0O1Ql5+zyWFIBU4cSxnDcuq9OnbE0MmvNKDYYvz4EPsZ9EHBT3I6KJb5Gk3snkj+jQTFILEZ06cfY7WZxxqPw==";
+        url = "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-5.1.4.tgz";
+        sha512 = "ROZ1ezYQUbq9b/07xYpHtZSyyhoUk3oTTGVAEr6bU1DKr8ELaz9fsDoHno34tKtHj/Tf3deQqfjQNGKdbRuvTw==";
       };
     };
     "vscode-jsonrpc-3.5.0" = {
@@ -78109,13 +78712,13 @@ let
         sha512 = "/lRBpLn2TvEwrIW5i35ZCpb+SIq4VWq4c1yxN311we+E4eXRW7EB5nybrv4fJEuBmgqyqVkT2gtQ6Zqu+u66mA==";
       };
     };
-    "wavedrom-2.9.1" = {
+    "wavedrom-3.1.1" = {
       name = "wavedrom";
       packageName = "wavedrom";
-      version = "2.9.1";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/wavedrom/-/wavedrom-2.9.1.tgz";
-        sha512 = "IPv1bKVwh4Zo8dMMQfnNy4KFqU/v0buoPDwLkTrtHE2nr0dV4pHqryhWpqNCSUm7xTWroER+nE5xRkng96xLUA==";
+        url = "https://registry.npmjs.org/wavedrom/-/wavedrom-3.1.1.tgz";
+        sha512 = "+6w4AvzsD+yHVP/mEYzn2sQ1VKn0UZNEt4QeO4X74cxEt8NhZOB+fxfHrUkbArfyC32AhhbTd5ZtD8RtBChA0Q==";
       };
     };
     "wawoff2-2.0.1" = {
@@ -78244,6 +78847,15 @@ let
         sha512 = "flC9JJmTII9uAeeYpWF8hxDJ7bfY+leldQryetll8Nv4WgI+MXc6h7TiyAZASWl9uC9TvmfdgOjZn1DAQecb3A==";
       };
     };
+    "web-vitals-0.2.4" = {
+      name = "web-vitals";
+      packageName = "web-vitals";
+      version = "0.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/web-vitals/-/web-vitals-0.2.4.tgz";
+        sha512 = "6BjspCO9VriYy12z356nL6JBS0GYeEcA457YyRzD+dD6XYCQ75NKhcOHUMHentOE7OcVCIXXDvOm0jKFfQG2Gg==";
+      };
+    };
     "web3-utils-1.8.1" = {
       name = "web3-utils";
       packageName = "web3-utils";
@@ -78343,15 +78955,6 @@ let
         sha512 = "75WFUMblcWYcocjSLlXCb71QuGyH7egdBZu50FtBGl2Nso8CK3Ej+J7bTZz2FPFq5l6fzCisD9modB7t30ikuA==";
       };
     };
-    "webpack-4.43.0" = {
-      name = "webpack";
-      packageName = "webpack";
-      version = "4.43.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-4.43.0.tgz";
-        sha512 = "GW1LjnPipFW2Y78OOab8NJlCflB7EFskMih2AHdvjbpKMeDJqEgSx24cXXXiPS65+WSwVyxtDsJH6jGX2czy+g==";
-      };
-    };
     "webpack-4.46.0" = {
       name = "webpack";
       packageName = "webpack";
@@ -78442,22 +79045,22 @@ let
         sha512 = "hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==";
       };
     };
-    "webpack-dev-server-3.11.0" = {
+    "webpack-dev-server-3.11.3" = {
       name = "webpack-dev-server";
       packageName = "webpack-dev-server";
-      version = "3.11.0";
+      version = "3.11.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz";
-        sha512 = "PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==";
+        url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz";
+        sha512 = "3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==";
       };
     };
-    "webpack-dev-server-3.11.3" = {
+    "webpack-dev-server-4.11.1" = {
       name = "webpack-dev-server";
       packageName = "webpack-dev-server";
-      version = "3.11.3";
+      version = "4.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz";
-        sha512 = "3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==";
+        url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.11.1.tgz";
+        sha512 = "lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==";
       };
     };
     "webpack-flush-chunks-2.0.3" = {
@@ -78487,13 +79090,13 @@ let
         sha512 = "cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==";
       };
     };
-    "webpack-manifest-plugin-2.2.0" = {
+    "webpack-manifest-plugin-4.1.1" = {
       name = "webpack-manifest-plugin";
       packageName = "webpack-manifest-plugin";
-      version = "2.2.0";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-2.2.0.tgz";
-        sha512 = "9S6YyKKKh/Oz/eryM1RyLVDVmy3NSPV0JXMRhZ18fJsq+AwGxUY34X54VNwkzYcEmEkDwNxuEOboCZEebJXBAQ==";
+        url = "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz";
+        sha512 = "YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==";
       };
     };
     "webpack-merge-4.2.2" = {
@@ -78550,6 +79153,15 @@ let
         sha512 = "lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==";
       };
     };
+    "webpack-sources-2.3.1" = {
+      name = "webpack-sources";
+      packageName = "webpack-sources";
+      version = "2.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz";
+        sha512 = "y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==";
+      };
+    };
     "webpack-sources-3.2.3" = {
       name = "webpack-sources";
       packageName = "webpack-sources";
@@ -78568,15 +79180,6 @@ let
         sha512 = "UlTm7Yz4meJV0THhZMrgRTE9v/vZ0xfUoJ/eOig98TvzsqNiW+FLSv5WaZeML3uJUPrMQ6K5jo1FJJFXNCc8+g==";
       };
     };
-    "websocket-driver-0.6.5" = {
-      name = "websocket-driver";
-      packageName = "websocket-driver";
-      version = "0.6.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz";
-        sha512 = "oBx6ZM1Gs5q2jwZuSN/Qxyy/fbgomV8+vqsmipaPKB/74hjHlKuM07jNmRhn4qa2AdUwsgxrltq+gaPsHgcl0Q==";
-      };
-    };
     "websocket-driver-0.7.4" = {
       name = "websocket-driver";
       packageName = "websocket-driver";
@@ -79333,13 +79936,13 @@ let
         sha512 = "YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==";
       };
     };
-    "wrap-ansi-8.0.1" = {
+    "wrap-ansi-8.1.0" = {
       name = "wrap-ansi";
       packageName = "wrap-ansi";
-      version = "8.0.1";
+      version = "8.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.0.1.tgz";
-        sha512 = "QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==";
+        url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz";
+        sha512 = "si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==";
       };
     };
     "wrap-fn-0.1.5" = {
@@ -79729,13 +80332,13 @@ let
         sha512 = "N1XQngeqMBoj9wM4ZFadVV2MymImeiFfYD+fJrNlcVcOHsJFFQe7n3b+aBoTPwARuq2HQxukfzVpQmAk1gN4sQ==";
       };
     };
-    "xdl-59.3.0" = {
+    "xdl-60.0.1" = {
       name = "xdl";
       packageName = "xdl";
-      version = "59.3.0";
+      version = "60.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xdl/-/xdl-59.3.0.tgz";
-        sha512 = "+7HeQDo13SWNCktnmggutegmWBIgF5TzKLPpaZe3qhlTXRETdNvQUbuYfaETLlcwk372jzvO7navUgxUvFrpNA==";
+        url = "https://registry.npmjs.org/xdl/-/xdl-60.0.1.tgz";
+        sha512 = "L9T0faRdF8hH3LUOkYV4dJc43peV3WSYV3l+edonWbNGPdbhhVvbFgriEL9yWJrxlHmTLC/vRJ4unUXGkUTk4A==";
       };
     };
     "xenvar-0.5.1" = {
@@ -80126,13 +80729,13 @@ let
         sha512 = "F6WF5s6xG/bm8Oxi2ETuzwGQW8yleL5I4JPxZl49m7Uw7D4LAXu+4dvUK78Uo4D863sM8auqw6+1Xmj9mFlmDQ==";
       };
     };
-    "xstate-4.35.2" = {
+    "xstate-4.35.3" = {
       name = "xstate";
       packageName = "xstate";
-      version = "4.35.2";
+      version = "4.35.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xstate/-/xstate-4.35.2.tgz";
-        sha512 = "5X7EyJv5OHHtGQwN7DsmCAbSnDs3Mxl1cXQ4PVaLwi+7p/RRapERnd1dFyHjYin+KQoLLfuXpl1dPBThgyIGNg==";
+        url = "https://registry.npmjs.org/xstate/-/xstate-4.35.3.tgz";
+        sha512 = "/vM8la6OPcmT2P4R8p37P/Pzo8fTeEjvg+lxCfQ7vTeJg6NmzPHDJ5RdlrGfojEIabMxKW22Tm2kz8oV390Awg==";
       };
     };
     "xstream-11.14.0" = {
@@ -80909,13 +81512,13 @@ let
         sha512 = "1MzNQdAvO+54H+EaK5YpyEy0T+Ejo/7YLHS93G3RnYWh5gaotGHwGeN/ZO687qEDU2y4CdStQYXVHIgrUl5UVQ==";
       };
     };
-    "zwave-js-10.4.0" = {
+    "zwave-js-10.5.4" = {
       name = "zwave-js";
       packageName = "zwave-js";
-      version = "10.4.0";
+      version = "10.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/zwave-js/-/zwave-js-10.4.0.tgz";
-        sha512 = "9eVe+7xli+KOvoyakXPMI1a5Mhkjlwi2t6Gniuyu+s6U8rOCd8NmhHvvzB2p+2KLRjuYjBRqPNA5c8qAsvC+ug==";
+        url = "https://registry.npmjs.org/zwave-js/-/zwave-js-10.5.4.tgz";
+        sha512 = "Zo2aSYLYKLUca0Wxp7m1Ju83CZeAvJorKjww9MkIvR85hqi/I5QZCC0nXQ2sQb3q0171tGndtICdfsuAE7dfRg==";
       };
     };
     "zwitch-1.0.5" = {
@@ -80951,15 +81554,15 @@ in
   "@angular/cli" = nodeEnv.buildNodePackage {
     name = "_at_angular_slash_cli";
     packageName = "@angular/cli";
-    version = "15.1.1";
+    version = "15.1.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@angular/cli/-/cli-15.1.1.tgz";
-      sha512 = "539I3B5yTasaX/EQrXZyXOc9eZUyVBxMWiGj3/bmlCsft7/Y8J+A92uftjxIO4P8lYWzSdSxFT3Bu1zI1b6yzw==";
+      url = "https://registry.npmjs.org/@angular/cli/-/cli-15.1.3.tgz";
+      sha512 = "gNVvyvkGZ1zKiDdWjPqCLst8iHcB1C4B2nXrr3B+/YAd1G/y87VI1aBKFlK9ulG4tkwktog5uQaut7xs48IsEQ==";
     };
     dependencies = [
-      sources."@angular-devkit/architect-0.1501.1"
-      sources."@angular-devkit/core-15.1.1"
-      sources."@angular-devkit/schematics-15.1.1"
+      sources."@angular-devkit/architect-0.1501.3"
+      sources."@angular-devkit/core-15.1.3"
+      sources."@angular-devkit/schematics-15.1.3"
       sources."@gar/promisify-1.1.3"
       sources."@jridgewell/sourcemap-codec-1.4.14"
       sources."@npmcli/fs-2.1.2"
@@ -80969,7 +81572,7 @@ in
       sources."@npmcli/node-gyp-3.0.0"
       sources."@npmcli/promise-spawn-6.0.2"
       sources."@npmcli/run-script-6.0.0"
-      sources."@schematics/angular-15.1.1"
+      sources."@schematics/angular-15.1.3"
       sources."@tootallnate/once-2.0.0"
       sources."@yarnpkg/lockfile-1.1.0"
       sources."abbrev-1.1.1"
@@ -81050,7 +81653,7 @@ in
       sources."has-flag-4.0.0"
       sources."has-unicode-2.0.1"
       sources."hosted-git-info-6.1.1"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-proxy-agent-5.0.0"
       sources."https-proxy-agent-5.0.1"
       sources."humanize-ms-1.2.1"
@@ -81071,7 +81674,7 @@ in
       (sources."inquirer-8.2.4" // {
         dependencies = [
           sources."rxjs-7.8.0"
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       sources."ip-2.0.0"
@@ -81182,7 +81785,7 @@ in
       sources."proc-log-3.0.0"
       sources."promise-inflight-1.0.1"
       sources."promise-retry-2.0.1"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       (sources."read-package-json-6.0.0" // {
         dependencies = [
           sources."brace-expansion-2.0.1"
@@ -81268,10 +81871,10 @@ in
   "@antfu/ni" = nodeEnv.buildNodePackage {
     name = "_at_antfu_slash_ni";
     packageName = "@antfu/ni";
-    version = "0.18.8";
+    version = "0.19.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@antfu/ni/-/ni-0.18.8.tgz";
-      sha512 = "0m++AudwQq+wWAz/Ax7g+sh/wFW51HHQ6BtPLsuTAsFIzWB/bv/0COwZE7BRS+u0nqMb6Ks6nlk6cY1TpPDwHg==";
+      url = "https://registry.npmjs.org/@antfu/ni/-/ni-0.19.0.tgz";
+      sha512 = "33VKTuBjoW2canoVMGa4g5oGCg7KK8UVmBBmUKzvQ+Fa69kk2YI8sqt94WCpvSWmW/yD5ZXsD9G9s689b9KwwQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -81443,7 +82046,7 @@ in
       sources."fs-mkdirp-stream-1.0.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."glob-7.1.3"
       sources."glob-parent-6.0.2"
       (sources."glob-stream-7.0.0" // {
@@ -81610,10 +82213,10 @@ in
   "@astrojs/language-server" = nodeEnv.buildNodePackage {
     name = "_at_astrojs_slash_language-server";
     packageName = "@astrojs/language-server";
-    version = "0.29.4";
+    version = "0.29.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@astrojs/language-server/-/language-server-0.29.4.tgz";
-      sha512 = "ZcvMVz4ItsLe+Ey6Ucrp+HYYT5Bc9BeNlQ7QYWVyHYqoke/HvlHXHPScj04LxVJ2Iq9FXjj4yRNFxBWj8P5J2g==";
+      url = "https://registry.npmjs.org/@astrojs/language-server/-/language-server-0.29.5.tgz";
+      sha512 = "HRPpAicAE+nyuC7wX3f8W2HOcXgWOU+++hZk1290wQUp1SUHAziZ4VWtnqMAm9n8h4VfS09yM/cvXOtHzGd/BQ==";
     };
     dependencies = [
       sources."@astrojs/compiler-0.31.4"
@@ -81629,7 +82232,7 @@ in
           sources."vscode-uri-2.1.2"
         ];
       })
-      sources."@vscode/l10n-0.0.10"
+      sources."@vscode/l10n-0.0.11"
       sources."cross-spawn-7.0.3"
       sources."define-lazy-prop-2.0.0"
       sources."emmet-2.3.6"
@@ -81652,11 +82255,11 @@ in
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."suf-log-2.5.3"
-      sources."synckit-0.8.4"
+      sources."synckit-0.8.5"
       sources."tiny-glob-0.2.9"
-      sources."tslib-2.4.1"
-      sources."vscode-css-languageservice-6.2.1"
-      sources."vscode-html-languageservice-5.0.3"
+      sources."tslib-2.5.0"
+      sources."vscode-css-languageservice-6.2.3"
+      sources."vscode-html-languageservice-5.0.4"
       sources."vscode-jsonrpc-8.0.2"
       sources."vscode-languageserver-8.0.2"
       sources."vscode-languageserver-protocol-3.17.2"
@@ -81685,9 +82288,9 @@ in
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
       sources."@babel/code-frame-7.18.6"
-      sources."@babel/compat-data-7.20.10"
+      sources."@babel/compat-data-7.20.14"
       sources."@babel/core-7.20.12"
-      (sources."@babel/generator-7.20.7" // {
+      (sources."@babel/generator-7.20.14" // {
         dependencies = [
           sources."@jridgewell/gen-mapping-0.3.2"
         ];
@@ -81704,18 +82307,18 @@ in
       sources."@babel/helper-string-parser-7.19.4"
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/helper-validator-option-7.18.6"
-      sources."@babel/helpers-7.20.7"
+      sources."@babel/helpers-7.20.13"
       (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@babel/plugin-proposal-export-namespace-from-7.18.9"
       sources."@babel/plugin-syntax-export-namespace-from-7.8.3"
       sources."@babel/plugin-transform-modules-commonjs-7.20.11"
       sources."@babel/template-7.20.7"
-      sources."@babel/traverse-7.20.12"
+      sources."@babel/traverse-7.20.13"
       sources."@babel/types-7.20.7"
       sources."@jridgewell/gen-mapping-0.1.1"
       sources."@jridgewell/resolve-uri-3.1.0"
@@ -81739,7 +82342,7 @@ in
       sources."abab-2.0.6"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.8"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -81772,7 +82375,7 @@ in
       sources."bytes-3.1.2"
       sources."cache-content-type-1.0.1"
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."canvas-2.11.0"
       (sources."chalk-4.1.2" // {
         dependencies = [
@@ -81873,7 +82476,7 @@ in
       sources."function-bind-1.1.1"
       sources."gauge-3.0.2"
       sources."gensync-1.0.0-beta.2"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."glob-7.2.3"
       sources."globals-11.12.0"
       sources."graceful-fs-4.2.10"
@@ -82002,7 +82605,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."proper-lockfile-4.1.2"
       sources."psl-1.9.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.11.0"
       sources."querystringify-2.2.0"
       (sources."raw-body-2.5.1" // {
@@ -82020,7 +82623,7 @@ in
       sources."run-async-2.4.1"
       (sources."rxjs-7.8.0" // {
         dependencies = [
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       sources."safe-buffer-5.1.2"
@@ -82151,18 +82754,18 @@ in
       sources."@jridgewell/resolve-uri-3.1.0"
       sources."@jridgewell/sourcemap-codec-1.4.14"
       sources."@jridgewell/trace-mapping-0.3.9"
-      sources."@swc/core-1.3.27"
-      sources."@swc/core-darwin-arm64-1.3.27"
-      sources."@swc/core-darwin-x64-1.3.27"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.27"
-      sources."@swc/core-linux-arm64-gnu-1.3.27"
-      sources."@swc/core-linux-arm64-musl-1.3.27"
-      sources."@swc/core-linux-x64-gnu-1.3.27"
-      sources."@swc/core-linux-x64-musl-1.3.27"
-      sources."@swc/core-win32-arm64-msvc-1.3.27"
-      sources."@swc/core-win32-ia32-msvc-1.3.27"
-      sources."@swc/core-win32-x64-msvc-1.3.27"
-      sources."@swc/wasm-1.3.27"
+      sources."@swc/core-1.3.29"
+      sources."@swc/core-darwin-arm64-1.3.29"
+      sources."@swc/core-darwin-x64-1.3.29"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.29"
+      sources."@swc/core-linux-arm64-gnu-1.3.29"
+      sources."@swc/core-linux-arm64-musl-1.3.29"
+      sources."@swc/core-linux-x64-gnu-1.3.29"
+      sources."@swc/core-linux-x64-musl-1.3.29"
+      sources."@swc/core-win32-arm64-msvc-1.3.29"
+      sources."@swc/core-win32-ia32-msvc-1.3.29"
+      sources."@swc/core-win32-x64-msvc-1.3.29"
+      sources."@swc/wasm-1.3.29"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
@@ -82171,7 +82774,7 @@ in
       sources."@types/node-18.11.18"
       sources."@types/normalize-package-data-2.4.1"
       sources."JSONStream-1.3.5"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-walk-8.2.0"
       sources."ajv-8.12.0"
       sources."ansi-regex-5.0.1"
@@ -82279,7 +82882,7 @@ in
       sources."path-key-3.1.1"
       sources."path-parse-1.0.7"
       sources."path-type-4.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."q-1.5.1"
       sources."quick-lru-4.0.1"
       (sources."read-pkg-5.2.0" // {
@@ -82384,10 +82987,10 @@ in
   "@emacs-eask/cli" = nodeEnv.buildNodePackage {
     name = "_at_emacs-eask_slash_cli";
     packageName = "@emacs-eask/cli";
-    version = "0.7.8";
+    version = "0.7.10";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@emacs-eask/cli/-/cli-0.7.8.tgz";
-      sha512 = "Vr7nZf9H/T6wQyrC+vj3x2ysGbRlyRsayp6TrWu5jBWUi2ocYCq2/0O48HUKj9lkyEPWKjwr+ANehC95S727Sg==";
+      url = "https://registry.npmjs.org/@emacs-eask/cli/-/cli-0.7.10.tgz";
+      sha512 = "Gwr5PsyH+JSsM3jaJLW00EqwMD151wu0v3lBa58mnbBVVXOEG6Fnynv9jE9vLzOkhAVcDH9dtCtYlurDH7/YZg==";
     };
     dependencies = [
       sources."ansi-regex-5.0.1"
@@ -82420,10 +83023,10 @@ in
   "@forge/cli" = nodeEnv.buildNodePackage {
     name = "_at_forge_slash_cli";
     packageName = "@forge/cli";
-    version = "6.4.0";
+    version = "6.4.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@forge/cli/-/cli-6.4.0.tgz";
-      sha512 = "inTrWbkBbgnFX+L+RJ4XRxo6GgXGGiECZLnE1WrCpgoNI8j+SSvk11UPz5YA3krebKeiSJseMQ/VyswePvzsMg==";
+      url = "https://registry.npmjs.org/@forge/cli/-/cli-6.4.1.tgz";
+      sha512 = "tG2Zoq63T256wmA9BteJwFqef2qFxySHurs1WOZ4j1Dnz23w2tQLa86X0Sz3P6/43td+j74TMklPqRdu1jJIEg==";
     };
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
@@ -82434,9 +83037,9 @@ in
         ];
       })
       sources."@babel/code-frame-7.18.6"
-      sources."@babel/compat-data-7.20.10"
+      sources."@babel/compat-data-7.20.14"
       sources."@babel/core-7.20.12"
-      (sources."@babel/generator-7.20.7" // {
+      (sources."@babel/generator-7.20.14" // {
         dependencies = [
           sources."@jridgewell/gen-mapping-0.3.2"
         ];
@@ -82459,9 +83062,9 @@ in
       sources."@babel/helper-string-parser-7.19.4"
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/helper-validator-option-7.18.6"
-      sources."@babel/helpers-7.20.7"
+      sources."@babel/helpers-7.20.13"
       sources."@babel/highlight-7.18.6"
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@babel/plugin-proposal-class-properties-7.18.6"
       sources."@babel/plugin-proposal-numeric-separator-7.18.6"
       sources."@babel/plugin-proposal-optional-chaining-7.20.7"
@@ -82469,23 +83072,23 @@ in
       sources."@babel/plugin-syntax-numeric-separator-7.10.4"
       sources."@babel/plugin-syntax-optional-chaining-7.8.3"
       sources."@babel/plugin-syntax-typescript-7.20.0"
-      sources."@babel/plugin-transform-react-jsx-7.20.7"
-      sources."@babel/plugin-transform-typescript-7.20.7"
+      sources."@babel/plugin-transform-react-jsx-7.20.13"
+      sources."@babel/plugin-transform-typescript-7.20.13"
       sources."@babel/preset-typescript-7.18.6"
       sources."@babel/template-7.20.7"
-      sources."@babel/traverse-7.20.12"
+      sources."@babel/traverse-7.20.13"
       sources."@babel/types-7.20.7"
       sources."@colors/colors-1.5.0"
       sources."@discoveryjs/json-ext-0.5.7"
-      sources."@forge/api-2.9.1"
+      sources."@forge/api-2.10.0"
       (sources."@forge/auth-0.0.1" // {
         dependencies = [
           sources."tslib-1.14.1"
         ];
       })
       sources."@forge/babel-plugin-transform-ui-1.1.0"
-      sources."@forge/bundler-4.2.0"
-      (sources."@forge/cli-shared-3.5.0" // {
+      sources."@forge/bundler-4.3.0"
+      (sources."@forge/cli-shared-3.5.1" // {
         dependencies = [
           sources."glob-7.2.3"
         ];
@@ -82496,8 +83099,8 @@ in
           sources."minimatch-5.1.6"
         ];
       })
-      sources."@forge/lint-3.2.12"
-      sources."@forge/manifest-4.5.3"
+      sources."@forge/lint-3.2.13"
+      sources."@forge/manifest-4.6.0"
       sources."@forge/storage-1.3.1"
       sources."@forge/util-1.2.0"
       sources."@jridgewell/gen-mapping-0.1.1"
@@ -82515,6 +83118,22 @@ in
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@polka/url-1.0.0-next.21"
+      (sources."@sentry/core-7.34.0" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
+      (sources."@sentry/node-7.34.0" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
+      sources."@sentry/types-7.34.0"
+      (sources."@sentry/utils-7.34.0" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/eslint-8.4.10"
@@ -82524,15 +83143,15 @@ in
       sources."@types/json-schema-7.0.11"
       sources."@types/node-18.11.18"
       sources."@types/node-fetch-2.6.2"
-      sources."@typescript-eslint/types-5.48.2"
-      (sources."@typescript-eslint/typescript-estree-5.48.2" // {
+      sources."@typescript-eslint/types-5.49.0"
+      (sources."@typescript-eslint/typescript-estree-5.49.0" // {
         dependencies = [
           sources."lru-cache-6.0.0"
           sources."semver-7.3.8"
           sources."yallist-4.0.0"
         ];
       })
-      sources."@typescript-eslint/visitor-keys-5.48.2"
+      sources."@typescript-eslint/visitor-keys-5.49.0"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
       sources."@webassemblyjs/helper-api-error-1.11.1"
@@ -82553,9 +83172,10 @@ in
       sources."@webpack-cli/serve-1.7.0"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-import-assertions-1.8.0"
       sources."acorn-walk-8.2.0"
+      sources."agent-base-6.0.2"
       (sources."ajv-6.12.6" // {
         dependencies = [
           sources."fast-deep-equal-3.1.3"
@@ -82639,7 +83259,7 @@ in
       sources."call-bind-1.0.2"
       sources."call-me-maybe-1.0.2"
       sources."camel-case-4.1.2"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."case-1.6.3"
       sources."chainsaw-0.1.0"
       sources."chalk-2.4.2"
@@ -82660,7 +83280,7 @@ in
       sources."chownr-1.1.4"
       sources."chrome-trace-event-1.0.3"
       sources."cipher-base-1.0.4"
-      sources."clean-css-5.3.1"
+      sources."clean-css-5.3.2"
       sources."cli-color-2.0.3"
       sources."cli-cursor-3.1.0"
       sources."cli-spinners-2.7.0"
@@ -82686,6 +83306,7 @@ in
       sources."conf-6.2.4"
       sources."console-browserify-1.2.0"
       sources."convert-source-map-1.9.0"
+      sources."cookie-0.4.2"
       sources."core-util-is-1.0.3"
       sources."crc-32-1.2.2"
       sources."crc32-stream-4.0.2"
@@ -82821,7 +83442,7 @@ in
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
       sources."get-folder-size-2.0.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-4.1.0"
       sources."get-symbol-description-1.0.0"
       sources."github-from-package-0.0.0"
@@ -82869,7 +83490,8 @@ in
       })
       sources."html-webpack-plugin-5.5.0"
       sources."htmlparser2-6.1.0"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
+      sources."https-proxy-agent-5.0.1"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
       sources."ignore-5.2.4"
@@ -82999,6 +83621,7 @@ in
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-5.1.1"
       sources."lru-queue-0.1.0"
+      sources."lru_map-0.3.3"
       sources."make-dir-3.1.0"
       sources."md5.js-1.3.5"
       sources."memfs-3.4.13"
@@ -83254,7 +83877,7 @@ in
       sources."totalist-1.1.0"
       (sources."tr46-1.0.1" // {
         dependencies = [
-          sources."punycode-2.2.0"
+          sources."punycode-2.3.0"
         ];
       })
       sources."traverse-0.3.9"
@@ -83272,7 +83895,7 @@ in
           sources."yallist-4.0.0"
         ];
       })
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       (sources."tsutils-3.21.0" // {
         dependencies = [
           sources."tslib-1.14.1"
@@ -83302,7 +83925,7 @@ in
       sources."update-browserslist-db-1.0.10"
       (sources."uri-js-4.4.1" // {
         dependencies = [
-          sources."punycode-2.2.0"
+          sources."punycode-2.3.0"
         ];
       })
       sources."urijs-1.19.11"
@@ -83480,7 +84103,7 @@ in
       sources."fuzzy-0.1.3"
       sources."gaxios-4.3.3"
       sources."gcp-metadata-4.3.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-5.2.0"
       sources."glob-parent-5.1.2"
       sources."google-auth-library-7.14.1"
@@ -83494,7 +84117,7 @@ in
       sources."has-flag-4.0.0"
       sources."has-symbols-1.0.3"
       sources."hosted-git-info-4.1.0"
-      sources."http-cache-semantics-4.1.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.6.3"
@@ -83671,7 +84294,7 @@ in
           sources."type-fest-2.19.0"
         ];
       })
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."type-fest-0.21.3"
       sources."typescript-4.9.4"
       sources."universalify-2.0.0"
@@ -83715,7 +84338,7 @@ in
       sha512 = "zCtMCbQxJc5k2iaB/nV+1FrGQBEfbnFh427BD7O3jR6wJjVGBIamXtVKnqYqC5Kjtam7Eb9jvusZNpRcnVcAFQ==";
     };
     dependencies = [
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@medable/mdctl-api-1.0.68"
       sources."@medable/mdctl-api-driver-1.0.68"
       sources."@medable/mdctl-axon-tools-1.0.68"
@@ -84383,7 +85006,7 @@ in
       sources."promise-nodify-1.0.2"
       sources."psl-1.9.0"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."q-1.5.1"
       sources."qs-6.5.3"
       sources."queue-microtask-1.2.3"
@@ -84640,25 +85263,25 @@ in
   "@microsoft/rush" = nodeEnv.buildNodePackage {
     name = "_at_microsoft_slash_rush";
     packageName = "@microsoft/rush";
-    version = "5.88.0";
+    version = "5.89.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@microsoft/rush/-/rush-5.88.0.tgz";
-      sha512 = "SEgQvrlCmBrjWogSXtk0cA9QAV7XqdeTurWYjjXLSNP56MMpqmF3e8b7FqnZcdT1r9i+rkWrBuQF/K3q+5bT7A==";
+      url = "https://registry.npmjs.org/@microsoft/rush/-/rush-5.89.1.tgz";
+      sha512 = "i21mAr6U+fo7+td9zlJ9R0MA9sqbpcq8dkod0keiFJkzOJnzIb0y8yJAvr7rEzxKKZqXdfktI/8gBi+GTvdMig==";
     };
     dependencies = [
       (sources."@azure/abort-controller-1.1.0" // {
         dependencies = [
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       (sources."@azure/core-auth-1.4.0" // {
         dependencies = [
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       (sources."@azure/core-client-1.7.0" // {
         dependencies = [
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       (sources."@azure/core-http-2.3.1" // {
@@ -84669,63 +85292,63 @@ in
               sources."form-data-3.0.1"
             ];
           })
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       (sources."@azure/core-lro-2.5.0" // {
         dependencies = [
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       (sources."@azure/core-paging-1.4.0" // {
         dependencies = [
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       (sources."@azure/core-rest-pipeline-1.10.1" // {
         dependencies = [
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       (sources."@azure/core-tracing-1.0.1" // {
         dependencies = [
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       (sources."@azure/core-util-1.1.1" // {
         dependencies = [
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       (sources."@azure/identity-2.1.0" // {
         dependencies = [
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       (sources."@azure/logger-1.0.3" // {
         dependencies = [
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       (sources."@azure/msal-browser-2.32.2" // {
         dependencies = [
-          sources."@azure/msal-common-9.1.0"
+          sources."@azure/msal-common-9.1.1"
         ];
       })
       sources."@azure/msal-common-7.6.0"
       (sources."@azure/msal-node-1.14.6" // {
         dependencies = [
-          sources."@azure/msal-common-9.1.0"
+          sources."@azure/msal-common-9.1.1"
         ];
       })
       (sources."@azure/storage-blob-12.11.0" // {
         dependencies = [
           sources."@azure/core-tracing-1.0.0-preview.13"
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       sources."@babel/code-frame-7.18.6"
-      sources."@babel/generator-7.20.7"
+      sources."@babel/generator-7.20.14"
       sources."@babel/helper-environment-visitor-7.18.9"
       sources."@babel/helper-function-name-7.19.0"
       sources."@babel/helper-hoist-variables-7.18.6"
@@ -84736,12 +85359,12 @@ in
       sources."@babel/parser-7.16.4"
       (sources."@babel/template-7.20.7" // {
         dependencies = [
-          sources."@babel/parser-7.20.7"
+          sources."@babel/parser-7.20.13"
         ];
       })
-      (sources."@babel/traverse-7.20.12" // {
+      (sources."@babel/traverse-7.20.13" // {
         dependencies = [
-          sources."@babel/parser-7.20.7"
+          sources."@babel/parser-7.20.13"
         ];
       })
       sources."@babel/types-7.20.7"
@@ -84751,11 +85374,12 @@ in
       sources."@jridgewell/set-array-1.1.2"
       sources."@jridgewell/sourcemap-codec-1.4.14"
       sources."@jridgewell/trace-mapping-0.3.17"
-      sources."@microsoft/rush-lib-5.88.0"
+      sources."@microsoft/rush-lib-5.89.1"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@opentelemetry/api-1.4.0"
+      sources."@pnpm/crypto.base32-hash-1.0.1"
       sources."@pnpm/error-1.4.0"
       sources."@pnpm/link-bins-5.3.25"
       sources."@pnpm/package-bins-4.1.0"
@@ -84768,24 +85392,24 @@ in
       })
       sources."@pnpm/types-6.4.0"
       sources."@pnpm/write-project-manifest-1.1.7"
-      sources."@rushstack/heft-config-file-0.11.4"
+      sources."@rushstack/heft-config-file-0.11.5"
       (sources."@rushstack/node-core-library-3.53.3" // {
         dependencies = [
           sources."import-lazy-4.0.0"
           sources."resolve-1.17.0"
         ];
       })
-      sources."@rushstack/package-deps-hash-3.2.66"
+      sources."@rushstack/package-deps-hash-4.0.3"
       (sources."@rushstack/rig-package-0.3.17" // {
         dependencies = [
           sources."resolve-1.17.0"
         ];
       })
-      sources."@rushstack/rush-amazon-s3-build-cache-plugin-5.88.0"
-      sources."@rushstack/rush-azure-storage-build-cache-plugin-5.88.0"
-      sources."@rushstack/rush-sdk-5.88.0"
-      sources."@rushstack/stream-collator-4.0.219"
-      sources."@rushstack/terminal-0.3.88"
+      sources."@rushstack/rush-amazon-s3-build-cache-plugin-5.89.1"
+      sources."@rushstack/rush-azure-storage-build-cache-plugin-5.89.1"
+      sources."@rushstack/rush-sdk-5.89.1"
+      sources."@rushstack/stream-collator-4.0.222"
+      sources."@rushstack/terminal-0.3.91"
       (sources."@rushstack/ts-command-line-4.13.1" // {
         dependencies = [
           sources."argparse-1.0.10"
@@ -84810,7 +85434,7 @@ in
       sources."@vue/reactivity-transform-3.2.45"
       sources."@vue/shared-3.2.45"
       sources."@yarnpkg/lockfile-1.0.2"
-      sources."@zkochan/cmd-shim-5.4.0"
+      sources."@zkochan/cmd-shim-5.4.1"
       sources."agent-base-6.0.2"
       sources."ansi-align-3.0.1"
       (sources."ansi-escapes-4.3.2" // {
@@ -84919,6 +85543,11 @@ in
           sources."js-yaml-3.14.1"
         ];
       })
+      (sources."dependency-path-9.2.8" // {
+        dependencies = [
+          sources."@pnpm/types-8.9.0"
+        ];
+      })
       sources."deps-regex-0.1.4"
       sources."detect-indent-6.1.0"
       sources."dezalgo-1.0.4"
@@ -84927,6 +85556,7 @@ in
       sources."duplexer3-0.1.5"
       sources."ecdsa-sig-formatter-1.0.11"
       sources."emoji-regex-8.0.0"
+      sources."encode-registry-3.0.0"
       (sources."encoding-0.1.13" // {
         dependencies = [
           sources."iconv-lite-0.6.3"
@@ -85003,7 +85633,7 @@ in
         ];
       })
       sources."hosted-git-info-4.1.0"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-proxy-agent-5.0.0"
       sources."https-proxy-agent-5.0.1"
       sources."human-signals-2.1.0"
@@ -85074,7 +85704,7 @@ in
           sources."jws-3.2.2"
         ];
       })
-      sources."jszip-3.7.1"
+      sources."jszip-3.8.0"
       sources."jwa-1.4.1"
       (sources."jws-4.0.0" // {
         dependencies = [
@@ -85115,7 +85745,9 @@ in
           sources."semver-6.3.0"
         ];
       })
+      sources."map-age-cleaner-0.1.3"
       sources."map-obj-4.3.0"
+      sources."mem-8.1.1"
       (sources."meow-9.0.0" // {
         dependencies = [
           sources."type-fest-0.18.1"
@@ -85126,7 +85758,7 @@ in
       sources."micromatch-4.0.5"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
-      sources."mimic-fn-2.1.0"
+      sources."mimic-fn-3.1.0"
       sources."mimic-response-1.0.1"
       sources."min-indent-1.0.1"
       sources."minimatch-3.1.2"
@@ -85176,7 +85808,11 @@ in
       sources."npm-run-path-4.0.1"
       sources."object-assign-4.1.1"
       sources."once-1.4.0"
-      sources."onetime-5.1.2"
+      (sources."onetime-5.1.2" // {
+        dependencies = [
+          sources."mimic-fn-2.1.0"
+        ];
+      })
       sources."open-8.4.0"
       (sources."ora-5.4.1" // {
         dependencies = [
@@ -85192,6 +85828,7 @@ in
       sources."os-tmpdir-1.0.2"
       sources."osenv-0.1.5"
       sources."p-cancelable-1.1.0"
+      sources."p-defer-1.0.0"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-reflect-2.1.0"
@@ -85238,7 +85875,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."psl-1.9.0"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."pupa-2.1.1"
       sources."query-ast-1.0.5"
       sources."querystringify-2.2.0"
@@ -85296,6 +85933,7 @@ in
       sources."responselike-1.0.2"
       sources."restore-cursor-3.1.0"
       sources."reusify-1.0.4"
+      sources."rfc4648-1.5.2"
       sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
       sources."rxjs-6.6.7"
@@ -85540,10 +86178,10 @@ in
   "@nestjs/cli" = nodeEnv.buildNodePackage {
     name = "_at_nestjs_slash_cli";
     packageName = "@nestjs/cli";
-    version = "9.1.8";
+    version = "9.1.9";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@nestjs/cli/-/cli-9.1.8.tgz";
-      sha512 = "53laCMoPLAkjyz3405FlMSrHnbr3DGeoaQjY963bEroezLlm/qfQhwj6oGJwtgA28eNFgx68mvQV2f1VZNUJtw==";
+      url = "https://registry.npmjs.org/@nestjs/cli/-/cli-9.1.9.tgz";
+      sha512 = "oRiJArvQcYUJRO0jRWG99KkXuw+HafSnlfWcO4028gTDb4IanRwbl6fw4mELTEAaXAwDGOcuk8R0QY8H3muyiQ==";
     };
     dependencies = [
       sources."@angular-devkit/core-15.0.4"
@@ -85553,7 +86191,7 @@ in
           sources."chalk-4.1.2"
           sources."inquirer-8.2.4"
           sources."rxjs-7.8.0"
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       sources."@babel/code-frame-7.18.6"
@@ -85599,7 +86237,7 @@ in
       sources."@webassemblyjs/wast-printer-1.11.1"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-import-assertions-1.8.0"
       sources."ajv-8.11.0"
       sources."ajv-formats-2.1.1"
@@ -85624,7 +86262,7 @@ in
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
       sources."callsites-3.1.0"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."chalk-3.0.0"
       sources."chardet-0.7.0"
       sources."chokidar-3.5.3"
@@ -85738,7 +86376,7 @@ in
       sources."minimist-1.2.7"
       sources."mute-stream-0.0.8"
       sources."neo-async-2.6.2"
-      sources."node-abort-controller-3.0.1"
+      sources."node-abort-controller-3.1.1"
       sources."node-emoji-1.11.0"
       sources."node-releases-2.0.8"
       sources."normalize-path-3.0.0"
@@ -85762,7 +86400,7 @@ in
       sources."picomatch-2.3.1"
       sources."pluralize-8.0.0"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."randombytes-2.1.0"
       sources."readable-stream-3.6.0"
       sources."readdirp-3.6.0"
@@ -85923,18 +86561,18 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@swc/core-1.3.27"
-      sources."@swc/core-darwin-arm64-1.3.27"
-      sources."@swc/core-darwin-x64-1.3.27"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.27"
-      sources."@swc/core-linux-arm64-gnu-1.3.27"
-      sources."@swc/core-linux-arm64-musl-1.3.27"
-      sources."@swc/core-linux-x64-gnu-1.3.27"
-      sources."@swc/core-linux-x64-musl-1.3.27"
-      sources."@swc/core-win32-arm64-msvc-1.3.27"
-      sources."@swc/core-win32-ia32-msvc-1.3.27"
-      sources."@swc/core-win32-x64-msvc-1.3.27"
-      sources."@swc/wasm-1.3.27"
+      sources."@swc/core-1.3.29"
+      sources."@swc/core-darwin-arm64-1.3.29"
+      sources."@swc/core-darwin-x64-1.3.29"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.29"
+      sources."@swc/core-linux-arm64-gnu-1.3.29"
+      sources."@swc/core-linux-arm64-musl-1.3.29"
+      sources."@swc/core-linux-x64-gnu-1.3.29"
+      sources."@swc/core-linux-x64-musl-1.3.29"
+      sources."@swc/core-win32-arm64-msvc-1.3.29"
+      sources."@swc/core-win32-ia32-msvc-1.3.29"
+      sources."@swc/core-win32-x64-msvc-1.3.29"
+      sources."@swc/wasm-1.3.29"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
@@ -86009,7 +86647,7 @@ in
       sources."to-regex-range-5.0.1"
       (sources."ts-node-10.9.1" // {
         dependencies = [
-          sources."acorn-8.8.1"
+          sources."acorn-8.8.2"
           sources."acorn-walk-8.2.0"
           sources."arg-4.1.3"
         ];
@@ -86047,18 +86685,18 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@swc/core-1.3.27"
-      sources."@swc/core-darwin-arm64-1.3.27"
-      sources."@swc/core-darwin-x64-1.3.27"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.27"
-      sources."@swc/core-linux-arm64-gnu-1.3.27"
-      sources."@swc/core-linux-arm64-musl-1.3.27"
-      sources."@swc/core-linux-x64-gnu-1.3.27"
-      sources."@swc/core-linux-x64-musl-1.3.27"
-      sources."@swc/core-win32-arm64-msvc-1.3.27"
-      sources."@swc/core-win32-ia32-msvc-1.3.27"
-      sources."@swc/core-win32-x64-msvc-1.3.27"
-      sources."@swc/wasm-1.3.27"
+      sources."@swc/core-1.3.29"
+      sources."@swc/core-darwin-arm64-1.3.29"
+      sources."@swc/core-darwin-x64-1.3.29"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.29"
+      sources."@swc/core-linux-arm64-gnu-1.3.29"
+      sources."@swc/core-linux-arm64-musl-1.3.29"
+      sources."@swc/core-linux-x64-gnu-1.3.29"
+      sources."@swc/core-linux-x64-musl-1.3.29"
+      sources."@swc/core-win32-arm64-msvc-1.3.29"
+      sources."@swc/core-win32-ia32-msvc-1.3.29"
+      sources."@swc/core-win32-x64-msvc-1.3.29"
+      sources."@swc/wasm-1.3.29"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
@@ -86134,7 +86772,7 @@ in
       sources."to-regex-range-5.0.1"
       (sources."ts-node-10.9.1" // {
         dependencies = [
-          sources."acorn-8.8.1"
+          sources."acorn-8.8.2"
           sources."acorn-walk-8.2.0"
           sources."arg-4.1.3"
         ];
@@ -86190,18 +86828,18 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@swc/core-1.3.27"
-      sources."@swc/core-darwin-arm64-1.3.27"
-      sources."@swc/core-darwin-x64-1.3.27"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.27"
-      sources."@swc/core-linux-arm64-gnu-1.3.27"
-      sources."@swc/core-linux-arm64-musl-1.3.27"
-      sources."@swc/core-linux-x64-gnu-1.3.27"
-      sources."@swc/core-linux-x64-musl-1.3.27"
-      sources."@swc/core-win32-arm64-msvc-1.3.27"
-      sources."@swc/core-win32-ia32-msvc-1.3.27"
-      sources."@swc/core-win32-x64-msvc-1.3.27"
-      sources."@swc/wasm-1.3.27"
+      sources."@swc/core-1.3.29"
+      sources."@swc/core-darwin-arm64-1.3.29"
+      sources."@swc/core-darwin-x64-1.3.29"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.29"
+      sources."@swc/core-linux-arm64-gnu-1.3.29"
+      sources."@swc/core-linux-arm64-musl-1.3.29"
+      sources."@swc/core-linux-x64-gnu-1.3.29"
+      sources."@swc/core-linux-x64-musl-1.3.29"
+      sources."@swc/core-win32-arm64-msvc-1.3.29"
+      sources."@swc/core-win32-ia32-msvc-1.3.29"
+      sources."@swc/core-win32-x64-msvc-1.3.29"
+      sources."@swc/wasm-1.3.29"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
@@ -86276,7 +86914,7 @@ in
       sources."to-regex-range-5.0.1"
       (sources."ts-node-10.9.1" // {
         dependencies = [
-          sources."acorn-8.8.1"
+          sources."acorn-8.8.2"
           sources."acorn-walk-8.2.0"
           sources."arg-4.1.3"
         ];
@@ -86314,18 +86952,18 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@swc/core-1.3.27"
-      sources."@swc/core-darwin-arm64-1.3.27"
-      sources."@swc/core-darwin-x64-1.3.27"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.27"
-      sources."@swc/core-linux-arm64-gnu-1.3.27"
-      sources."@swc/core-linux-arm64-musl-1.3.27"
-      sources."@swc/core-linux-x64-gnu-1.3.27"
-      sources."@swc/core-linux-x64-musl-1.3.27"
-      sources."@swc/core-win32-arm64-msvc-1.3.27"
-      sources."@swc/core-win32-ia32-msvc-1.3.27"
-      sources."@swc/core-win32-x64-msvc-1.3.27"
-      sources."@swc/wasm-1.3.27"
+      sources."@swc/core-1.3.29"
+      sources."@swc/core-darwin-arm64-1.3.29"
+      sources."@swc/core-darwin-x64-1.3.29"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.29"
+      sources."@swc/core-linux-arm64-gnu-1.3.29"
+      sources."@swc/core-linux-arm64-musl-1.3.29"
+      sources."@swc/core-linux-x64-gnu-1.3.29"
+      sources."@swc/core-linux-x64-musl-1.3.29"
+      sources."@swc/core-win32-arm64-msvc-1.3.29"
+      sources."@swc/core-win32-ia32-msvc-1.3.29"
+      sources."@swc/core-win32-x64-msvc-1.3.29"
+      sources."@swc/wasm-1.3.29"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
@@ -86403,7 +87041,7 @@ in
       sources."to-regex-range-5.0.1"
       (sources."ts-node-10.9.1" // {
         dependencies = [
-          sources."acorn-8.8.1"
+          sources."acorn-8.8.2"
           sources."acorn-walk-8.2.0"
           sources."arg-4.1.3"
         ];
@@ -86428,10 +87066,10 @@ in
   "@uppy/companion" = nodeEnv.buildNodePackage {
     name = "_at_uppy_slash_companion";
     packageName = "@uppy/companion";
-    version = "4.1.1";
+    version = "4.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@uppy/companion/-/companion-4.1.1.tgz";
-      sha512 = "uNKVXXJ/LTeUgdaoLg0bQr27ccVRZx6weD9H2UR0/pHkwb+vXptJB81LwPmvRldlaK7G35N2i/w2Mjqbz/Lakg==";
+      url = "https://registry.npmjs.org/@uppy/companion/-/companion-4.2.0.tgz";
+      sha512 = "ybgxZqfGlqGQu65rClEEBllT8rrnTcEPkz3Q+asjOwIzbmLZhRniKWXCNIW/Z5VPzSzg32zQsEPjFaSE1+iJxg==";
     };
     dependencies = [
       sources."@redis/bloom-1.0.2"
@@ -86453,7 +87091,7 @@ in
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."available-typed-arrays-1.0.5"
-      sources."aws-sdk-2.1296.0"
+      sources."aws-sdk-2.1304.0"
       sources."base64-js-1.5.1"
       (sources."basic-auth-2.0.1" // {
         dependencies = [
@@ -86535,7 +87173,7 @@ in
       sources."fresh-0.5.2"
       sources."function-bind-1.1.1"
       sources."generic-pool-3.8.2"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-5.2.0"
       sources."gopd-1.0.1"
       sources."got-11.8.6"
@@ -86547,7 +87185,7 @@ in
       sources."has-symbols-1.0.3"
       sources."has-tostringtag-1.0.0"
       sources."helmet-4.6.0"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-errors-2.0.0"
       sources."http2-wrapper-1.0.3"
       sources."iconv-lite-0.4.24"
@@ -86724,13 +87362,13 @@ in
       sources."@apollographql/apollo-tools-0.5.4"
       sources."@apollographql/graphql-playground-html-1.6.29"
       sources."@babel/code-frame-7.18.6"
-      sources."@babel/compat-data-7.20.10"
+      sources."@babel/compat-data-7.20.14"
       (sources."@babel/core-7.20.12" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      (sources."@babel/generator-7.20.7" // {
+      (sources."@babel/generator-7.20.14" // {
         dependencies = [
           sources."@jridgewell/gen-mapping-0.3.2"
         ];
@@ -86769,7 +87407,7 @@ in
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/helper-validator-option-7.18.6"
       sources."@babel/helper-wrap-function-7.20.5"
-      sources."@babel/helpers-7.20.7"
+      sources."@babel/helpers-7.20.13"
       (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -86780,7 +87418,7 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6"
       sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7"
       sources."@babel/plugin-proposal-async-generator-functions-7.20.7"
@@ -86818,7 +87456,7 @@ in
       sources."@babel/plugin-transform-arrow-functions-7.20.7"
       sources."@babel/plugin-transform-async-to-generator-7.20.7"
       sources."@babel/plugin-transform-block-scoped-functions-7.18.6"
-      sources."@babel/plugin-transform-block-scoping-7.20.11"
+      sources."@babel/plugin-transform-block-scoping-7.20.14"
       sources."@babel/plugin-transform-classes-7.20.7"
       sources."@babel/plugin-transform-computed-properties-7.20.7"
       sources."@babel/plugin-transform-destructuring-7.20.7"
@@ -86846,7 +87484,7 @@ in
       sources."@babel/plugin-transform-sticky-regex-7.18.6"
       sources."@babel/plugin-transform-template-literals-7.18.9"
       sources."@babel/plugin-transform-typeof-symbol-7.18.9"
-      sources."@babel/plugin-transform-typescript-7.20.7"
+      sources."@babel/plugin-transform-typescript-7.20.13"
       sources."@babel/plugin-transform-unicode-escapes-7.18.10"
       sources."@babel/plugin-transform-unicode-regex-7.18.6"
       (sources."@babel/preset-env-7.20.2" // {
@@ -86864,15 +87502,15 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."@babel/runtime-7.20.7"
+      sources."@babel/runtime-7.20.13"
       sources."@babel/template-7.20.7"
-      sources."@babel/traverse-7.20.12"
+      sources."@babel/traverse-7.20.13"
       sources."@babel/types-7.20.7"
       sources."@graphql-tools/merge-8.3.1"
-      (sources."@graphql-tools/mock-8.7.15" // {
+      (sources."@graphql-tools/mock-8.7.16" // {
         dependencies = [
-          sources."@graphql-tools/merge-8.3.15"
-          sources."@graphql-tools/schema-9.0.13"
+          sources."@graphql-tools/merge-8.3.16"
+          sources."@graphql-tools/schema-9.0.14"
           sources."@graphql-tools/utils-9.1.4"
           sources."value-or-promise-1.0.12"
         ];
@@ -87030,7 +87668,7 @@ in
       })
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."caw-2.0.1"
       sources."chalk-4.1.2"
       sources."chardet-0.7.0"
@@ -87079,7 +87717,7 @@ in
       sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
-      sources."core-js-compat-3.27.1"
+      sources."core-js-compat-3.27.2"
       sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
       (sources."cross-spawn-6.0.5" // {
@@ -87248,7 +87886,7 @@ in
           sources."which-2.0.2"
         ];
       })
-      sources."flow-parser-0.197.0"
+      sources."flow-parser-0.198.2"
       sources."for-in-1.0.2"
       sources."forwarded-0.2.0"
       sources."fragment-cache-0.2.1"
@@ -87267,7 +87905,7 @@ in
       sources."function-bind-1.1.1"
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-proxy-2.1.0"
       sources."get-stream-4.1.0"
       sources."get-value-2.0.6"
@@ -87433,7 +88071,7 @@ in
       sources."negotiator-0.6.3"
       sources."neo-async-2.6.2"
       sources."nice-try-1.0.5"
-      sources."node-abort-controller-3.0.1"
+      sources."node-abort-controller-3.1.1"
       sources."node-dir-0.1.17"
       sources."node-fetch-2.6.8"
       sources."node-gyp-build-4.6.0"
@@ -87740,7 +88378,7 @@ in
       sources."toidentifier-1.0.1"
       sources."tr46-0.0.3"
       sources."trim-repeated-1.0.0"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."tunnel-agent-0.6.0"
       sources."type-fest-0.6.0"
       sources."type-is-1.6.18"
@@ -87951,11 +88589,11 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.18.6"
-      sources."@babel/generator-7.20.7"
+      sources."@babel/generator-7.20.14"
       sources."@babel/helper-string-parser-7.19.4"
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/highlight-7.18.6"
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@babel/template-7.20.7"
       sources."@babel/types-7.20.7"
       sources."@jridgewell/gen-mapping-0.3.2"
@@ -88062,7 +88700,7 @@ in
       sources."@types/supports-color-8.1.1"
       sources."@types/unist-2.0.6"
       sources."abbrev-2.0.0"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-jsx-5.3.2"
       (sources."ansi-align-3.0.1" // {
         dependencies = [
@@ -88148,8 +88786,8 @@ in
       sources."error-ex-1.3.2"
       sources."escape-goat-4.0.0"
       sources."escape-string-regexp-1.0.5"
-      sources."estree-util-is-identifier-name-2.0.1"
-      sources."estree-util-visit-1.2.0"
+      sources."estree-util-is-identifier-name-2.1.0"
+      sources."estree-util-visit-1.2.1"
       sources."event-stream-3.1.7"
       sources."extend-3.0.2"
       sources."fault-2.0.1"
@@ -88186,7 +88824,7 @@ in
       sources."hast-util-whitespace-2.0.1"
       sources."hastscript-7.2.0"
       sources."hosted-git-info-5.2.1"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       (sources."http2-wrapper-2.2.0" // {
         dependencies = [
           sources."quick-lru-5.1.1"
@@ -88235,28 +88873,28 @@ in
       sources."map-obj-4.3.0"
       sources."map-stream-0.1.0"
       sources."markdown-table-3.0.3"
-      sources."mdast-comment-marker-2.1.0"
-      (sources."mdast-util-find-and-replace-2.2.1" // {
+      sources."mdast-comment-marker-2.1.1"
+      (sources."mdast-util-find-and-replace-2.2.2" // {
         dependencies = [
           sources."escape-string-regexp-5.0.0"
         ];
       })
-      sources."mdast-util-from-markdown-1.2.0"
-      sources."mdast-util-frontmatter-1.0.0"
+      sources."mdast-util-from-markdown-1.3.0"
+      sources."mdast-util-frontmatter-1.0.1"
       sources."mdast-util-gfm-2.0.1"
       sources."mdast-util-gfm-autolink-literal-1.0.2"
-      sources."mdast-util-gfm-footnote-1.0.1"
+      sources."mdast-util-gfm-footnote-1.0.2"
       sources."mdast-util-gfm-strikethrough-1.0.2"
       sources."mdast-util-gfm-table-1.0.6"
-      sources."mdast-util-gfm-task-list-item-1.0.1"
+      sources."mdast-util-gfm-task-list-item-1.0.2"
       sources."mdast-util-mdx-2.0.0"
       sources."mdast-util-mdx-expression-1.3.1"
       sources."mdast-util-mdx-jsx-2.1.0"
       sources."mdast-util-mdxjs-esm-1.3.0"
-      sources."mdast-util-phrasing-3.0.0"
+      sources."mdast-util-phrasing-3.0.1"
       sources."mdast-util-to-markdown-1.5.0"
       sources."mdast-util-to-nlcst-5.2.1"
-      sources."mdast-util-to-string-3.1.0"
+      sources."mdast-util-to-string-3.1.1"
       sources."meow-11.0.0"
       sources."micromark-3.1.0"
       sources."micromark-core-commonmark-1.0.6"
@@ -88268,14 +88906,14 @@ in
       sources."micromark-extension-gfm-table-1.0.5"
       sources."micromark-extension-gfm-tagfilter-1.0.1"
       sources."micromark-extension-gfm-task-list-item-1.0.3"
-      sources."micromark-extension-mdx-expression-1.0.3"
+      sources."micromark-extension-mdx-expression-1.0.4"
       sources."micromark-extension-mdx-jsx-1.0.3"
       sources."micromark-extension-mdx-md-1.0.0"
       sources."micromark-extension-mdxjs-1.0.0"
       sources."micromark-extension-mdxjs-esm-1.0.3"
       sources."micromark-factory-destination-1.0.0"
       sources."micromark-factory-label-1.0.2"
-      sources."micromark-factory-mdx-expression-1.0.6"
+      sources."micromark-factory-mdx-expression-1.0.7"
       sources."micromark-factory-space-1.0.0"
       sources."micromark-factory-title-1.0.2"
       sources."micromark-factory-whitespace-1.0.0"
@@ -88286,7 +88924,7 @@ in
       sources."micromark-util-decode-numeric-character-reference-1.0.0"
       sources."micromark-util-decode-string-1.0.2"
       sources."micromark-util-encode-1.0.1"
-      sources."micromark-util-events-to-acorn-1.2.0"
+      sources."micromark-util-events-to-acorn-1.2.1"
       sources."micromark-util-html-tag-name-1.1.0"
       sources."micromark-util-normalize-identifier-1.0.0"
       sources."micromark-util-resolve-all-1.0.0"
@@ -88301,10 +88939,10 @@ in
       sources."minimist-options-4.1.0"
       sources."mri-1.2.0"
       sources."ms-2.1.2"
-      sources."nlcst-is-literal-2.1.0"
-      sources."nlcst-normalize-3.1.0"
-      sources."nlcst-search-3.1.0"
-      sources."nlcst-to-string-3.1.0"
+      sources."nlcst-is-literal-2.1.1"
+      sources."nlcst-normalize-3.1.1"
+      sources."nlcst-search-3.1.1"
+      sources."nlcst-to-string-3.1.1"
       sources."nopt-7.0.0"
       sources."normalize-package-data-4.0.1"
       sources."normalize-url-8.0.0"
@@ -88324,8 +88962,8 @@ in
       sources."parse-json-5.2.0"
       (sources."parse-latin-5.0.1" // {
         dependencies = [
-          sources."unist-util-modify-children-3.1.0"
-          sources."unist-util-visit-children-2.0.1"
+          sources."unist-util-modify-children-3.1.1"
+          sources."unist-util-visit-children-2.0.2"
         ];
       })
       sources."parse5-6.0.1"
@@ -88433,7 +89071,7 @@ in
       sources."to-vfile-7.2.3"
       sources."trim-newlines-4.0.2"
       sources."trough-2.1.0"
-      sources."type-fest-3.5.2"
+      sources."type-fest-3.5.3"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
       sources."unherit-3.0.1"
@@ -88457,20 +89095,20 @@ in
         ];
       })
       sources."unique-string-3.0.0"
-      sources."unist-util-inspect-7.0.1"
-      sources."unist-util-is-5.1.1"
+      sources."unist-util-inspect-7.0.2"
+      sources."unist-util-is-5.2.0"
       (sources."unist-util-modify-children-2.0.0" // {
         dependencies = [
           sources."array-iterate-1.1.4"
         ];
       })
-      sources."unist-util-position-4.0.3"
-      sources."unist-util-position-from-estree-1.1.1"
-      sources."unist-util-remove-position-4.0.1"
-      sources."unist-util-stringify-position-3.0.2"
-      sources."unist-util-visit-4.1.1"
+      sources."unist-util-position-4.0.4"
+      sources."unist-util-position-from-estree-1.1.2"
+      sources."unist-util-remove-position-4.0.2"
+      sources."unist-util-stringify-position-3.0.3"
+      sources."unist-util-visit-4.1.2"
       sources."unist-util-visit-children-1.1.4"
-      sources."unist-util-visit-parents-5.1.1"
+      sources."unist-util-visit-parents-5.1.3"
       (sources."update-notifier-6.0.2" // {
         dependencies = [
           sources."chalk-5.2.0"
@@ -88493,7 +89131,7 @@ in
       sources."walk-up-path-1.0.0"
       sources."web-namespaces-2.0.1"
       sources."widest-line-4.0.1"
-      (sources."wrap-ansi-8.0.1" // {
+      (sources."wrap-ansi-8.1.0" // {
         dependencies = [
           sources."ansi-regex-6.0.1"
           sources."ansi-styles-6.2.1"
@@ -88531,9 +89169,9 @@ in
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
       sources."@babel/code-frame-7.18.6"
-      sources."@babel/compat-data-7.20.10"
+      sources."@babel/compat-data-7.20.14"
       sources."@babel/core-7.20.12"
-      (sources."@babel/generator-7.20.7" // {
+      (sources."@babel/generator-7.20.14" // {
         dependencies = [
           sources."@jridgewell/gen-mapping-0.3.2"
         ];
@@ -88549,11 +89187,11 @@ in
       sources."@babel/helper-string-parser-7.19.4"
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/helper-validator-option-7.18.6"
-      sources."@babel/helpers-7.20.7"
+      sources."@babel/helpers-7.20.13"
       sources."@babel/highlight-7.18.6"
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@babel/template-7.20.7"
-      sources."@babel/traverse-7.20.12"
+      sources."@babel/traverse-7.20.13"
       sources."@babel/types-7.20.7"
       sources."@jridgewell/gen-mapping-0.1.1"
       sources."@jridgewell/resolve-uri-3.1.0"
@@ -88568,7 +89206,7 @@ in
       sources."balanced-match-1.0.2"
       sources."brace-expansion-2.0.1"
       sources."browserslist-4.21.4"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."chalk-2.4.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
@@ -88814,7 +89452,7 @@ in
       sources."path-to-regexp-1.8.0"
       sources."performance-now-2.1.0"
       sources."psl-1.9.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.5.3"
       sources."request-2.88.2"
       sources."require-directory-2.1.1"
@@ -88966,7 +89604,7 @@ in
     };
     dependencies = [
       sources."browserslist-4.21.4"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."electron-to-chromium-1.4.284"
       sources."escalade-3.1.1"
       sources."fraction.js-4.2.0"
@@ -89039,7 +89677,7 @@ in
       sources."@tootallnate/once-1.1.2"
       sources."@types/node-18.11.18"
       sources."@types/yauzl-2.10.0"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-walk-8.2.0"
       sources."agent-base-6.0.2"
       sources."ansi-escapes-4.3.2"
@@ -89047,7 +89685,7 @@ in
       sources."ansi-styles-4.3.0"
       sources."ast-types-0.13.4"
       sources."available-typed-arrays-1.0.5"
-      (sources."aws-sdk-2.1296.0" // {
+      (sources."aws-sdk-2.1304.0" // {
         dependencies = [
           sources."uuid-8.0.0"
         ];
@@ -89128,7 +89766,7 @@ in
         ];
       })
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-5.2.0"
       sources."get-uri-3.0.2"
       sources."glob-7.2.3"
@@ -89228,7 +89866,7 @@ in
       sources."tmp-0.0.33"
       sources."toidentifier-1.0.1"
       sources."tr46-0.0.3"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."type-check-0.3.2"
       sources."type-fest-0.21.3"
       (sources."unbzip2-stream-1.4.3" // {
@@ -89271,10 +89909,10 @@ in
   aws-cdk = nodeEnv.buildNodePackage {
     name = "aws-cdk";
     packageName = "aws-cdk";
-    version = "2.60.0";
+    version = "2.62.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/aws-cdk/-/aws-cdk-2.60.0.tgz";
-      sha512 = "/kO8KGuJVCnkhnR+SmDHsAaaqmaTR6Vp/kpryohsBfKh/ZdOH1oKpviMiz167K6tUdin7x95Wjz/GZAfeiKPKg==";
+      url = "https://registry.npmjs.org/aws-cdk/-/aws-cdk-2.62.2.tgz";
+      sha512 = "fACUQEdc43AfiqKKXUZLuHB2VADLU965hl50Fn6BhMemFmUsc+iS/GFfOwvfCUO3/iaRtsn/gk+dQ3zZ+snKRw==";
     };
     dependencies = [
       sources."fsevents-2.3.2"
@@ -89412,7 +90050,7 @@ in
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."hosted-git-info-4.1.0"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."ieee754-1.2.1"
       sources."ignore-5.2.4"
       sources."indent-string-4.0.0"
@@ -89420,7 +90058,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."inspect-with-kind-1.0.5"
-      sources."irregular-plurals-3.3.0"
+      sources."irregular-plurals-3.4.0"
       sources."is-alphabetical-1.0.4"
       sources."is-alphanumerical-1.0.4"
       sources."is-arrayish-0.2.1"
@@ -89710,10 +90348,10 @@ in
   balanceofsatoshis = nodeEnv.buildNodePackage {
     name = "balanceofsatoshis";
     packageName = "balanceofsatoshis";
-    version = "13.21.0";
+    version = "13.24.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-13.21.0.tgz";
-      sha512 = "4y0t3tAZiAMqRpyw0Yc8EbbRlikIpJRSKkcbi/0i3QcNg85FYaMeL7f2+BxfkMWzTjmN6XA4WWaPgqTV7W69eg==";
+      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-13.24.0.tgz";
+      sha512 = "QP3hY4Ehgjnl5mXmHuXzgU/rnRpMTlpMxr3+JytC2NTNTUTjD5NSm+jJ+fUTHfcfGa8Plos2RTTmiqamHEE7uw==";
     };
     dependencies = [
       (sources."@alexbosworth/caporal-1.4.4" // {
@@ -89743,6 +90381,8 @@ in
       sources."@grpc/grpc-js-1.8.4"
       sources."@grpc/proto-loader-0.7.4"
       sources."@handsontable/formulajs-2.0.2"
+      sources."@json2csv/formatters-6.1.2"
+      sources."@json2csv/plainjs-6.1.2"
       sources."@mitmaro/errors-1.0.0"
       sources."@mitmaro/http-authorization-header-1.0.0"
       sources."@protobufjs/aspromise-1.1.2"
@@ -89755,11 +90395,12 @@ in
       sources."@protobufjs/path-1.1.2"
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
+      sources."@streamparser/json-0.0.10"
       sources."@types/body-parser-1.19.2"
       sources."@types/caseless-0.12.2"
       sources."@types/connect-3.4.35"
       sources."@types/express-4.17.15"
-      sources."@types/express-serve-static-core-4.17.32"
+      sources."@types/express-serve-static-core-4.17.33"
       sources."@types/long-4.0.2"
       sources."@types/mime-3.0.1"
       sources."@types/node-18.11.18"
@@ -89768,7 +90409,7 @@ in
       sources."@types/request-2.48.8"
       sources."@types/serve-static-1.15.0"
       sources."@types/tough-cookie-4.0.2"
-      sources."@types/ws-8.5.3"
+      sources."@types/ws-8.5.4"
       sources."abort-controller-3.0.0"
       sources."accepts-1.3.8"
       (sources."agent-base-6.0.2" // {
@@ -89811,7 +90452,7 @@ in
       sources."bolt01-1.2.6"
       sources."bolt03-1.2.15"
       sources."bolt07-1.8.3"
-      sources."bolt09-0.2.4"
+      sources."bolt09-0.2.5"
       sources."bs58-4.0.1"
       sources."bs58check-2.1.2"
       sources."buffer-6.0.3"
@@ -89842,7 +90483,6 @@ in
       sources."colors-1.4.0"
       sources."colorspace-1.1.4"
       sources."combined-stream-1.0.8"
-      sources."commander-6.2.1"
       sources."concat-stream-1.6.2"
       (sources."content-disposition-0.5.4" // {
         dependencies = [
@@ -89900,8 +90540,12 @@ in
       sources."function-bind-1.1.1"
       sources."gauge-1.2.7"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
-      sources."goldengate-12.0.2"
+      sources."get-intrinsic-1.2.0"
+      (sources."goldengate-12.0.2" // {
+        dependencies = [
+          sources."ln-sync-4.2.0"
+        ];
+      })
       (sources."grammy-1.13.1" // {
         dependencies = [
           sources."debug-4.3.4"
@@ -89947,15 +90591,10 @@ in
           sources."string-width-5.1.2"
           sources."strip-ansi-7.0.1"
           sources."tmp-0.0.33"
-          sources."wrap-ansi-8.0.1"
-        ];
-      })
-      (sources."invoices-2.2.2" // {
-        dependencies = [
-          sources."bitcoinjs-lib-6.0.2"
-          sources."bolt07-1.8.2"
+          sources."wrap-ansi-8.1.0"
         ];
       })
+      sources."invoices-2.2.3"
       sources."ip-2.0.0"
       sources."ipaddr.js-1.9.1"
       sources."is-accessor-descriptor-1.0.0"
@@ -89974,82 +90613,19 @@ in
       sources."is-unicode-supported-1.3.0"
       sources."isarray-1.0.0"
       sources."json-schema-traverse-1.0.0"
-      sources."json2csv-5.0.7"
-      sources."jsonparse-1.3.1"
       sources."jstat-1.9.6"
       sources."kind-of-6.0.3"
       sources."kuler-2.0.0"
-      (sources."lightning-6.8.0" // {
-        dependencies = [
-          sources."@grpc/grpc-js-1.8.0"
-          sources."@types/node-18.11.16"
-          sources."asyncjs-util-1.2.10"
-          sources."bolt07-1.8.2"
-          (sources."psbt-2.7.1" // {
-            dependencies = [
-              sources."bitcoinjs-lib-6.0.2"
-            ];
-          })
-          sources."type-fest-3.4.0"
-        ];
-      })
-      (sources."ln-accounting-6.1.2" // {
+      (sources."lightning-7.0.3" // {
         dependencies = [
           sources."@grpc/grpc-js-1.8.1"
-          sources."bolt07-1.8.2"
-          sources."goldengate-12.0.1"
-          (sources."ln-sync-4.1.0" // {
-            dependencies = [
-              sources."asyncjs-util-1.2.10"
-              sources."ln-service-54.8.0"
-            ];
-          })
-          (sources."psbt-2.7.1" // {
-            dependencies = [
-              sources."bitcoinjs-lib-6.0.2"
-            ];
-          })
-        ];
-      })
-      (sources."ln-service-54.9.0" // {
-        dependencies = [
-          sources."@grpc/grpc-js-1.8.1"
-          sources."@types/ws-8.5.4"
-          sources."bolt09-0.2.5"
-          sources."invoices-2.2.3"
-          sources."lightning-7.0.3"
           sources."type-fest-3.5.1"
         ];
       })
-      sources."ln-sync-4.2.0"
-      (sources."ln-telegram-4.6.0" // {
-        dependencies = [
-          sources."@grpc/grpc-js-1.8.1"
-          sources."bolt09-0.2.5"
-          sources."debug-4.3.4"
-          (sources."goldengate-12.0.1" // {
-            dependencies = [
-              sources."bolt07-1.8.2"
-              (sources."ln-sync-4.1.0" // {
-                dependencies = [
-                  sources."asyncjs-util-1.2.10"
-                  sources."ln-service-54.8.0"
-                  (sources."psbt-2.7.1" // {
-                    dependencies = [
-                      sources."bitcoinjs-lib-6.0.2"
-                    ];
-                  })
-                ];
-              })
-            ];
-          })
-          sources."grammy-1.13.0"
-          sources."invoices-2.2.3"
-          sources."ln-sync-4.1.1"
-          sources."ms-2.1.2"
-          sources."paid-services-4.2.1"
-        ];
-      })
+      sources."ln-accounting-6.1.3"
+      sources."ln-service-54.9.0"
+      sources."ln-sync-4.3.0"
+      sources."ln-telegram-4.6.1"
       sources."lodash-4.17.21"
       sources."lodash.camelcase-4.3.0"
       sources."lodash.difference-4.5.0"
@@ -90118,8 +90694,7 @@ in
       sources."p2tr-1.3.3"
       (sources."paid-services-4.3.0" // {
         dependencies = [
-          sources."bolt09-0.2.5"
-          sources."invoices-2.2.3"
+          sources."ln-sync-4.2.0"
         ];
       })
       sources."parseurl-1.3.3"
@@ -90128,14 +90703,14 @@ in
       sources."pinkie-promise-2.0.1"
       sources."probing-3.0.1"
       sources."process-nextick-args-2.0.1"
-      (sources."protobufjs-7.1.2" // {
+      (sources."protobufjs-7.2.0" // {
         dependencies = [
           sources."long-5.2.1"
         ];
       })
       sources."proxy-addr-2.0.7"
       sources."psbt-2.7.2"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."pushdata-bitcoin-1.0.1"
       sources."qrcode-terminal-0.12.0"
       sources."qs-6.11.0"
@@ -90207,10 +90782,10 @@ in
       sources."tr46-0.0.3"
       sources."triple-beam-1.3.0"
       sources."truncate-utf8-bytes-1.0.2"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."tweetnacl-1.0.3"
       sources."tweetnacl-util-0.15.1"
-      sources."type-fest-3.5.2"
+      sources."type-fest-3.5.3"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
       sources."typeforce-1.18.0"
@@ -90263,10 +90838,10 @@ in
   bash-language-server = nodeEnv.buildNodePackage {
     name = "bash-language-server";
     packageName = "bash-language-server";
-    version = "4.5.0";
+    version = "4.6.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/bash-language-server/-/bash-language-server-4.5.0.tgz";
-      sha512 = "Vnq+3KScmrj6MYujzUhiZ4DJDMI/Pyc5EC2gxi1bIW8Qg+ASlOeUnm485/3Q6Ro3jNf+T6E9opQFbh6O606xfg==";
+      url = "https://registry.npmjs.org/bash-language-server/-/bash-language-server-4.6.1.tgz";
+      sha512 = "3pzB92+0/+rrR4TdONFhOtczPLQBgobu+27/X2icnS32YzgdMJd7GMzM4V6nBZsrl5jMUY4W/0ExSVGIV3o4aw==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
@@ -90295,7 +90870,6 @@ in
       sources."to-regex-range-5.0.1"
       sources."tr46-0.0.3"
       sources."turndown-7.1.1"
-      sources."urijs-1.19.11"
       sources."vscode-jsonrpc-8.0.2"
       sources."vscode-languageserver-8.0.2"
       sources."vscode-languageserver-protocol-3.17.2"
@@ -90556,7 +91130,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."get-assigned-identifiers-1.2.0"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."glob-7.2.3"
       sources."gopd-1.0.1"
       sources."has-1.0.3"
@@ -90767,7 +91341,7 @@ in
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."glob-parent-5.1.2"
       sources."graceful-fs-4.2.10"
       sources."has-1.0.3"
@@ -90861,7 +91435,7 @@ in
       sources."socket.io-4.5.4"
       sources."socket.io-adapter-2.4.0"
       sources."socket.io-client-4.5.4"
-      sources."socket.io-parser-4.2.1"
+      sources."socket.io-parser-4.2.2"
       sources."statuses-1.3.1"
       sources."stream-throttle-0.1.3"
       (sources."string-width-4.2.3" // {
@@ -90926,7 +91500,7 @@ in
       sources."@babel/helper-string-parser-7.19.4"
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/highlight-7.18.6"
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@babel/types-7.20.7"
       sources."@kwsites/file-exists-1.1.1"
       sources."@kwsites/promise-deferred-1.1.1"
@@ -91103,7 +91677,7 @@ in
       sources."fresh-0.5.2"
       sources."function-bind-1.1.1"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."getpass-0.1.7"
       sources."glob-6.0.4"
       sources."har-schema-2.0.0"
@@ -91236,7 +91810,7 @@ in
       sources."pug-runtime-3.0.1"
       sources."pug-strip-comments-2.0.0"
       sources."pug-walk-2.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."pushdata-bitcoin-1.0.1"
       sources."qrcode-1.5.1"
       sources."qs-6.11.0"
@@ -91646,7 +92220,7 @@ in
           sources."once-1.2.0"
         ];
       })
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qap-3.3.1"
       sources."qs-6.5.3"
       sources."query-string-1.0.1"
@@ -92489,10 +93063,10 @@ in
   cdk8s-cli = nodeEnv.buildNodePackage {
     name = "cdk8s-cli";
     packageName = "cdk8s-cli";
-    version = "2.1.109";
+    version = "2.1.119";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-2.1.109.tgz";
-      sha512 = "ebHJcPSosOi62963Roe3HB05ibu4bj2HXdFnWBbbiQB9JQtmJCfE8Ml2wmi9U1e5LMvw7xwh6NiRM/2U0I8gkg==";
+      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-2.1.119.tgz";
+      sha512 = "zz7Y0MQgJQxOXOOh/ctmjlGBGrAN1D/V8d+zvrombUIADuX0jE6CYk1zhQVQra82egzpLcxJVtH49FOKjrlXmQ==";
     };
     dependencies = [
       sources."@jsii/check-node-1.73.0"
@@ -92510,8 +93084,8 @@ in
       sources."braces-3.0.2"
       sources."camelcase-6.3.0"
       sources."case-1.6.3"
-      sources."cdk8s-2.6.22"
-      sources."cdk8s-plus-25-2.3.27"
+      sources."cdk8s-2.6.32"
+      sources."cdk8s-plus-25-2.4.3"
       sources."chalk-4.1.2"
       sources."cliui-7.0.4"
       sources."clone-2.1.2"
@@ -92524,7 +93098,7 @@ in
       sources."color-name-1.1.4"
       sources."colors-1.4.0"
       sources."commonmark-0.30.0"
-      sources."constructs-10.1.223"
+      sources."constructs-10.1.233"
       sources."date-format-4.0.14"
       sources."debug-4.3.4"
       sources."decamelize-5.0.1"
@@ -92578,14 +93152,14 @@ in
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.797" // {
+      (sources."jsii-srcmak-0.1.807" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
       })
       sources."json-schema-0.4.0"
       sources."json-schema-traverse-1.0.0"
-      sources."json2jsii-0.3.247"
+      sources."json2jsii-0.3.257"
       sources."jsonfile-6.1.0"
       sources."locate-path-5.0.0"
       sources."lodash.truncate-4.4.2"
@@ -92605,7 +93179,7 @@ in
       sources."p-try-2.2.0"
       sources."path-exists-4.0.0"
       sources."picomatch-2.3.1"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."queue-microtask-1.2.3"
       sources."require-directory-2.1.1"
       sources."require-from-string-2.0.2"
@@ -92632,7 +93206,7 @@ in
       sources."supports-color-7.2.0"
       sources."table-6.8.1"
       sources."to-regex-range-5.0.1"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."typescript-3.9.10"
       sources."universalify-2.0.0"
       sources."uri-js-4.4.1"
@@ -92667,26 +93241,26 @@ in
   cdktf-cli = nodeEnv.buildNodePackage {
     name = "cdktf-cli";
     packageName = "cdktf-cli";
-    version = "0.15.0";
+    version = "0.15.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cdktf-cli/-/cdktf-cli-0.15.0.tgz";
-      sha512 = "wPVkiuoId7u1Jy1C1d+D4ktfQde5GfHkZBMppmkO/daZXsI2kH7yIFZpJ81/0k9hNRHvoK1d0/gDMMywqwWcmg==";
+      url = "https://registry.npmjs.org/cdktf-cli/-/cdktf-cli-0.15.2.tgz";
+      sha512 = "RAwXojqBZT8evWDwYCPzXiI/usUrciBhu9sopgm9MpcX55OLZMr2/R8/ZmX/oCxrvZxwboDD18dNJpi2hyXJ7w==";
     };
     dependencies = [
       sources."@babel/code-frame-7.18.6"
-      sources."@babel/generator-7.20.7"
+      sources."@babel/generator-7.20.14"
       sources."@babel/helper-string-parser-7.19.4"
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/highlight-7.18.6"
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@babel/template-7.20.7"
       sources."@babel/types-7.20.7"
-      sources."@cdktf/cli-core-0.15.0"
-      sources."@cdktf/commons-0.15.0"
-      sources."@cdktf/hcl2cdk-0.15.0"
-      sources."@cdktf/hcl2json-0.15.0"
+      sources."@cdktf/cli-core-0.15.2"
+      sources."@cdktf/commons-0.15.2"
+      sources."@cdktf/hcl2cdk-0.15.2"
+      sources."@cdktf/hcl2json-0.15.2"
       sources."@cdktf/node-pty-prebuilt-multiarch-0.10.1-pre.10"
-      sources."@cdktf/provider-generator-0.15.0"
+      sources."@cdktf/provider-generator-0.15.2"
       sources."@jridgewell/gen-mapping-0.3.2"
       sources."@jridgewell/resolve-uri-3.1.0"
       sources."@jridgewell/set-array-1.1.2"
@@ -92716,7 +93290,7 @@ in
       sources."@types/node-18.11.18"
       sources."@types/node-fetch-2.6.2"
       sources."@types/prop-types-15.7.5"
-      sources."@types/react-18.0.26"
+      sources."@types/react-18.0.27"
       sources."@types/scheduler-0.16.2"
       sources."@types/yoga-layout-1.9.2"
       sources."@xmldom/xmldom-0.8.6"
@@ -92743,7 +93317,7 @@ in
       sources."bufferutil-4.0.7"
       sources."camelcase-6.3.0"
       sources."case-1.6.3"
-      sources."cdktf-0.15.0"
+      sources."cdktf-0.15.2"
       sources."chalk-2.4.2"
       sources."chownr-1.1.4"
       sources."ci-info-2.0.0"
@@ -92766,7 +93340,7 @@ in
       sources."combined-stream-1.0.8"
       sources."commonmark-0.30.0"
       sources."concat-map-0.0.1"
-      sources."constructs-10.1.223"
+      sources."constructs-10.1.233"
       sources."convert-to-spaces-1.0.2"
       sources."cookie-0.4.2"
       sources."cross-spawn-7.0.3"
@@ -92909,7 +93483,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-srcmak-0.1.797" // {
+      (sources."jsii-srcmak-0.1.807" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
@@ -92945,7 +93519,7 @@ in
       sources."napi-build-utils-1.0.2"
       sources."ncp-2.0.0"
       sources."node-abi-3.31.0"
-      sources."node-abort-controller-3.0.1"
+      sources."node-abort-controller-3.1.1"
       sources."node-fetch-2.6.8"
       sources."node-gyp-build-4.6.0"
       sources."object-assign-4.1.1"
@@ -92965,7 +93539,7 @@ in
       sources."prebuild-install-7.1.1"
       sources."prettier-2.8.3"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."queue-microtask-1.2.3"
       sources."rc-1.2.8"
       sources."react-17.0.2"
@@ -93049,7 +93623,7 @@ in
       sources."ws-7.5.9"
       sources."xml-js-1.6.11"
       sources."xmlbuilder-15.1.1"
-      sources."xstate-4.35.2"
+      sources."xstate-4.35.3"
       sources."y18n-4.0.3"
       sources."yallist-4.0.0"
       (sources."yargs-17.6.2" // {
@@ -93084,10 +93658,10 @@ in
   clean-css-cli = nodeEnv.buildNodePackage {
     name = "clean-css-cli";
     packageName = "clean-css-cli";
-    version = "5.6.1";
+    version = "5.6.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-5.6.1.tgz";
-      sha512 = "/StJu1YODZY6cOwkBx5FMhSoc9YmvEJXtwNN+udGg1GIKrr4PkdsCdUqC26GfdPdt5IuZnu+5y9/3mrdIJa40Q==";
+      url = "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-5.6.2.tgz";
+      sha512 = "GDQkr6zVqHJhO3yWTy3sA22sMCT6iUqaJuBdqZMW6oI25MtiJ2iZXDmWzErpjoRotsB+TYPTpuZSNSgaC1n4lA==";
     };
     dependencies = [
       sources."anymatch-3.1.3"
@@ -93096,7 +93670,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."chokidar-3.5.3"
-      sources."clean-css-5.3.1"
+      sources."clean-css-5.3.2"
       sources."commander-7.2.0"
       sources."concat-map-0.0.1"
       sources."fill-range-7.0.1"
@@ -93272,7 +93846,7 @@ in
       sources."mute-stream-0.0.8"
       sources."node-fetch-1.7.3"
       sources."prompt-1.3.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."query-string-6.14.1"
       sources."read-1.0.7"
       sources."revalidator-0.1.8"
@@ -93358,10 +93932,10 @@ in
   coc-diagnostic = nodeEnv.buildNodePackage {
     name = "coc-diagnostic";
     packageName = "coc-diagnostic";
-    version = "0.23.7";
+    version = "0.23.8";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-diagnostic/-/coc-diagnostic-0.23.7.tgz";
-      sha512 = "CRFEcusfy8ATbYswZV2205Et/qjfe82KvJunQnLL8VlhKkymwgrfbgMZCTr35WPX0Dv3PItUSZZYq91LcYIm6w==";
+      url = "https://registry.npmjs.org/coc-diagnostic/-/coc-diagnostic-0.23.8.tgz";
+      sha512 = "knOr++uIcb+RppNXja+JrU1heoRDiW4v3GEzApJPsEgyjAaH6sZMh/XU5upFp7OSmeX++ZLndPUeumjzQuAbOg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -93386,7 +93960,7 @@ in
       sources."dockerfile-language-server-nodejs-0.2.2"
       sources."dockerfile-language-service-0.1.1"
       sources."dockerfile-utils-0.1.1"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."vscode-jsonrpc-8.0.2"
       (sources."vscode-languageserver-7.0.0" // {
         dependencies = [
@@ -93550,10 +94124,10 @@ in
   coc-git = nodeEnv.buildNodePackage {
     name = "coc-git";
     packageName = "coc-git";
-    version = "2.6.0";
+    version = "2.6.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-git/-/coc-git-2.6.0.tgz";
-      sha512 = "1Xo6++/ml/ozfBi2ubDXPVz49I1ewI5v8tZysn/Rz3/PojQuOcroXs48aqYx8rPADt7zSXAVGs+uN9lAkLgrLA==";
+      url = "https://registry.npmjs.org/coc-git/-/coc-git-2.6.1.tgz";
+      sha512 = "GUkltYI/RTAx3vUIb+lQuEoF96ByfliYokoqM/Gn4hMRtl0IE/XaxqRj71byaj9eO1boSGzqMQtpx8ju1xhWuQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -93575,7 +94149,7 @@ in
     };
     dependencies = [
       sources."isexe-2.0.0"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."vscode-languageserver-textdocument-1.0.9"
       sources."vscode-uri-3.0.7"
       sources."which-2.0.2"
@@ -93665,10 +94239,10 @@ in
   coc-java = nodeEnv.buildNodePackage {
     name = "coc-java";
     packageName = "coc-java";
-    version = "1.5.6";
+    version = "1.6.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-java/-/coc-java-1.5.6.tgz";
-      sha512 = "AwIVgKdfmeVnf56cI3bOGSGM+SHZ5cIXtWI0xU5ToFGAFk/wJ3YJlpUsHensuBrBrMTIAYHk+O3Mu+FuG9jKZg==";
+      url = "https://registry.npmjs.org/coc-java/-/coc-java-1.6.0.tgz";
+      sha512 = "fMEM9CUlsUODmXtmFQG+ppOqnem65X9qR+SqWndhw9LiE4NdsLsRm7pJmTT5Dz/R0AT7JaOfJeWi0gyUSSL25A==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -93718,10 +94292,10 @@ in
   coc-lists = nodeEnv.buildNodePackage {
     name = "coc-lists";
     packageName = "coc-lists";
-    version = "1.5.0";
+    version = "1.5.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-lists/-/coc-lists-1.5.0.tgz";
-      sha512 = "X3xt19f5CtRZ9/zMzNjjxuBaZLmyJt1KUnbvt1njFrBa80SK5pCkuTcJC+/CnkFhHwFeJbMyKNfw1AG68h4d6Q==";
+      url = "https://registry.npmjs.org/coc-lists/-/coc-lists-1.5.1.tgz";
+      sha512 = "tJYhsDHadL6YYEsHAUc+tFi8MYklHmPx3AcjiUHTYRAtkAyKoZb+BPpAwG8gvfSqdkCxu55eHLeJ9lGhXNztZA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -93843,7 +94417,7 @@ in
       sources."function-bind-1.1.1"
       sources."function.prototype.name-1.1.5"
       sources."functions-have-names-1.2.3"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-4.1.0"
       sources."get-symbol-description-1.0.0"
       sources."glob-7.2.3"
@@ -93962,7 +94536,7 @@ in
       sources."tar-6.1.13"
       sources."tr46-0.0.3"
       sources."traverse-0.3.9"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."typed-array-length-1.0.4"
       sources."unbox-primitive-1.0.2"
       sources."universalify-0.1.2"
@@ -93998,10 +94572,10 @@ in
   coc-pairs = nodeEnv.buildNodePackage {
     name = "coc-pairs";
     packageName = "coc-pairs";
-    version = "1.4.1";
+    version = "1.4.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-pairs/-/coc-pairs-1.4.1.tgz";
-      sha512 = "iWLgnUnd8MXi5k1RQQ5GiCboRg+lpOkcziPCpn8eWpFmXc947XZuZF3CB6zFdNZD8ifNbs9mZtcf31DnLPQuew==";
+      url = "https://registry.npmjs.org/coc-pairs/-/coc-pairs-1.4.2.tgz";
+      sha512 = "4qcKB1i4SdQUKv8HT+/owk+fZn4zssX4NUOEZ5IFt+hP5pb6hdWMyuJvqnH5A0+5SYQuwg5zdtQeZnneUIApfg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -94037,13 +94611,13 @@ in
   coc-pyright = nodeEnv.buildNodePackage {
     name = "coc-pyright";
     packageName = "coc-pyright";
-    version = "1.1.284";
+    version = "1.1.291";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.284.tgz";
-      sha512 = "MP4yyTx1C7WCp6/l1JIBlSIZLmnoNLSjHPyt2rCKQyglt8T+4zt6pHDRgoG+nGs9SjxMASQJLU7y4tURHTV+4g==";
+      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.291.tgz";
+      sha512 = "Ffl7Gynb4zqsmUelEFuB1gqV5tFGGR/+Btd8l7/YVZVZ3M2/Ur9nBa6K8+inWPMQUkZ00nQEbXGDKeOzDLDcJQ==";
     };
     dependencies = [
-      sources."pyright-1.1.290"
+      sources."pyright-1.1.291"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -94117,10 +94691,10 @@ in
   coc-rust-analyzer = nodeEnv.buildNodePackage {
     name = "coc-rust-analyzer";
     packageName = "coc-rust-analyzer";
-    version = "0.71.1";
+    version = "0.72.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.71.1.tgz";
-      sha512 = "O8gH7wk6AMoRKBvfwvI9rF9MeZapS5fmN+U8/xlgB12IqcqkQliOWMbQYoH+jmb1/CWEnCg3hY6MjwWIwe9HBA==";
+      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.72.0.tgz";
+      sha512 = "kKbvsKyEDa+SND3mgOjdo3mGUUJwcHCt92fwZ9D7qLaE4y4SCxaHxrp3uAncaiMQUMicMT3a+5KEu0iaIXVnnQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -94188,7 +94762,7 @@ in
       sources."once-1.4.0"
       sources."performance-now-2.1.0"
       sources."psl-1.9.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.5.3"
       sources."request-2.88.2"
       sources."request-promise-core-1.1.4"
@@ -94198,7 +94772,7 @@ in
       sources."sshpk-1.17.0"
       sources."stealthy-require-1.1.1"
       sources."tough-cookie-2.5.0"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."tunnel-agent-0.6.0"
       sources."turndown-7.1.1"
       sources."tweetnacl-0.14.5"
@@ -94421,9 +94995,9 @@ in
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
       sources."@babel/code-frame-7.18.6"
-      sources."@babel/compat-data-7.20.10"
+      sources."@babel/compat-data-7.20.14"
       sources."@babel/core-7.20.12"
-      (sources."@babel/generator-7.20.7" // {
+      (sources."@babel/generator-7.20.14" // {
         dependencies = [
           sources."@jridgewell/gen-mapping-0.3.2"
         ];
@@ -94439,15 +95013,15 @@ in
       sources."@babel/helper-string-parser-7.19.4"
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/helper-validator-option-7.18.6"
-      sources."@babel/helpers-7.20.7"
+      sources."@babel/helpers-7.20.13"
       (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@babel/template-7.20.7"
-      sources."@babel/traverse-7.20.12"
+      sources."@babel/traverse-7.20.13"
       sources."@babel/types-7.20.7"
       sources."@jridgewell/gen-mapping-0.1.1"
       sources."@jridgewell/resolve-uri-3.1.0"
@@ -94487,7 +95061,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -94665,7 +95239,7 @@ in
       sources."postcss-selector-parser-6.0.11"
       sources."postcss-syntax-0.36.2"
       sources."postcss-value-parser-4.2.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."queue-microtask-1.2.3"
       sources."quick-lru-4.0.1"
       (sources."read-pkg-5.2.0" // {
@@ -94961,10 +95535,10 @@ in
   coc-tsserver = nodeEnv.buildNodePackage {
     name = "coc-tsserver";
     packageName = "coc-tsserver";
-    version = "2.1.0";
+    version = "2.1.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-tsserver/-/coc-tsserver-2.1.0.tgz";
-      sha512 = "gjc0WOlYu42m46+0kN+uBjSUPKq8kf+1aLuhnCTA6bp6cNRoen4Oe2QtTDGE71CHWSVbNYmAw1TYfRZBmHV8sQ==";
+      url = "https://registry.npmjs.org/coc-tsserver/-/coc-tsserver-2.1.3.tgz";
+      sha512 = "rzom53icaFoCF7p6Ps0dHqflS8yv+hOtQw43qOS4NL3b+rnulkfNracHFzuH1n1tyQWCzLgs73cAL1pBGrkUHQ==";
     };
     dependencies = [
       sources."typescript-4.9.4"
@@ -95092,10 +95666,10 @@ in
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."glob-7.2.3"
       sources."glob-parent-5.1.2"
-      sources."globals-13.19.0"
+      sources."globals-13.20.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.3"
@@ -95138,7 +95712,7 @@ in
       sources."progress-2.0.3"
       sources."pug-error-2.0.0"
       sources."pug-lexer-5.0.1"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."regexpp-3.2.0"
       sources."require-from-string-2.0.2"
       sources."resolve-1.22.1"
@@ -95564,7 +96138,7 @@ in
       sources."strip-ansi-6.0.1"
       sources."supports-color-8.1.1"
       sources."tree-kill-1.2.2"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."wrap-ansi-7.0.0"
       sources."y18n-5.0.8"
       sources."yargs-17.6.2"
@@ -96097,7 +96671,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."gauge-2.7.4"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-6.0.1"
       sources."getpass-0.1.7"
       sources."glob-7.2.3"
@@ -96118,7 +96692,7 @@ in
       sources."has-unicode-2.0.1"
       sources."has-yarn-2.1.0"
       sources."hosted-git-info-4.1.0"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       (sources."http-errors-2.0.0" // {
         dependencies = [
           sources."depd-2.0.0"
@@ -96308,7 +96882,7 @@ in
       sources."proxy-addr-2.0.7"
       sources."psl-1.9.0"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."pupa-2.1.1"
       sources."q-1.5.1"
       sources."qs-6.5.3"
@@ -96398,7 +96972,7 @@ in
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."systeminformation-5.17.3"
+      sources."systeminformation-5.17.4"
       (sources."tar-6.1.13" // {
         dependencies = [
           sources."minipass-4.0.0"
@@ -96687,7 +97261,7 @@ in
       sources."form-data-2.5.1"
       sources."formidable-1.2.6"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."globalthis-1.0.3"
       sources."has-1.0.3"
       sources."has-ansi-2.0.0"
@@ -96960,7 +97534,7 @@ in
       sources."@cspell/dict-ruby-4.0.1"
       sources."@cspell/dict-rust-4.0.0"
       sources."@cspell/dict-scala-4.0.0"
-      sources."@cspell/dict-software-terms-3.1.0"
+      sources."@cspell/dict-software-terms-3.1.1"
       sources."@cspell/dict-sql-2.0.1"
       sources."@cspell/dict-svelte-1.0.2"
       sources."@cspell/dict-swift-2.0.1"
@@ -97526,7 +98100,7 @@ in
       sources."pseudomap-1.0.2"
       sources."psl-1.9.0"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.5.3"
       sources."queue-tick-1.0.1"
       sources."random-access-file-2.2.1"
@@ -97907,10 +98481,10 @@ in
   elasticdump = nodeEnv.buildNodePackage {
     name = "elasticdump";
     packageName = "elasticdump";
-    version = "6.96.0";
+    version = "6.96.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-6.96.0.tgz";
-      sha512 = "GJsJF+yxOBv5s/KS1h4nCnkhXbJtHm0nEq7xUTDxpI6aqHj9wWaWCURNjdGziN4lv3hNPtnHXt7TsM57nzAXbQ==";
+      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-6.96.1.tgz";
+      sha512 = "YXsVhkOvhfSRj1oQsb+30nAX7VNEwAM8hoNV+DSz9uj+HrW4t5DWm2g7Cbc/LzpxPqFnLzp0nQCAvn84oudxMQ==";
     };
     dependencies = [
       sources."@fast-csv/format-4.3.5"
@@ -98022,14 +98596,14 @@ in
       sources."through-2.3.8"
       (sources."tough-cookie-2.5.0" // {
         dependencies = [
-          sources."punycode-2.2.0"
+          sources."punycode-2.3.0"
         ];
       })
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       (sources."uri-js-4.4.1" // {
         dependencies = [
-          sources."punycode-2.2.0"
+          sources."punycode-2.3.0"
         ];
       })
       sources."url-0.10.3"
@@ -98250,7 +98824,7 @@ in
       sources."gauge-4.0.4"
       sources."get-caller-file-2.0.5"
       sources."get-installed-path-2.1.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       (sources."get-package-info-1.0.0" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -98277,7 +98851,7 @@ in
       sources."has-unicode-2.0.1"
       sources."homedir-polyfill-1.0.3"
       sources."hosted-git-info-2.8.9"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-proxy-agent-5.0.0"
       sources."http2-wrapper-1.0.3"
       sources."https-proxy-agent-5.0.1"
@@ -98312,7 +98886,7 @@ in
       sources."jsonfile-6.1.0"
       sources."junk-3.1.0"
       sources."keyv-4.5.2"
-      sources."listr2-5.0.6"
+      sources."listr2-5.0.7"
       sources."load-json-file-2.0.0"
       sources."locate-path-2.0.0"
       sources."lodash-4.17.21"
@@ -98478,7 +99052,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."tr46-0.0.3"
       sources."trim-repeated-1.0.0"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."type-fest-0.13.1"
       sources."unique-filename-2.0.1"
       sources."unique-slug-3.0.0"
@@ -98524,10 +99098,10 @@ in
   eas-cli = nodeEnv.buildNodePackage {
     name = "eas-cli";
     packageName = "eas-cli";
-    version = "3.3.2";
+    version = "3.4.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eas-cli/-/eas-cli-3.3.2.tgz";
-      sha512 = "YHlGUS+qkSXOnwin67gC+6IfV87fkCUNUS/t8Lm9aXVTClLPNVOI3LPPJqnabPn6TzhYU3zSIP+S7IzOL8zqzA==";
+      url = "https://registry.npmjs.org/eas-cli/-/eas-cli-3.4.1.tgz";
+      sha512 = "YLeowqdlv7xHh7JBo3uYOjh5g2nZJFH5l6xIY/MO/f3vEEgHDltE8oXwgZ8JHzQ8n/PntyRZwffxVDsxMMS7vw==";
     };
     dependencies = [
       sources."@babel/code-frame-7.10.4"
@@ -98909,7 +99483,7 @@ in
       sources."promise-limit-2.7.0"
       sources."promise-retry-2.0.1"
       sources."prompts-2.4.2"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qrcode-terminal-0.12.0"
       sources."queue-microtask-1.2.3"
       sources."redeyed-2.1.1"
@@ -99103,13 +99677,13 @@ in
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
       sources."@babel/code-frame-7.18.6"
-      sources."@babel/compat-data-7.20.10"
+      sources."@babel/compat-data-7.20.14"
       (sources."@babel/core-7.20.12" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      (sources."@babel/generator-7.20.7" // {
+      (sources."@babel/generator-7.20.14" // {
         dependencies = [
           sources."@jridgewell/gen-mapping-0.3.2"
         ];
@@ -99133,17 +99707,17 @@ in
       sources."@babel/helper-string-parser-7.19.4"
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/helper-validator-option-7.18.6"
-      sources."@babel/helpers-7.20.7"
+      sources."@babel/helpers-7.20.13"
       sources."@babel/highlight-7.18.6"
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@babel/plugin-proposal-object-rest-spread-7.20.7"
       sources."@babel/plugin-syntax-jsx-7.18.6"
       sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
       sources."@babel/plugin-transform-destructuring-7.20.7"
       sources."@babel/plugin-transform-parameters-7.20.7"
-      sources."@babel/plugin-transform-react-jsx-7.20.7"
+      sources."@babel/plugin-transform-react-jsx-7.20.13"
       sources."@babel/template-7.20.7"
-      sources."@babel/traverse-7.20.12"
+      sources."@babel/traverse-7.20.13"
       sources."@babel/types-7.20.7"
       sources."@jridgewell/gen-mapping-0.1.1"
       sources."@jridgewell/resolve-uri-3.1.0"
@@ -99153,7 +99727,7 @@ in
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/prop-types-15.7.5"
-      sources."@types/react-18.0.26"
+      sources."@types/react-18.0.27"
       sources."@types/scheduler-0.16.2"
       sources."@types/yoga-layout-1.9.2"
       sources."ajv-6.12.6"
@@ -99178,7 +99752,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."chalk-2.4.2"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
@@ -99331,7 +99905,7 @@ in
       sources."pkg-up-3.1.0"
       sources."prop-types-15.8.1"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."quick-lru-4.0.1"
       sources."react-16.14.0"
       sources."react-devtools-core-4.27.1"
@@ -99471,13 +100045,13 @@ in
       sources."@azure/logger-1.0.3"
       (sources."@azure/msal-browser-2.32.2" // {
         dependencies = [
-          sources."@azure/msal-common-9.1.0"
+          sources."@azure/msal-common-9.1.1"
         ];
       })
       sources."@azure/msal-common-7.6.0"
       (sources."@azure/msal-node-1.14.6" // {
         dependencies = [
-          sources."@azure/msal-common-9.1.0"
+          sources."@azure/msal-common-9.1.1"
           sources."uuid-8.3.2"
         ];
       })
@@ -99515,17 +100089,17 @@ in
       })
       sources."@fluentui/date-time-utilities-8.5.4"
       sources."@fluentui/dom-utilities-2.2.4"
-      sources."@fluentui/font-icons-mdl2-8.5.6"
-      sources."@fluentui/foundation-legacy-8.2.26"
+      sources."@fluentui/font-icons-mdl2-8.5.7"
+      sources."@fluentui/foundation-legacy-8.2.27"
       sources."@fluentui/keyboard-key-0.4.4"
       sources."@fluentui/merge-styles-8.5.5"
-      sources."@fluentui/react-8.104.5"
-      sources."@fluentui/react-focus-8.8.12"
+      sources."@fluentui/react-8.104.8"
+      sources."@fluentui/react-focus-8.8.13"
       sources."@fluentui/react-hooks-8.6.15"
       sources."@fluentui/react-portal-compat-context-9.0.4"
       sources."@fluentui/react-window-provider-2.2.5"
       sources."@fluentui/set-version-8.2.4"
-      sources."@fluentui/style-utilities-8.8.5"
+      sources."@fluentui/style-utilities-8.9.0"
       sources."@fluentui/theme-2.6.21"
       sources."@fluentui/utilities-8.13.5"
       sources."@gar/promisify-1.1.3"
@@ -99579,15 +100153,11 @@ in
       sources."@nodelib/fs.walk-1.2.8"
       sources."@npmcli/fs-1.1.1"
       sources."@npmcli/move-file-1.1.2"
-      sources."@redis/bloom-1.1.0"
-      (sources."@redis/client-1.4.2" // {
-        dependencies = [
-          sources."cluster-key-slot-1.1.1"
-        ];
-      })
+      sources."@redis/bloom-1.2.0"
+      sources."@redis/client-1.5.3"
       sources."@redis/graph-1.1.0"
       sources."@redis/json-1.0.4"
-      sources."@redis/search-1.1.0"
+      sources."@redis/search-1.1.1"
       sources."@redis/time-series-1.0.4"
       (sources."@sap/hana-client-2.15.19" // {
         dependencies = [
@@ -99596,20 +100166,20 @@ in
       })
       sources."@sindresorhus/is-0.14.0"
       sources."@sqltools/formatter-1.2.5"
-      sources."@swc/core-1.3.27"
-      sources."@swc/core-darwin-arm64-1.3.27"
-      sources."@swc/core-darwin-x64-1.3.27"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.27"
-      sources."@swc/core-linux-arm64-gnu-1.3.27"
-      sources."@swc/core-linux-arm64-musl-1.3.27"
-      sources."@swc/core-linux-x64-gnu-1.3.27"
-      sources."@swc/core-linux-x64-musl-1.3.27"
-      sources."@swc/core-win32-arm64-msvc-1.3.27"
-      sources."@swc/core-win32-ia32-msvc-1.3.27"
-      sources."@swc/core-win32-x64-msvc-1.3.27"
-      sources."@swc/wasm-1.3.27"
+      sources."@swc/core-1.3.29"
+      sources."@swc/core-darwin-arm64-1.3.29"
+      sources."@swc/core-darwin-x64-1.3.29"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.29"
+      sources."@swc/core-linux-arm64-gnu-1.3.29"
+      sources."@swc/core-linux-arm64-musl-1.3.29"
+      sources."@swc/core-linux-x64-gnu-1.3.29"
+      sources."@swc/core-linux-x64-musl-1.3.29"
+      sources."@swc/core-win32-arm64-msvc-1.3.29"
+      sources."@swc/core-win32-ia32-msvc-1.3.29"
+      sources."@swc/core-win32-x64-msvc-1.3.29"
+      sources."@swc/wasm-1.3.29"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@tediousjs/connection-string-0.4.1"
+      sources."@tediousjs/connection-string-0.4.2"
       sources."@tokenizer/token-0.3.0"
       sources."@tootallnate/once-1.1.2"
       sources."@tsconfig/node10-1.0.9"
@@ -99625,7 +100195,7 @@ in
       sources."@types/eslint-scope-3.7.4"
       sources."@types/estree-0.0.51"
       sources."@types/express-4.17.13"
-      sources."@types/express-serve-static-core-4.17.32"
+      sources."@types/express-serve-static-core-4.17.33"
       sources."@types/file-type-10.9.1"
       sources."@types/js-yaml-4.0.4"
       sources."@types/json-schema-7.0.11"
@@ -99639,7 +100209,7 @@ in
       sources."@types/prop-types-15.7.5"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
-      sources."@types/react-18.0.26"
+      sources."@types/react-18.0.27"
       sources."@types/react-dom-18.0.10"
       sources."@types/scheduler-0.16.2"
       sources."@types/serve-static-1.15.0"
@@ -99693,7 +100263,7 @@ in
       sources."acorn-7.4.1"
       (sources."acorn-import-assertions-1.8.0" // {
         dependencies = [
-          sources."acorn-8.8.1"
+          sources."acorn-8.8.2"
         ];
       })
       sources."acorn-jsx-5.3.2"
@@ -99793,7 +100363,7 @@ in
       sources."assign-symbols-1.0.0"
       sources."astral-regex-2.0.0"
       sources."async-done-1.3.2"
-      sources."async-each-1.0.3"
+      sources."async-each-1.0.4"
       sources."async-limiter-1.0.1"
       sources."async-settle-1.0.0"
       sources."asynckit-0.4.0"
@@ -99856,7 +100426,7 @@ in
       sources."call-bind-1.0.2"
       sources."callsites-3.1.0"
       sources."camelcase-3.0.0"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."chalk-4.1.2"
       sources."chardet-0.7.0"
       (sources."chokidar-2.1.8" // {
@@ -100206,7 +100776,7 @@ in
       sources."generate-function-2.3.1"
       sources."generic-pool-3.9.0"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-4.1.0"
       sources."get-symbol-description-1.0.0"
       sources."get-value-2.0.6"
@@ -100233,7 +100803,7 @@ in
           sources."which-1.3.1"
         ];
       })
-      sources."globals-13.19.0"
+      sources."globals-13.20.0"
       sources."globalthis-1.0.3"
       sources."globby-11.1.0"
       sources."glogg-1.0.2"
@@ -100367,7 +100937,7 @@ in
       sources."highlight.js-10.7.3"
       sources."homedir-polyfill-1.0.3"
       sources."hosted-git-info-2.8.9"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-errors-1.7.2"
       (sources."http-proxy-agent-4.0.1" // {
         dependencies = [
@@ -100397,7 +100967,7 @@ in
       sources."interpret-1.4.0"
       sources."inversify-5.1.1"
       sources."invert-kv-1.0.0"
-      (sources."ioredis-5.2.5" // {
+      (sources."ioredis-5.3.0" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -100675,7 +101245,7 @@ in
         ];
       })
       sources."ms-2.0.0"
-      (sources."mssql-9.1.0" // {
+      (sources."mssql-9.1.1" // {
         dependencies = [
           sources."commander-9.5.0"
           sources."debug-4.3.4"
@@ -100720,7 +101290,7 @@ in
       sources."next-tick-1.1.0"
       sources."nice-try-1.0.5"
       sources."node-abi-3.31.0"
-      sources."node-abort-controller-3.0.1"
+      sources."node-abort-controller-3.1.1"
       sources."node-addon-api-4.3.0"
       sources."node-fetch-2.6.8"
       (sources."node-gyp-8.4.1" // {
@@ -100859,9 +101429,9 @@ in
       sources."path-to-regexp-0.1.7"
       sources."path-type-4.0.0"
       sources."peek-readable-4.1.0"
-      sources."pg-8.8.0"
+      sources."pg-8.9.0"
       sources."pg-connection-string-2.5.0"
-      sources."pg-cursor-2.7.4"
+      sources."pg-cursor-2.8.0"
       sources."pg-int8-1.0.1"
       (sources."pg-native-3.0.1" // {
         dependencies = [
@@ -100872,8 +101442,8 @@ in
         ];
       })
       sources."pg-pool-3.5.2"
-      sources."pg-protocol-1.5.0"
-      sources."pg-query-stream-4.2.4"
+      sources."pg-protocol-1.6.0"
+      sources."pg-query-stream-4.3.0"
       sources."pg-types-2.2.0"
       sources."pgpass-1.0.5"
       sources."picocolors-0.2.1"
@@ -100910,7 +101480,7 @@ in
           sources."pump-2.0.1"
         ];
       })
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.7.0"
       sources."queue-microtask-1.2.3"
       sources."randombytes-2.1.0"
@@ -100942,7 +101512,7 @@ in
         ];
       })
       sources."rechoir-0.6.2"
-      sources."redis-4.5.1"
+      sources."redis-4.6.2"
       sources."redis-errors-1.2.0"
       sources."redis-parser-3.0.0"
       sources."reflect-metadata-0.1.13"
@@ -101174,7 +101744,7 @@ in
       })
       (sources."terser-5.16.1" // {
         dependencies = [
-          sources."acorn-8.8.1"
+          sources."acorn-8.8.2"
           sources."commander-2.20.3"
         ];
       })
@@ -101211,10 +101781,10 @@ in
       sources."ts-log-2.2.5"
       (sources."ts-node-10.4.0" // {
         dependencies = [
-          sources."acorn-8.8.1"
+          sources."acorn-8.8.2"
         ];
       })
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       (sources."tsutils-3.21.0" // {
         dependencies = [
           sources."tslib-1.14.1"
@@ -101302,7 +101872,7 @@ in
       sources."webidl-conversions-3.0.1"
       (sources."webpack-5.75.0" // {
         dependencies = [
-          sources."acorn-8.8.1"
+          sources."acorn-8.8.2"
         ];
       })
       sources."webpack-sources-3.2.3"
@@ -101367,12 +101937,12 @@ in
       sources."@babel/code-frame-7.18.6"
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/highlight-7.18.6"
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       (sources."@eslint/eslintrc-0.4.3" // {
         dependencies = [
           sources."eslint-visitor-keys-1.3.0"
           sources."espree-7.3.1"
-          sources."globals-13.19.0"
+          sources."globals-13.20.0"
           sources."ignore-4.0.6"
           sources."type-fest-0.20.2"
         ];
@@ -101415,8 +101985,8 @@ in
       sources."@types/body-parser-1.19.2"
       sources."@types/connect-3.4.35"
       sources."@types/connect-history-api-fallback-1.3.5"
-      sources."@types/express-4.17.15"
-      sources."@types/express-serve-static-core-4.17.32"
+      sources."@types/express-4.17.16"
+      sources."@types/express-serve-static-core-4.17.33"
       sources."@types/glob-7.2.0"
       sources."@types/hls.js-0.13.3"
       sources."@types/http-proxy-1.17.9"
@@ -101665,7 +102235,7 @@ in
       sources."assign-symbols-1.0.0"
       sources."astral-regex-1.0.0"
       sources."async-2.6.4"
-      sources."async-each-1.0.3"
+      sources."async-each-1.0.4"
       sources."async-foreach-0.1.3"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
@@ -101778,7 +102348,7 @@ in
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."case-sensitive-paths-webpack-plugin-2.4.0"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
@@ -102114,7 +102684,7 @@ in
           sources."file-entry-cache-6.0.1"
           sources."flat-cache-3.0.4"
           sources."flatted-3.2.7"
-          sources."globals-13.19.0"
+          sources."globals-13.20.0"
           sources."has-flag-4.0.0"
           sources."ignore-4.0.6"
           sources."is-fullwidth-code-point-3.0.0"
@@ -102316,7 +102886,7 @@ in
       })
       sources."gaze-1.1.3"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stdin-6.0.0"
       sources."get-stream-4.1.0"
       sources."get-symbol-description-1.0.0"
@@ -103060,7 +103630,7 @@ in
           sources."pump-2.0.1"
         ];
       })
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."q-1.5.1"
       sources."qs-6.5.3"
       sources."query-string-4.3.4"
@@ -103719,7 +104289,7 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-jsx-5.3.2"
       sources."ajv-6.12.6"
       sources."ansi-regex-5.0.1"
@@ -103761,7 +104331,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."glob-7.2.3"
       sources."glob-parent-6.0.2"
-      sources."globals-13.19.0"
+      sources."globals-13.20.0"
       sources."grapheme-splitter-1.0.4"
       sources."has-flag-4.0.0"
       sources."ignore-5.2.4"
@@ -103773,7 +104343,7 @@ in
       sources."is-glob-4.0.3"
       sources."is-path-inside-3.0.3"
       sources."isexe-2.0.0"
-      sources."js-sdsl-4.2.0"
+      sources."js-sdsl-4.3.0"
       sources."js-yaml-4.1.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
@@ -103792,7 +104362,7 @@ in
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
       sources."prelude-ls-1.2.1"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."queue-microtask-1.2.3"
       sources."regexpp-3.2.0"
       sources."resolve-from-4.0.0"
@@ -103839,7 +104409,7 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-jsx-5.3.2"
       sources."ajv-6.12.6"
       sources."ansi-regex-5.0.1"
@@ -103886,7 +104456,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."glob-7.2.3"
       sources."glob-parent-6.0.2"
-      sources."globals-13.19.0"
+      sources."globals-13.20.0"
       sources."grapheme-splitter-1.0.4"
       sources."has-flag-4.0.0"
       sources."ignore-5.2.4"
@@ -103898,7 +104468,7 @@ in
       sources."is-glob-4.0.3"
       sources."is-path-inside-3.0.3"
       sources."isexe-2.0.0"
-      sources."js-sdsl-4.2.0"
+      sources."js-sdsl-4.3.0"
       sources."js-yaml-4.1.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
@@ -103918,7 +104488,7 @@ in
       sources."path-is-absolute-1.0.1"
       sources."path-key-3.1.1"
       sources."prelude-ls-1.2.1"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."queue-microtask-1.2.3"
       sources."regexpp-3.2.0"
       sources."resolve-from-4.0.0"
@@ -103969,26 +104539,27 @@ in
   expo-cli = nodeEnv.buildNodePackage {
     name = "expo-cli";
     packageName = "expo-cli";
-    version = "6.1.0";
+    version = "6.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/expo-cli/-/expo-cli-6.1.0.tgz";
-      sha512 = "yhbevPdwof7oyjQup/dEYbxYZCiK/vYYQVnZA3CbYxtz0TG6LcEumz1Pn5WhAwU6vGCSmKpsJ02r4O0/bwIB/Q==";
+      url = "https://registry.npmjs.org/expo-cli/-/expo-cli-6.2.1.tgz";
+      sha512 = "trFLjh02d+KqN+7ENaaMEYr2ankQLZZO93uQAzSP7eJd5VxnUBNQj96Qr0XXIy5cSffViftBsDOkmTbQA++oMw==";
     };
     dependencies = [
-      (sources."@ampproject/remapping-2.2.0" // {
+      sources."@ampproject/remapping-2.2.0"
+      sources."@babel/code-frame-7.10.4"
+      sources."@babel/compat-data-7.20.14"
+      (sources."@babel/core-7.20.12" // {
         dependencies = [
-          sources."@jridgewell/gen-mapping-0.1.1"
+          sources."@babel/code-frame-7.18.6"
+          sources."json5-2.2.3"
+          sources."semver-6.3.0"
         ];
       })
-      sources."@babel/code-frame-7.10.4"
-      sources."@babel/compat-data-7.20.10"
-      (sources."@babel/core-7.9.0" // {
+      (sources."@babel/generator-7.20.14" // {
         dependencies = [
-          sources."json5-2.2.3"
-          sources."semver-5.7.1"
+          sources."@jridgewell/gen-mapping-0.3.2"
         ];
       })
-      sources."@babel/generator-7.20.7"
       sources."@babel/helper-annotate-as-pure-7.18.6"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.18.9"
       (sources."@babel/helper-compilation-targets-7.20.7" // {
@@ -104023,33 +104594,19 @@ in
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/helper-validator-option-7.18.6"
       sources."@babel/helper-wrap-function-7.20.5"
-      sources."@babel/helpers-7.20.7"
+      sources."@babel/helpers-7.20.13"
       (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6"
-      (sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7" // {
-        dependencies = [
-          sources."@babel/code-frame-7.18.6"
-          sources."@babel/core-7.20.12"
-          sources."json5-2.2.3"
-          sources."semver-6.3.0"
-        ];
-      })
+      sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7"
       sources."@babel/plugin-proposal-async-generator-functions-7.20.7"
       sources."@babel/plugin-proposal-class-properties-7.18.6"
-      (sources."@babel/plugin-proposal-class-static-block-7.20.7" // {
-        dependencies = [
-          sources."@babel/code-frame-7.18.6"
-          sources."@babel/core-7.20.12"
-          sources."json5-2.2.3"
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."@babel/plugin-proposal-decorators-7.20.7"
+      sources."@babel/plugin-proposal-class-static-block-7.20.7"
+      sources."@babel/plugin-proposal-decorators-7.20.13"
       sources."@babel/plugin-proposal-dynamic-import-7.18.6"
       sources."@babel/plugin-proposal-export-default-from-7.18.10"
       sources."@babel/plugin-proposal-export-namespace-from-7.18.9"
@@ -104086,7 +104643,7 @@ in
       sources."@babel/plugin-transform-arrow-functions-7.20.7"
       sources."@babel/plugin-transform-async-to-generator-7.20.7"
       sources."@babel/plugin-transform-block-scoped-functions-7.18.6"
-      sources."@babel/plugin-transform-block-scoping-7.20.11"
+      sources."@babel/plugin-transform-block-scoping-7.20.14"
       sources."@babel/plugin-transform-classes-7.20.7"
       sources."@babel/plugin-transform-computed-properties-7.20.7"
       sources."@babel/plugin-transform-destructuring-7.20.7"
@@ -104108,7 +104665,7 @@ in
       sources."@babel/plugin-transform-parameters-7.20.7"
       sources."@babel/plugin-transform-property-literals-7.18.6"
       sources."@babel/plugin-transform-react-display-name-7.18.6"
-      sources."@babel/plugin-transform-react-jsx-7.20.7"
+      sources."@babel/plugin-transform-react-jsx-7.20.13"
       sources."@babel/plugin-transform-react-jsx-self-7.18.6"
       sources."@babel/plugin-transform-react-jsx-source-7.19.6"
       sources."@babel/plugin-transform-regenerator-7.20.5"
@@ -104123,7 +104680,7 @@ in
       sources."@babel/plugin-transform-sticky-regex-7.18.6"
       sources."@babel/plugin-transform-template-literals-7.18.9"
       sources."@babel/plugin-transform-typeof-symbol-7.18.9"
-      sources."@babel/plugin-transform-typescript-7.20.7"
+      sources."@babel/plugin-transform-typescript-7.20.13"
       sources."@babel/plugin-transform-unicode-escapes-7.18.10"
       sources."@babel/plugin-transform-unicode-regex-7.18.6"
       (sources."@babel/preset-env-7.20.2" // {
@@ -104138,7 +104695,7 @@ in
           sources."@babel/code-frame-7.18.6"
         ];
       })
-      (sources."@babel/traverse-7.20.12" // {
+      (sources."@babel/traverse-7.20.13" // {
         dependencies = [
           sources."@babel/code-frame-7.18.6"
         ];
@@ -104149,7 +104706,7 @@ in
       sources."@expo/bunyan-4.0.0"
       (sources."@expo/cli-0.4.11" // {
         dependencies = [
-          sources."@babel/runtime-7.20.7"
+          sources."@babel/runtime-7.20.13"
           (sources."@expo/config-7.0.3" // {
             dependencies = [
               sources."@expo/json-file-8.2.36"
@@ -104293,7 +104850,19 @@ in
       sources."@expo/sdk-runtime-versions-1.0.0"
       sources."@expo/spawn-async-1.5.0"
       sources."@expo/vector-icons-13.0.0"
-      sources."@expo/webpack-config-0.17.4"
+      (sources."@expo/webpack-config-18.0.1" // {
+        dependencies = [
+          sources."@expo/config-6.0.20"
+          (sources."@expo/config-plugins-4.1.1" // {
+            dependencies = [
+              sources."semver-7.3.8"
+            ];
+          })
+          sources."@expo/config-types-44.0.0"
+          sources."@expo/json-file-8.2.35"
+          sources."@expo/plist-0.0.18"
+        ];
+      })
       (sources."@expo/xcpretty-4.2.2" // {
         dependencies = [
           sources."js-yaml-4.1.0"
@@ -104304,11 +104873,17 @@ in
       sources."@hapi/hoek-9.3.0"
       sources."@hapi/topo-5.1.0"
       sources."@jest/types-26.6.2"
-      sources."@jridgewell/gen-mapping-0.3.2"
+      sources."@jridgewell/gen-mapping-0.1.1"
       sources."@jridgewell/resolve-uri-3.1.0"
       sources."@jridgewell/set-array-1.1.2"
+      (sources."@jridgewell/source-map-0.3.2" // {
+        dependencies = [
+          sources."@jridgewell/gen-mapping-0.3.2"
+        ];
+      })
       sources."@jridgewell/sourcemap-codec-1.4.14"
       sources."@jridgewell/trace-mapping-0.3.17"
+      sources."@leichtgewicht/ip-codec-2.0.4"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -104330,69 +104905,66 @@ in
       sources."@sideway/pinpoint-2.0.0"
       sources."@sindresorhus/is-4.6.0"
       sources."@szmarczak/http-timer-4.0.6"
+      sources."@trysound/sax-0.2.0"
+      sources."@types/body-parser-1.19.2"
+      sources."@types/bonjour-3.5.10"
       sources."@types/cacheable-request-6.0.3"
+      sources."@types/connect-3.4.35"
+      sources."@types/connect-history-api-fallback-1.3.5"
+      sources."@types/eslint-8.4.10"
+      sources."@types/eslint-scope-3.7.4"
+      sources."@types/estree-0.0.51"
+      sources."@types/express-4.17.16"
+      sources."@types/express-serve-static-core-4.17.33"
       sources."@types/glob-7.2.0"
-      sources."@types/html-minifier-terser-5.1.2"
+      sources."@types/html-minifier-terser-6.1.0"
       sources."@types/http-cache-semantics-4.0.1"
+      sources."@types/http-proxy-1.17.9"
       sources."@types/istanbul-lib-coverage-2.0.4"
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-3.0.1"
       sources."@types/json-schema-7.0.11"
       sources."@types/keyv-3.1.4"
+      sources."@types/mime-3.0.1"
       sources."@types/minimatch-5.1.2"
       sources."@types/node-18.11.18"
-      sources."@types/q-1.5.5"
+      sources."@types/qs-6.9.7"
+      sources."@types/range-parser-1.2.4"
       sources."@types/responselike-1.0.0"
       sources."@types/retry-0.12.2"
-      sources."@types/source-list-map-0.1.2"
-      sources."@types/tapable-1.0.8"
-      (sources."@types/uglify-js-3.17.1" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      (sources."@types/webpack-4.41.33" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      (sources."@types/webpack-sources-3.2.0" // {
-        dependencies = [
-          sources."source-map-0.7.4"
-        ];
-      })
+      sources."@types/serve-index-1.9.1"
+      sources."@types/serve-static-1.15.0"
+      sources."@types/sockjs-0.3.33"
+      sources."@types/ws-8.5.4"
       sources."@types/yargs-15.0.15"
       sources."@types/yargs-parser-21.0.0"
       sources."@urql/core-2.3.6"
       sources."@urql/exchange-retry-0.3.0"
-      sources."@webassemblyjs/ast-1.9.0"
-      sources."@webassemblyjs/floating-point-hex-parser-1.9.0"
-      sources."@webassemblyjs/helper-api-error-1.9.0"
-      sources."@webassemblyjs/helper-buffer-1.9.0"
-      sources."@webassemblyjs/helper-code-frame-1.9.0"
-      sources."@webassemblyjs/helper-fsm-1.9.0"
-      sources."@webassemblyjs/helper-module-context-1.9.0"
-      sources."@webassemblyjs/helper-wasm-bytecode-1.9.0"
-      sources."@webassemblyjs/helper-wasm-section-1.9.0"
-      sources."@webassemblyjs/ieee754-1.9.0"
-      sources."@webassemblyjs/leb128-1.9.0"
-      sources."@webassemblyjs/utf8-1.9.0"
-      sources."@webassemblyjs/wasm-edit-1.9.0"
-      sources."@webassemblyjs/wasm-gen-1.9.0"
-      sources."@webassemblyjs/wasm-opt-1.9.0"
-      sources."@webassemblyjs/wasm-parser-1.9.0"
-      sources."@webassemblyjs/wast-parser-1.9.0"
-      sources."@webassemblyjs/wast-printer-1.9.0"
+      sources."@webassemblyjs/ast-1.11.1"
+      sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
+      sources."@webassemblyjs/helper-api-error-1.11.1"
+      sources."@webassemblyjs/helper-buffer-1.11.1"
+      sources."@webassemblyjs/helper-numbers-1.11.1"
+      sources."@webassemblyjs/helper-wasm-bytecode-1.11.1"
+      sources."@webassemblyjs/helper-wasm-section-1.11.1"
+      sources."@webassemblyjs/ieee754-1.11.1"
+      sources."@webassemblyjs/leb128-1.11.1"
+      sources."@webassemblyjs/utf8-1.11.1"
+      sources."@webassemblyjs/wasm-edit-1.11.1"
+      sources."@webassemblyjs/wasm-gen-1.11.1"
+      sources."@webassemblyjs/wasm-opt-1.11.1"
+      sources."@webassemblyjs/wasm-parser-1.11.1"
+      sources."@webassemblyjs/wast-printer-1.11.1"
       sources."@xmldom/xmldom-0.7.9"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
+      sources."abab-2.0.6"
       sources."accepts-1.3.8"
-      sources."acorn-6.4.2"
-      sources."address-1.1.2"
+      sources."acorn-8.8.2"
+      sources."acorn-import-assertions-1.8.0"
       sources."agent-base-6.0.2"
       sources."aggregate-error-3.1.0"
       sources."ajv-8.12.0"
-      sources."ajv-errors-1.0.1"
       sources."ajv-formats-2.1.1"
       (sources."ajv-keywords-3.5.2" // {
         dependencies = [
@@ -104400,61 +104972,30 @@ in
           sources."json-schema-traverse-0.4.1"
         ];
       })
-      sources."alphanum-sort-1.0.2"
       sources."ansi-align-3.0.1"
-      sources."ansi-colors-3.2.4"
       (sources."ansi-escapes-4.3.2" // {
         dependencies = [
           sources."type-fest-0.21.3"
         ];
       })
-      sources."ansi-html-0.0.7"
+      sources."ansi-html-community-0.0.8"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
       sources."any-promise-1.3.0"
       sources."anymatch-3.1.3"
       sources."application-config-path-0.1.1"
-      sources."aproba-1.2.0"
       sources."arg-4.1.0"
       sources."argparse-2.0.1"
-      sources."arr-diff-4.0.0"
-      sources."arr-flatten-1.1.0"
-      sources."arr-union-3.1.0"
       sources."array-flatten-1.1.1"
       sources."array-union-2.1.0"
       sources."array-uniq-1.0.3"
-      sources."array-unique-0.3.2"
-      sources."array.prototype.reduce-1.0.5"
       sources."arrify-2.0.1"
       sources."asap-2.0.6"
-      (sources."asn1.js-5.4.1" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      (sources."assert-1.5.0" // {
-        dependencies = [
-          sources."inherits-2.0.1"
-          sources."util-0.10.3"
-        ];
-      })
-      sources."assign-symbols-1.0.0"
       sources."async-1.5.2"
-      sources."async-each-1.0.3"
-      sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
-      sources."atob-2.1.2"
-      sources."available-typed-arrays-1.0.5"
       sources."axios-0.21.1"
-      (sources."babel-loader-8.1.0" // {
-        dependencies = [
-          sources."ajv-6.12.6"
-          sources."json-schema-traverse-0.4.1"
-          sources."loader-utils-1.4.2"
-          sources."schema-utils-2.7.1"
-        ];
-      })
+      sources."babel-loader-8.3.0"
       sources."babel-plugin-module-resolver-4.1.0"
       (sources."babel-plugin-polyfill-corejs2-0.3.3" // {
         dependencies = [
@@ -104463,31 +105004,23 @@ in
       })
       sources."babel-plugin-polyfill-corejs3-0.6.0"
       sources."babel-plugin-polyfill-regenerator-0.4.1"
-      sources."babel-plugin-react-native-web-0.18.10"
+      sources."babel-plugin-react-native-web-0.18.12"
       sources."babel-preset-expo-9.2.2"
       sources."balanced-match-1.0.2"
-      (sources."base-0.11.2" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-        ];
-      })
       sources."base64-js-1.5.1"
       sources."batch-0.6.1"
       sources."better-opn-3.0.2"
       sources."big-integer-1.6.51"
       sources."big.js-5.2.2"
       sources."binary-extensions-2.2.0"
-      sources."bindings-1.5.0"
-      sources."bluebird-3.7.2"
       sources."blueimp-md5-2.19.0"
-      sources."bn.js-5.2.1"
       (sources."body-parser-1.19.0" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
         ];
       })
-      (sources."bonjour-3.5.0" // {
+      (sources."bonjour-service-1.1.0" // {
         dependencies = [
           sources."array-flatten-2.1.2"
         ];
@@ -104502,26 +105035,12 @@ in
       sources."bplist-parser-0.2.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."brorand-1.1.0"
-      sources."browserify-aes-1.2.0"
-      sources."browserify-cipher-1.0.1"
-      sources."browserify-des-1.0.2"
-      sources."browserify-rsa-4.1.0"
-      (sources."browserify-sign-4.2.1" // {
-        dependencies = [
-          sources."readable-stream-3.6.0"
-        ];
-      })
-      sources."browserify-zlib-0.2.0"
       sources."browserslist-4.21.4"
-      sources."buffer-4.9.2"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
       sources."buffer-fill-1.0.0"
       sources."buffer-from-1.1.2"
-      sources."buffer-indexof-1.1.1"
-      sources."buffer-xor-1.0.3"
-      sources."builtin-status-codes-3.0.0"
+      sources."bufferutil-4.0.7"
       sources."builtins-1.0.3"
       sources."bytes-3.1.0"
       (sources."cacache-15.3.0" // {
@@ -104530,18 +105049,14 @@ in
           sources."rimraf-3.0.2"
         ];
       })
-      sources."cache-base-1.0.1"
       sources."cacheable-lookup-5.0.4"
       sources."cacheable-request-7.0.2"
       sources."call-bind-1.0.2"
-      sources."caller-callsite-2.0.0"
-      sources."caller-path-2.0.0"
       sources."callsite-1.0.0"
-      sources."callsites-2.0.0"
       sources."camel-case-4.1.2"
       sources."camelcase-6.3.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -104556,31 +105071,9 @@ in
       sources."chownr-2.0.0"
       sources."chrome-trace-event-1.0.3"
       sources."ci-info-3.7.1"
-      sources."cipher-base-1.0.4"
-      (sources."class-utils-0.3.6" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
-        ];
-      })
-      (sources."clean-css-4.2.4" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
+      sources."clean-css-5.3.2"
       sources."clean-stack-2.2.0"
-      (sources."clean-webpack-plugin-3.0.0" // {
+      (sources."clean-webpack-plugin-4.0.0" // {
         dependencies = [
           sources."array-union-1.0.2"
           sources."del-4.1.1"
@@ -104594,34 +105087,17 @@ in
       sources."cli-cursor-2.1.0"
       sources."cli-spinners-2.7.0"
       sources."cli-table3-0.6.3"
-      (sources."cliui-5.0.0" // {
-        dependencies = [
-          sources."ansi-regex-4.1.1"
-          sources."emoji-regex-7.0.3"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-3.1.0"
-          sources."strip-ansi-5.2.0"
-          sources."wrap-ansi-5.1.0"
-        ];
-      })
       sources."clone-1.0.4"
       sources."clone-response-1.0.3"
-      (sources."coa-2.0.2" // {
-        dependencies = [
-          sources."chalk-2.4.2"
-        ];
-      })
-      sources."collection-visit-1.0.0"
-      sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."color-string-1.9.1"
+      sources."colord-2.9.3"
+      sources."colorette-2.0.19"
       sources."combined-stream-1.0.8"
       sources."command-exists-1.2.9"
       sources."commander-2.17.1"
       sources."commondir-1.0.1"
       sources."compare-versions-3.6.0"
-      sources."component-emitter-1.3.0"
       sources."component-type-1.2.1"
       sources."compressible-2.0.18"
       (sources."compression-1.7.4" // {
@@ -104640,48 +105116,24 @@ in
           sources."ms-2.0.0"
         ];
       })
-      sources."connect-history-api-fallback-1.6.0"
-      sources."console-browserify-1.2.0"
-      sources."constants-browserify-1.0.0"
+      sources."connect-history-api-fallback-2.0.0"
       sources."content-disposition-0.5.2"
       sources."content-type-1.0.4"
       sources."convert-source-map-1.9.0"
       sources."cookie-0.3.1"
       sources."cookie-signature-1.0.6"
-      (sources."copy-concurrently-1.0.5" // {
-        dependencies = [
-          sources."rimraf-2.7.1"
-        ];
-      })
-      sources."copy-descriptor-0.1.1"
-      (sources."copy-webpack-plugin-6.0.4" // {
+      (sources."copy-webpack-plugin-10.2.4" // {
         dependencies = [
-          sources."ajv-6.12.6"
-          sources."find-cache-dir-3.3.2"
-          sources."find-up-4.1.0"
-          sources."json-schema-traverse-0.4.1"
-          sources."locate-path-5.0.0"
-          sources."make-dir-3.1.0"
-          (sources."p-locate-4.1.0" // {
-            dependencies = [
-              sources."p-limit-2.3.0"
-            ];
-          })
-          sources."pkg-dir-4.2.0"
-          sources."schema-utils-2.7.1"
-          sources."semver-6.3.0"
+          sources."ajv-keywords-5.1.0"
+          sources."array-union-3.0.1"
+          sources."glob-parent-6.0.2"
+          sources."globby-12.2.0"
+          sources."schema-utils-4.0.0"
+          sources."slash-4.0.0"
         ];
       })
-      sources."core-js-compat-3.27.1"
+      sources."core-js-compat-3.27.2"
       sources."core-util-is-1.0.3"
-      sources."cosmiconfig-5.2.1"
-      (sources."create-ecdh-4.0.4" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
-      sources."create-hash-1.2.0"
-      sources."create-hmac-1.1.7"
       (sources."cross-fetch-3.1.5" // {
         dependencies = [
           sources."node-fetch-2.6.7"
@@ -104693,67 +105145,42 @@ in
         ];
       })
       sources."crypt-0.0.2"
-      sources."crypto-browserify-3.12.0"
       sources."crypto-random-string-1.0.0"
-      sources."css-color-names-0.0.4"
-      sources."css-declaration-sorter-4.0.1"
-      (sources."css-loader-3.6.0" // {
+      sources."css-declaration-sorter-6.3.1"
+      (sources."css-loader-6.7.3" // {
         dependencies = [
-          sources."ajv-6.12.6"
-          sources."camelcase-5.3.1"
-          sources."json-schema-traverse-0.4.1"
-          sources."loader-utils-1.4.2"
-          sources."schema-utils-2.7.1"
-          sources."semver-6.3.0"
+          sources."semver-7.3.8"
         ];
       })
-      (sources."css-select-4.3.0" // {
+      (sources."css-minimizer-webpack-plugin-3.4.1" // {
         dependencies = [
-          sources."domhandler-4.3.1"
-        ];
-      })
-      sources."css-select-base-adapter-0.1.1"
-      (sources."css-tree-1.0.0-alpha.37" // {
-        dependencies = [
-          sources."source-map-0.6.1"
+          sources."ajv-keywords-5.1.0"
+          sources."schema-utils-4.0.0"
         ];
       })
+      sources."css-select-4.3.0"
+      sources."css-tree-1.1.3"
       sources."css-what-6.1.0"
       sources."cssesc-3.0.0"
-      sources."cssnano-4.1.11"
-      sources."cssnano-preset-default-4.0.8"
-      sources."cssnano-util-get-arguments-4.0.0"
-      sources."cssnano-util-get-match-4.0.0"
-      sources."cssnano-util-raw-cache-4.0.1"
-      sources."cssnano-util-same-parent-4.0.1"
-      (sources."csso-4.2.0" // {
-        dependencies = [
-          sources."css-tree-1.1.3"
-          sources."mdn-data-2.0.14"
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."cyclist-1.0.1"
+      sources."cssnano-5.1.14"
+      sources."cssnano-preset-default-5.2.13"
+      sources."cssnano-utils-3.1.0"
+      sources."csso-4.2.0"
       sources."dag-map-1.0.2"
       sources."dateformat-3.0.3"
       sources."debug-4.3.4"
       sources."decache-4.4.0"
-      sources."decamelize-1.2.0"
-      sources."decode-uri-component-0.2.2"
       (sources."decompress-response-6.0.0" // {
         dependencies = [
           sources."mimic-response-3.1.0"
         ];
       })
-      sources."deep-equal-1.1.1"
       sources."deep-extend-0.6.0"
       sources."deepmerge-4.2.2"
       sources."default-gateway-4.2.0"
       sources."defaults-1.0.4"
       sources."defer-to-connect-2.0.1"
       sources."define-lazy-prop-2.0.0"
-      sources."define-properties-1.1.4"
-      sources."define-property-2.0.2"
       (sources."del-6.1.1" // {
         dependencies = [
           sources."rimraf-3.0.2"
@@ -104761,51 +105188,21 @@ in
       })
       sources."delayed-stream-1.0.0"
       sources."depd-1.1.2"
-      sources."des.js-1.0.1"
       sources."destroy-1.2.0"
       sources."detect-node-2.1.0"
-      (sources."detect-port-alt-1.1.6" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
-      (sources."diffie-hellman-5.0.3" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
       sources."dir-glob-3.0.1"
       sources."dns-equal-1.0.0"
-      sources."dns-packet-1.3.4"
-      sources."dns-txt-2.0.2"
+      sources."dns-packet-5.4.0"
       sources."dom-converter-0.2.0"
-      (sources."dom-serializer-1.4.1" // {
-        dependencies = [
-          sources."domhandler-4.3.1"
-        ];
-      })
-      sources."domain-browser-1.2.0"
+      sources."dom-serializer-1.4.1"
       sources."domelementtype-2.3.0"
-      sources."domhandler-3.3.0"
+      sources."domhandler-4.3.1"
       sources."domino-2.1.6"
-      (sources."domutils-2.8.0" // {
-        dependencies = [
-          sources."domhandler-4.3.1"
-        ];
-      })
+      sources."domutils-2.8.0"
       sources."dot-case-3.0.4"
-      sources."dot-prop-5.3.0"
-      sources."duplexer-0.1.2"
       sources."duplexer3-0.1.5"
-      sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
       sources."electron-to-chromium-1.4.284"
-      (sources."elliptic-6.5.4" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
       sources."encodeurl-1.0.2"
@@ -104815,24 +105212,15 @@ in
         ];
       })
       sources."end-of-stream-1.4.4"
-      (sources."enhanced-resolve-4.5.0" // {
-        dependencies = [
-          sources."memory-fs-0.5.0"
-        ];
-      })
+      sources."enhanced-resolve-5.12.0"
       sources."entities-2.2.0"
       sources."env-editor-0.4.2"
       sources."eol-0.9.1"
-      sources."errno-0.1.8"
-      sources."error-ex-1.3.2"
-      sources."es-abstract-1.21.1"
-      sources."es-array-method-boxes-properly-1.0.0"
-      sources."es-set-tostringtag-2.0.1"
-      sources."es-to-primitive-1.2.1"
+      sources."es-module-lexer-0.9.3"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
-      sources."eslint-scope-4.0.3"
+      sources."eslint-scope-5.1.1"
       sources."esprima-4.0.1"
       (sources."esrecurse-4.3.0" // {
         dependencies = [
@@ -104844,8 +105232,6 @@ in
       sources."etag-1.8.1"
       sources."eventemitter3-4.0.7"
       sources."events-3.3.0"
-      sources."eventsource-1.1.2"
-      sources."evp_bytestokey-1.0.3"
       sources."exec-async-2.2.0"
       (sources."execa-1.0.0" // {
         dependencies = [
@@ -104853,29 +105239,9 @@ in
           sources."is-stream-1.1.0"
         ];
       })
-      (sources."expand-brackets-2.1.4" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."define-property-0.2.5"
-          sources."extend-shallow-2.0.1"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
-          sources."ms-2.0.0"
-        ];
-      })
       (sources."expo-47.0.13" // {
         dependencies = [
-          sources."@babel/runtime-7.20.7"
+          sources."@babel/runtime-7.20.13"
           (sources."@expo/config-7.0.3" // {
             dependencies = [
               sources."semver-7.3.2"
@@ -104949,36 +105315,15 @@ in
           sources."statuses-1.4.0"
         ];
       })
-      (sources."extend-shallow-3.0.2" // {
-        dependencies = [
-          sources."is-extendable-1.0.1"
-        ];
-      })
-      (sources."extglob-2.0.4" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-          sources."extend-shallow-2.0.1"
-        ];
-      })
       sources."fast-deep-equal-3.1.3"
       sources."fast-glob-3.2.12"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.15.0"
-      sources."faye-websocket-0.10.0"
+      sources."faye-websocket-0.11.4"
       sources."fbemitter-3.0.0"
       sources."fbjs-3.0.4"
       sources."fbjs-css-vars-1.0.2"
       sources."fetch-retry-4.1.1"
-      sources."figgy-pudding-3.5.2"
-      (sources."file-loader-6.0.0" // {
-        dependencies = [
-          sources."ajv-6.12.6"
-          sources."json-schema-traverse-0.4.1"
-          sources."schema-utils-2.7.1"
-        ];
-      })
-      sources."file-uri-to-path-1.0.0"
-      sources."filesize-6.1.0"
       sources."fill-range-7.0.1"
       (sources."finalhandler-1.1.2" // {
         dependencies = [
@@ -104992,195 +105337,86 @@ in
           sources."path-exists-3.0.0"
         ];
       })
-      sources."find-cache-dir-2.1.0"
+      sources."find-cache-dir-3.3.2"
       sources."find-up-5.0.0"
       sources."find-yarn-workspace-root-2.0.0"
-      sources."flush-write-stream-1.1.1"
       sources."follow-redirects-1.15.2"
       sources."fontfaceobserver-2.3.0"
-      sources."for-each-0.3.3"
-      sources."for-in-1.0.2"
-      (sources."fork-ts-checker-webpack-plugin-4.1.6" // {
-        dependencies = [
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."chalk-2.4.2"
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."micromatch-3.1.10"
-          sources."semver-5.7.1"
-          sources."to-regex-range-2.1.1"
-        ];
-      })
       sources."form-data-2.5.1"
       sources."forwarded-0.2.0"
-      sources."fragment-cache-0.2.1"
       sources."freeport-async-2.0.0"
       sources."fresh-0.5.2"
-      sources."from2-2.3.0"
       (sources."fs-extra-9.0.0" // {
         dependencies = [
           sources."universalify-1.0.0"
         ];
       })
       sources."fs-minipass-2.1.0"
-      sources."fs-write-stream-atomic-1.0.10"
+      sources."fs-monkey-1.0.3"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
-      sources."function.prototype.name-1.1.5"
-      sources."functions-have-names-1.2.3"
       sources."gensync-1.0.0-beta.2"
-      sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-port-3.2.0"
       sources."get-stream-5.2.0"
-      sources."get-symbol-description-1.0.0"
-      sources."get-value-2.0.6"
       sources."getenv-1.0.0"
       sources."glob-7.1.6"
       sources."glob-parent-5.1.2"
-      sources."global-modules-2.0.0"
-      sources."global-prefix-3.0.0"
+      sources."glob-to-regexp-0.4.1"
       sources."globals-11.12.0"
-      sources."globalthis-1.0.3"
       sources."globby-11.1.0"
-      sources."gopd-1.0.1"
       sources."got-11.8.6"
       sources."graceful-fs-4.2.10"
       sources."graphql-15.8.0"
       sources."graphql-tag-2.12.6"
-      sources."gzip-size-5.1.1"
       sources."handle-thing-2.0.1"
       sources."has-1.0.3"
-      sources."has-bigints-1.0.2"
       sources."has-flag-3.0.0"
-      sources."has-property-descriptors-1.0.0"
-      sources."has-proto-1.0.1"
       sources."has-symbols-1.0.3"
-      sources."has-tostringtag-1.0.0"
-      sources."has-value-1.0.0"
-      (sources."has-values-1.0.0" // {
-        dependencies = [
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."kind-of-4.0.0"
-        ];
-      })
       sources."hasbin-1.2.3"
-      (sources."hash-base-3.1.0" // {
-        dependencies = [
-          sources."readable-stream-3.6.0"
-        ];
-      })
-      sources."hash.js-1.1.7"
       sources."hashids-1.1.4"
       sources."he-1.2.0"
-      sources."hex-color-regex-1.1.0"
-      sources."hmac-drbg-1.0.1"
       sources."hosted-git-info-3.0.8"
       sources."hpack.js-2.1.6"
-      sources."hsl-regex-1.0.0"
-      sources."hsla-regex-1.0.0"
-      sources."html-entities-1.4.0"
-      (sources."html-loader-1.1.0" // {
-        dependencies = [
-          sources."ajv-6.12.6"
-          sources."json-schema-traverse-0.4.1"
-          sources."schema-utils-2.7.1"
-        ];
-      })
-      (sources."html-minifier-terser-5.1.1" // {
-        dependencies = [
-          sources."commander-4.1.1"
-        ];
-      })
-      (sources."html-webpack-plugin-4.3.0" // {
+      sources."html-entities-2.3.3"
+      (sources."html-minifier-terser-6.1.0" // {
         dependencies = [
-          sources."loader-utils-1.4.2"
+          sources."commander-8.3.0"
         ];
       })
-      sources."htmlparser2-4.1.0"
-      sources."http-cache-semantics-4.1.0"
+      sources."html-webpack-plugin-5.5.0"
+      sources."htmlparser2-6.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-deceiver-1.2.7"
       (sources."http-errors-1.7.2" // {
         dependencies = [
           sources."inherits-2.0.3"
         ];
       })
+      sources."http-parser-js-0.5.8"
       sources."http-proxy-1.18.1"
-      (sources."http-proxy-middleware-0.19.1" // {
-        dependencies = [
-          sources."braces-2.3.2"
-          sources."extend-shallow-2.0.1"
-          sources."fill-range-4.0.0"
-          sources."is-number-3.0.0"
-          sources."kind-of-3.2.2"
-          sources."micromatch-3.1.10"
-          sources."to-regex-range-2.1.1"
-        ];
-      })
+      sources."http-proxy-middleware-2.0.6"
       sources."http2-wrapper-1.0.3"
-      sources."https-browserify-1.0.0"
       sources."https-proxy-agent-5.0.1"
+      sources."human-signals-2.1.0"
       sources."iconv-lite-0.4.24"
-      sources."icss-utils-4.1.1"
-      sources."ieee754-1.2.1"
-      sources."iferr-0.1.5"
+      sources."icss-utils-5.1.0"
       sources."ignore-5.2.4"
-      sources."image-size-1.0.2"
-      sources."immer-8.0.1"
-      (sources."import-fresh-2.0.0" // {
-        dependencies = [
-          sources."resolve-from-3.0.0"
-        ];
-      })
-      sources."import-local-2.0.0"
       sources."imurmurhash-0.1.4"
       sources."indent-string-4.0.0"
-      sources."indexes-of-1.0.1"
       sources."infer-owner-1.0.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."internal-ip-4.3.0"
-      sources."internal-slot-1.0.4"
       sources."invariant-2.2.4"
-      sources."ip-1.1.8"
       sources."ip-regex-2.1.0"
       sources."ipaddr.js-1.9.1"
-      sources."is-absolute-url-2.1.0"
-      sources."is-accessor-descriptor-1.0.0"
-      sources."is-arguments-1.1.1"
-      sources."is-array-buffer-3.0.1"
-      sources."is-arrayish-0.2.1"
-      sources."is-bigint-1.0.4"
       sources."is-binary-path-2.1.0"
-      sources."is-boolean-object-1.1.2"
       sources."is-buffer-1.1.6"
-      sources."is-callable-1.2.7"
-      sources."is-color-stop-1.1.0"
       sources."is-core-module-2.11.0"
-      sources."is-data-descriptor-1.0.0"
-      sources."is-date-object-1.0.5"
-      sources."is-descriptor-1.0.2"
-      sources."is-directory-0.3.1"
       sources."is-docker-2.2.1"
-      sources."is-extendable-0.1.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
@@ -105190,10 +105426,7 @@ in
           sources."is-glob-2.0.1"
         ];
       })
-      sources."is-negative-zero-2.0.2"
       sources."is-number-7.0.0"
-      sources."is-number-object-1.0.7"
-      sources."is-obj-2.0.0"
       sources."is-path-cwd-2.2.0"
       (sources."is-path-in-cwd-2.1.0" // {
         dependencies = [
@@ -105201,7 +105434,7 @@ in
         ];
       })
       sources."is-path-inside-3.0.3"
-      sources."is-plain-object-2.0.4"
+      sources."is-plain-obj-3.0.0"
       sources."is-port-reachable-2.0.1"
       (sources."is-reachable-4.0.0" // {
         dependencies = [
@@ -105226,25 +105459,16 @@ in
           sources."responselike-1.0.2"
         ];
       })
-      sources."is-regex-1.1.4"
-      sources."is-resolvable-1.1.0"
       sources."is-root-2.1.0"
-      sources."is-shared-array-buffer-1.0.2"
       sources."is-stream-2.0.1"
-      sources."is-string-1.0.7"
-      sources."is-symbol-1.0.4"
-      sources."is-typed-array-1.1.10"
       sources."is-valid-path-0.1.1"
-      sources."is-weakref-1.0.2"
-      sources."is-windows-1.0.2"
       sources."is-wsl-2.2.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
-      sources."isobject-3.0.1"
-      (sources."jest-worker-26.6.2" // {
+      (sources."jest-worker-27.5.1" // {
         dependencies = [
           sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
+          sources."supports-color-8.1.1"
         ];
       })
       sources."jimp-compact-0.16.1"
@@ -105258,7 +105482,7 @@ in
       })
       sources."jsesc-2.5.2"
       sources."json-buffer-3.0.1"
-      sources."json-parse-better-errors-1.0.2"
+      sources."json-parse-even-better-errors-2.3.1"
       (sources."json-schema-deref-sync-0.13.0" // {
         dependencies = [
           sources."clone-2.1.2"
@@ -105266,19 +105490,16 @@ in
         ];
       })
       sources."json-schema-traverse-1.0.0"
-      sources."json3-3.3.3"
       sources."json5-1.0.2"
       sources."jsonfile-6.1.0"
       sources."keychain-1.3.0"
       sources."keyv-4.5.2"
-      sources."killable-1.0.1"
-      sources."kind-of-6.0.3"
       sources."kleur-3.0.3"
-      sources."last-call-webpack-plugin-3.0.0"
       sources."latest-version-5.1.0"
       sources."leven-3.1.0"
+      sources."lilconfig-2.0.6"
       sources."lines-and-columns-1.2.4"
-      sources."loader-runner-2.4.0"
+      sources."loader-runner-4.3.0"
       (sources."loader-utils-2.0.4" // {
         dependencies = [
           sources."json5-2.2.3"
@@ -105295,60 +105516,40 @@ in
           sources."chalk-2.4.2"
         ];
       })
-      sources."loglevel-1.8.1"
       sources."loose-envify-1.4.0"
       sources."lower-case-2.0.2"
       sources."lowercase-keys-2.0.0"
       sources."lru-cache-6.0.0"
-      (sources."make-dir-2.1.0" // {
+      (sources."make-dir-3.1.0" // {
         dependencies = [
-          sources."semver-5.7.1"
+          sources."semver-6.3.0"
         ];
       })
-      sources."map-cache-0.2.2"
-      sources."map-visit-1.0.0"
       sources."md5-2.3.0"
       sources."md5-file-3.2.3"
-      sources."md5.js-1.3.5"
       sources."md5hex-1.0.0"
-      sources."mdn-data-2.0.4"
+      sources."mdn-data-2.0.14"
       sources."media-typer-0.3.0"
+      sources."memfs-3.4.13"
       sources."memory-cache-0.2.0"
-      sources."memory-fs-0.4.1"
       sources."merge-descriptors-1.0.1"
       sources."merge-stream-2.0.0"
       sources."merge2-1.4.1"
       sources."methods-1.1.2"
-      (sources."metro-react-native-babel-preset-0.72.3" // {
-        dependencies = [
-          sources."@babel/code-frame-7.18.6"
-          sources."@babel/core-7.20.12"
-          sources."json5-2.2.3"
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."microevent.ts-0.1.1"
+      sources."metro-react-native-babel-preset-0.72.3"
       sources."micromatch-4.0.5"
-      (sources."miller-rabin-4.0.1" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
       sources."mime-2.6.0"
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
-      (sources."mini-css-extract-plugin-0.5.0" // {
+      (sources."mini-css-extract-plugin-2.7.2" // {
         dependencies = [
-          sources."ajv-6.12.6"
-          sources."json-schema-traverse-0.4.1"
-          sources."loader-utils-1.4.2"
-          sources."schema-utils-1.0.0"
+          sources."ajv-keywords-5.1.0"
+          sources."schema-utils-4.0.0"
         ];
       })
       sources."minimalistic-assert-1.0.1"
-      sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.1.2"
       sources."minimist-1.2.7"
       sources."minipass-3.1.6"
@@ -105356,25 +105557,12 @@ in
       sources."minipass-flush-1.0.5"
       sources."minipass-pipeline-1.2.4"
       sources."minizlib-2.1.2"
-      sources."mississippi-3.0.0"
-      (sources."mixin-deep-1.3.2" // {
-        dependencies = [
-          sources."is-extendable-1.0.1"
-        ];
-      })
       sources."mkdirp-0.5.6"
-      (sources."move-concurrently-1.0.1" // {
-        dependencies = [
-          sources."rimraf-2.7.1"
-        ];
-      })
       sources."ms-2.1.2"
-      sources."multicast-dns-6.2.3"
-      sources."multicast-dns-service-types-1.1.0"
+      sources."multicast-dns-7.2.5"
       sources."mv-2.1.1"
       sources."mz-2.7.0"
-      sources."nan-2.17.0"
-      sources."nanomatch-1.2.13"
+      sources."nanoid-3.3.4"
       sources."ncp-2.0.0"
       (sources."needle-2.9.1" // {
         dependencies = [
@@ -105388,13 +105576,8 @@ in
       sources."no-case-3.0.4"
       sources."node-fetch-2.6.8"
       sources."node-forge-0.10.0"
-      sources."node-html-parser-1.4.9"
-      (sources."node-libs-browser-2.2.1" // {
-        dependencies = [
-          sources."path-browserify-0.0.1"
-          sources."punycode-1.4.1"
-        ];
-      })
+      sources."node-gyp-build-4.6.0"
+      sources."node-html-parser-5.4.2"
       sources."node-releases-2.0.8"
       sources."normalize-path-3.0.0"
       sources."normalize-url-6.1.0"
@@ -105408,40 +105591,13 @@ in
       sources."nth-check-2.1.1"
       sources."nullthrows-1.1.1"
       sources."object-assign-4.1.1"
-      (sources."object-copy-0.1.0" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          sources."is-accessor-descriptor-0.1.6"
-          sources."is-data-descriptor-0.1.4"
-          (sources."is-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-5.1.0"
-            ];
-          })
-          sources."kind-of-3.2.2"
-        ];
-      })
       sources."object-inspect-1.12.3"
-      sources."object-is-1.1.5"
-      sources."object-keys-1.1.1"
-      sources."object-visit-1.0.1"
-      sources."object.assign-4.1.4"
-      sources."object.entries-1.1.6"
-      sources."object.getownpropertydescriptors-2.1.5"
-      sources."object.pick-1.3.0"
-      sources."object.values-1.1.6"
       sources."obuf-1.1.2"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       sources."onetime-2.0.1"
       sources."open-8.4.0"
-      (sources."opn-5.5.0" // {
-        dependencies = [
-          sources."is-wsl-1.1.0"
-        ];
-      })
-      sources."optimize-css-assets-webpack-plugin-5.0.8"
       (sources."ora-3.4.0" // {
         dependencies = [
           sources."ansi-regex-4.1.1"
@@ -105449,7 +105605,6 @@ in
           sources."strip-ansi-5.2.0"
         ];
       })
-      sources."os-browserify-0.3.0"
       sources."os-homedir-1.0.2"
       sources."os-tmpdir-1.0.2"
       sources."osenv-0.1.5"
@@ -105492,23 +105647,16 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."pako-1.0.11"
-      sources."parallel-transform-1.2.0"
       sources."param-case-3.0.4"
-      sources."parse-asn1-5.1.6"
-      sources."parse-json-4.0.0"
       sources."parse-png-2.1.0"
-      sources."parse-srcset-1.0.2"
       sources."parseurl-1.3.3"
       sources."pascal-case-3.1.2"
-      sources."pascalcase-0.1.1"
       (sources."password-prompt-1.1.2" // {
         dependencies = [
           sources."ansi-escapes-3.2.0"
         ];
       })
       sources."path-browserify-1.0.1"
-      sources."path-dirname-1.0.2"
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-is-inside-1.0.2"
@@ -105516,20 +105664,18 @@ in
       sources."path-parse-1.0.7"
       sources."path-to-regexp-0.1.7"
       sources."path-type-4.0.0"
-      sources."pbkdf2-3.1.2"
-      sources."picocolors-0.2.1"
+      sources."picocolors-1.0.0"
       sources."picomatch-2.3.1"
       sources."pify-4.0.1"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
       sources."pirates-4.0.5"
-      (sources."pkg-dir-3.0.0" // {
+      (sources."pkg-dir-4.2.0" // {
         dependencies = [
-          sources."find-up-3.0.0"
-          sources."locate-path-3.0.0"
+          sources."find-up-4.1.0"
+          sources."locate-path-5.0.0"
           sources."p-limit-2.3.0"
-          sources."p-locate-3.0.0"
-          sources."path-exists-3.0.0"
+          sources."p-locate-4.1.0"
         ];
       })
       (sources."pkg-up-3.1.0" // {
@@ -105547,133 +105693,43 @@ in
         ];
       })
       sources."pngjs-3.4.0"
-      sources."pnp-webpack-plugin-1.7.0"
-      (sources."portfinder-1.0.32" // {
-        dependencies = [
-          sources."async-2.6.4"
-          sources."debug-3.2.7"
-        ];
-      })
-      sources."posix-character-classes-0.1.1"
-      (sources."postcss-7.0.39" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."postcss-calc-7.0.5"
-      (sources."postcss-colormin-4.0.3" // {
-        dependencies = [
-          sources."postcss-value-parser-3.3.1"
-        ];
-      })
-      (sources."postcss-convert-values-4.0.1" // {
-        dependencies = [
-          sources."postcss-value-parser-3.3.1"
-        ];
-      })
-      sources."postcss-discard-comments-4.0.2"
-      sources."postcss-discard-duplicates-4.0.2"
-      sources."postcss-discard-empty-4.0.1"
-      sources."postcss-discard-overridden-4.0.1"
-      (sources."postcss-merge-longhand-4.0.11" // {
-        dependencies = [
-          sources."postcss-value-parser-3.3.1"
-        ];
-      })
-      (sources."postcss-merge-rules-4.0.3" // {
-        dependencies = [
-          sources."postcss-selector-parser-3.1.2"
-        ];
-      })
-      (sources."postcss-minify-font-values-4.0.2" // {
-        dependencies = [
-          sources."postcss-value-parser-3.3.1"
-        ];
-      })
-      (sources."postcss-minify-gradients-4.0.2" // {
-        dependencies = [
-          sources."postcss-value-parser-3.3.1"
-        ];
-      })
-      (sources."postcss-minify-params-4.0.2" // {
-        dependencies = [
-          sources."postcss-value-parser-3.3.1"
-        ];
-      })
-      (sources."postcss-minify-selectors-4.0.2" // {
-        dependencies = [
-          sources."postcss-selector-parser-3.1.2"
-        ];
-      })
-      sources."postcss-modules-extract-imports-2.0.0"
-      sources."postcss-modules-local-by-default-3.0.3"
-      sources."postcss-modules-scope-2.2.0"
-      sources."postcss-modules-values-3.0.0"
-      sources."postcss-normalize-charset-4.0.1"
-      (sources."postcss-normalize-display-values-4.0.2" // {
-        dependencies = [
-          sources."postcss-value-parser-3.3.1"
-        ];
-      })
-      (sources."postcss-normalize-positions-4.0.2" // {
-        dependencies = [
-          sources."postcss-value-parser-3.3.1"
-        ];
-      })
-      (sources."postcss-normalize-repeat-style-4.0.2" // {
-        dependencies = [
-          sources."postcss-value-parser-3.3.1"
-        ];
-      })
-      (sources."postcss-normalize-string-4.0.2" // {
-        dependencies = [
-          sources."postcss-value-parser-3.3.1"
-        ];
-      })
-      (sources."postcss-normalize-timing-functions-4.0.2" // {
-        dependencies = [
-          sources."postcss-value-parser-3.3.1"
-        ];
-      })
-      (sources."postcss-normalize-unicode-4.0.1" // {
-        dependencies = [
-          sources."postcss-value-parser-3.3.1"
-        ];
-      })
-      (sources."postcss-normalize-url-4.0.1" // {
-        dependencies = [
-          sources."normalize-url-3.3.0"
-          sources."postcss-value-parser-3.3.1"
-        ];
-      })
-      (sources."postcss-normalize-whitespace-4.0.2" // {
-        dependencies = [
-          sources."postcss-value-parser-3.3.1"
-        ];
-      })
-      (sources."postcss-ordered-values-4.1.2" // {
-        dependencies = [
-          sources."postcss-value-parser-3.3.1"
-        ];
-      })
-      sources."postcss-reduce-initial-4.0.3"
-      (sources."postcss-reduce-transforms-4.0.2" // {
-        dependencies = [
-          sources."postcss-value-parser-3.3.1"
-        ];
-      })
-      sources."postcss-safe-parser-4.0.2"
+      sources."postcss-8.4.21"
+      sources."postcss-calc-8.2.4"
+      sources."postcss-colormin-5.3.0"
+      sources."postcss-convert-values-5.1.3"
+      sources."postcss-discard-comments-5.1.2"
+      sources."postcss-discard-duplicates-5.1.0"
+      sources."postcss-discard-empty-5.1.1"
+      sources."postcss-discard-overridden-5.1.0"
+      sources."postcss-merge-longhand-5.1.7"
+      sources."postcss-merge-rules-5.1.3"
+      sources."postcss-minify-font-values-5.1.0"
+      sources."postcss-minify-gradients-5.1.1"
+      sources."postcss-minify-params-5.1.4"
+      sources."postcss-minify-selectors-5.2.1"
+      sources."postcss-modules-extract-imports-3.0.0"
+      sources."postcss-modules-local-by-default-4.0.0"
+      sources."postcss-modules-scope-3.0.0"
+      sources."postcss-modules-values-4.0.0"
+      sources."postcss-normalize-charset-5.1.0"
+      sources."postcss-normalize-display-values-5.1.0"
+      sources."postcss-normalize-positions-5.1.1"
+      sources."postcss-normalize-repeat-style-5.1.1"
+      sources."postcss-normalize-string-5.1.0"
+      sources."postcss-normalize-timing-functions-5.1.0"
+      sources."postcss-normalize-unicode-5.1.1"
+      sources."postcss-normalize-url-5.1.0"
+      sources."postcss-normalize-whitespace-5.1.1"
+      sources."postcss-ordered-values-5.1.3"
+      sources."postcss-reduce-initial-5.1.1"
+      sources."postcss-reduce-transforms-5.1.0"
       sources."postcss-selector-parser-6.0.11"
-      (sources."postcss-svgo-4.0.3" // {
-        dependencies = [
-          sources."postcss-value-parser-3.3.1"
-        ];
-      })
-      sources."postcss-unique-selectors-4.0.1"
+      sources."postcss-svgo-5.1.0"
+      sources."postcss-unique-selectors-5.1.1"
       sources."postcss-value-parser-4.2.0"
       sources."prepend-http-3.0.1"
       sources."pretty-bytes-5.6.0"
-      sources."pretty-error-2.1.2"
+      sources."pretty-error-4.0.0"
       (sources."pretty-format-26.6.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -105682,68 +105738,23 @@ in
         ];
       })
       sources."probe-image-size-6.0.0"
-      sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
       sources."progress-2.0.3"
       sources."promise-7.3.1"
       sources."promise-inflight-1.0.1"
       sources."prompts-2.4.2"
       sources."proxy-addr-2.0.7"
-      sources."prr-1.0.1"
-      (sources."public-encrypt-4.0.3" // {
-        dependencies = [
-          sources."bn.js-4.12.0"
-        ];
-      })
       sources."pump-3.0.0"
-      (sources."pumpify-1.5.1" // {
-        dependencies = [
-          sources."pump-2.0.1"
-        ];
-      })
-      sources."punycode-2.2.0"
-      sources."q-1.5.1"
+      sources."punycode-2.3.0"
       sources."qrcode-terminal-0.11.0"
       sources."qs-6.7.0"
-      sources."querystring-0.2.0"
-      sources."querystring-es3-0.2.1"
       sources."querystringify-2.2.0"
-      sources."queue-6.0.2"
       sources."queue-microtask-1.2.3"
       sources."quick-lru-5.1.1"
       sources."randombytes-2.1.0"
-      sources."randomfill-1.0.4"
       sources."range-parser-1.2.1"
       sources."raw-body-2.4.0"
       sources."rc-1.2.8"
-      (sources."react-dev-utils-11.0.4" // {
-        dependencies = [
-          sources."browserslist-4.14.2"
-          (sources."chalk-2.4.2" // {
-            dependencies = [
-              sources."escape-string-regexp-1.0.5"
-            ];
-          })
-          sources."cross-spawn-7.0.3"
-          sources."escape-string-regexp-2.0.0"
-          sources."find-up-4.1.0"
-          sources."globby-11.0.1"
-          sources."json5-2.2.3"
-          sources."loader-utils-2.0.0"
-          sources."locate-path-5.0.0"
-          sources."node-releases-1.1.77"
-          sources."open-7.4.2"
-          sources."p-limit-2.3.0"
-          sources."p-locate-4.1.0"
-          sources."path-key-3.1.1"
-          sources."prompts-2.4.0"
-          sources."shebang-command-2.0.0"
-          sources."shebang-regex-3.0.0"
-          sources."strip-ansi-6.0.0"
-          sources."which-2.0.2"
-        ];
-      })
-      sources."react-error-overlay-6.0.11"
       sources."react-is-17.0.2"
       sources."react-refresh-0.4.3"
       sources."read-chunk-3.2.0"
@@ -105754,17 +105765,10 @@ in
         ];
       })
       sources."readdirp-3.6.0"
-      (sources."recursive-readdir-2.2.2" // {
-        dependencies = [
-          sources."minimatch-3.0.4"
-        ];
-      })
       sources."regenerate-1.4.2"
       sources."regenerate-unicode-properties-10.1.0"
       sources."regenerator-runtime-0.13.11"
       sources."regenerator-transform-0.15.1"
-      sources."regex-not-1.0.2"
-      sources."regexp.prototype.flags-1.4.3"
       sources."regexpu-core-5.2.2"
       sources."registry-auth-token-3.3.2"
       sources."registry-url-3.1.0"
@@ -105775,21 +105779,9 @@ in
         ];
       })
       sources."relateurl-0.2.7"
-      sources."remove-trailing-separator-1.1.0"
       sources."remove-trailing-slash-0.1.1"
-      (sources."renderkid-2.0.7" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-          sources."domhandler-4.3.1"
-          sources."htmlparser2-6.1.0"
-          sources."strip-ansi-3.0.1"
-        ];
-      })
-      sources."repeat-element-1.1.4"
-      sources."repeat-string-1.6.1"
-      sources."require-directory-2.1.1"
+      sources."renderkid-3.0.0"
       sources."require-from-string-2.0.2"
-      sources."require-main-filename-2.0.0"
       (sources."requireg-0.2.2" // {
         dependencies = [
           sources."resolve-1.7.1"
@@ -105799,43 +105791,34 @@ in
       sources."reselect-4.1.7"
       sources."resolve-1.22.1"
       sources."resolve-alpn-1.2.1"
-      (sources."resolve-cwd-2.0.0" // {
-        dependencies = [
-          sources."resolve-from-3.0.0"
-        ];
-      })
       sources."resolve-from-5.0.0"
-      sources."resolve-url-0.2.1"
       sources."responselike-2.0.1"
       sources."restore-cursor-2.0.0"
-      sources."ret-0.1.15"
       sources."retry-0.12.0"
       sources."reusify-1.0.4"
-      sources."rgb-regex-1.0.1"
-      sources."rgba-regex-1.0.0"
       (sources."rimraf-2.4.5" // {
         dependencies = [
           sources."glob-6.0.4"
         ];
       })
-      sources."ripemd160-2.0.2"
       sources."router-ips-1.0.0"
       sources."run-parallel-1.2.0"
-      sources."run-queue-1.0.3"
       sources."safe-buffer-5.2.1"
       sources."safe-json-stringify-1.2.0"
-      sources."safe-regex-1.1.0"
-      sources."safe-regex-test-1.0.0"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
-      (sources."schema-utils-3.1.1" // {
+      (sources."schema-utils-2.7.1" // {
         dependencies = [
           sources."ajv-6.12.6"
           sources."json-schema-traverse-0.4.1"
         ];
       })
       sources."select-hose-2.0.0"
-      sources."selfsigned-1.10.14"
+      (sources."selfsigned-2.1.1" // {
+        dependencies = [
+          sources."node-forge-1.3.1"
+        ];
+      })
       sources."semver-7.3.2"
       (sources."send-0.18.0" // {
         dependencies = [
@@ -105855,7 +105838,7 @@ in
         ];
       })
       sources."serialize-error-6.0.0"
-      sources."serialize-javascript-4.0.0"
+      sources."serialize-javascript-6.0.1"
       (sources."serve-index-1.9.1" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -105878,18 +105861,10 @@ in
           sources."statuses-1.4.0"
         ];
       })
-      sources."set-blocking-2.0.0"
-      (sources."set-value-2.0.1" // {
-        dependencies = [
-          sources."extend-shallow-2.0.1"
-        ];
-      })
       sources."setimmediate-1.0.5"
       sources."setprototypeof-1.1.1"
-      sources."sha.js-2.4.11"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
-      sources."shell-quote-1.7.2"
       sources."side-channel-1.0.4"
       sources."signal-exit-3.0.7"
       (sources."simple-plist-1.4.0" // {
@@ -105897,60 +105872,23 @@ in
           sources."bplist-parser-0.3.2"
         ];
       })
-      (sources."simple-swizzle-0.2.2" // {
-        dependencies = [
-          sources."is-arrayish-0.3.2"
-        ];
-      })
       sources."sisteransi-1.0.5"
       sources."slash-3.0.0"
       sources."slugify-1.6.5"
-      (sources."snapdragon-0.8.2" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."define-property-0.2.5"
-          sources."extend-shallow-2.0.1"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
-          sources."ms-2.0.0"
-        ];
-      })
-      (sources."snapdragon-node-2.1.1" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-        ];
-      })
-      (sources."snapdragon-util-3.0.1" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
-      (sources."sockjs-0.3.20" // {
+      sources."sockjs-0.3.24"
+      sources."source-list-map-2.0.1"
+      sources."source-map-0.6.1"
+      sources."source-map-js-1.0.2"
+      (sources."source-map-loader-3.0.2" // {
         dependencies = [
-          sources."uuid-3.4.0"
+          sources."iconv-lite-0.6.3"
         ];
       })
-      (sources."sockjs-client-1.4.0" // {
+      (sources."source-map-support-0.4.18" // {
         dependencies = [
-          sources."debug-3.2.7"
-          sources."faye-websocket-0.11.4"
+          sources."source-map-0.5.7"
         ];
       })
-      sources."source-list-map-2.0.1"
-      sources."source-map-0.5.7"
-      sources."source-map-resolve-0.5.3"
-      sources."source-map-support-0.4.18"
-      sources."source-map-url-0.4.1"
       sources."spdy-4.0.2"
       (sources."spdy-transport-3.0.0" // {
         dependencies = [
@@ -105958,42 +105896,18 @@ in
         ];
       })
       sources."split-1.0.1"
-      sources."split-string-3.1.0"
       sources."sprintf-js-1.0.3"
       sources."ssri-8.0.1"
       sources."stable-0.1.8"
-      (sources."static-extend-0.1.2" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
-        ];
-      })
       sources."statuses-1.5.0"
-      sources."stream-browserify-2.0.2"
       sources."stream-buffers-2.2.0"
-      sources."stream-each-1.2.3"
-      sources."stream-http-2.8.3"
       (sources."stream-parser-0.3.1" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
         ];
       })
-      sources."stream-shift-1.0.1"
       sources."string-width-4.2.3"
-      sources."string.prototype.trimend-1.0.6"
-      sources."string.prototype.trimstart-1.0.6"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -106001,20 +105915,11 @@ in
       })
       sources."strip-ansi-6.0.1"
       sources."strip-eof-1.0.0"
+      sources."strip-final-newline-2.0.0"
       sources."strip-json-comments-2.0.1"
       sources."structured-headers-0.4.1"
-      (sources."style-loader-1.2.1" // {
-        dependencies = [
-          sources."ajv-6.12.6"
-          sources."json-schema-traverse-0.4.1"
-          sources."schema-utils-2.7.1"
-        ];
-      })
-      (sources."stylehacks-4.0.3" // {
-        dependencies = [
-          sources."postcss-selector-parser-3.1.2"
-        ];
-      })
+      sources."style-loader-3.3.1"
+      sources."stylehacks-5.1.1"
       (sources."sucrase-3.29.0" // {
         dependencies = [
           sources."commander-4.1.1"
@@ -106029,22 +105934,12 @@ in
         ];
       })
       sources."supports-preserve-symlinks-flag-1.0.0"
-      (sources."svgo-1.3.2" // {
+      (sources."svgo-2.8.0" // {
         dependencies = [
-          sources."chalk-2.4.2"
-          sources."css-select-2.1.0"
-          sources."css-what-3.4.2"
-          (sources."dom-serializer-0.2.2" // {
-            dependencies = [
-              sources."domelementtype-2.3.0"
-            ];
-          })
-          sources."domelementtype-1.3.1"
-          sources."domutils-1.7.0"
-          sources."nth-check-1.0.2"
+          sources."commander-7.2.0"
         ];
       })
-      sources."tapable-1.1.3"
+      sources."tapable-2.2.1"
       (sources."tar-6.1.13" // {
         dependencies = [
           sources."minipass-4.0.0"
@@ -106060,269 +105955,133 @@ in
         ];
       })
       sources."terminal-link-2.1.1"
-      (sources."terser-4.8.1" // {
+      (sources."terser-5.16.1" // {
         dependencies = [
           sources."commander-2.20.3"
-          sources."source-map-0.6.1"
           sources."source-map-support-0.5.21"
         ];
       })
-      (sources."terser-webpack-plugin-3.1.0" // {
+      (sources."terser-webpack-plugin-5.3.6" // {
         dependencies = [
           sources."ajv-6.12.6"
-          sources."find-cache-dir-3.3.2"
-          sources."find-up-4.1.0"
           sources."json-schema-traverse-0.4.1"
-          sources."locate-path-5.0.0"
-          sources."make-dir-3.1.0"
-          (sources."p-locate-4.1.0" // {
-            dependencies = [
-              sources."p-limit-2.3.0"
-            ];
-          })
-          sources."pkg-dir-4.2.0"
-          sources."schema-utils-2.7.1"
-          sources."semver-6.3.0"
-          sources."source-map-0.6.1"
+          sources."schema-utils-3.1.1"
         ];
       })
       sources."text-table-0.2.0"
       sources."thenify-3.3.1"
       sources."thenify-all-1.6.0"
       sources."through-2.3.8"
-      sources."through2-2.0.5"
       sources."thunky-1.1.0"
-      sources."timers-browserify-2.0.12"
-      sources."timsort-0.3.0"
       sources."tmp-0.0.33"
-      sources."to-arraybuffer-1.0.1"
       sources."to-fast-properties-2.0.0"
-      (sources."to-object-path-0.3.0" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
       sources."to-readable-stream-1.0.0"
-      sources."to-regex-3.0.2"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.0"
       sources."tr46-0.0.3"
       sources."traverse-0.6.7"
       sources."tree-kill-1.2.2"
       sources."ts-interface-checker-0.1.13"
-      sources."ts-pnp-1.2.0"
-      sources."tslib-2.4.1"
-      sources."tty-browserify-0.0.0"
+      sources."tslib-2.5.0"
       sources."turndown-7.0.0"
       sources."type-fest-0.12.0"
       sources."type-is-1.6.18"
-      sources."typed-array-length-1.0.4"
       sources."typedarray-0.0.6"
-      sources."ua-parser-js-0.7.32"
-      sources."unbox-primitive-1.0.2"
+      sources."ua-parser-js-0.7.33"
       sources."unicode-canonical-property-names-ecmascript-2.0.0"
       sources."unicode-match-property-ecmascript-2.0.0"
       sources."unicode-match-property-value-ecmascript-2.1.0"
       sources."unicode-property-aliases-ecmascript-2.1.0"
-      sources."union-value-1.0.1"
-      sources."uniq-1.0.1"
-      sources."uniqs-2.0.0"
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.2"
       sources."unique-string-1.0.0"
       sources."universalify-2.0.0"
       sources."unpipe-1.0.0"
-      sources."unquote-1.1.1"
-      (sources."unset-value-1.0.0" // {
-        dependencies = [
-          (sources."has-value-0.3.1" // {
-            dependencies = [
-              sources."isobject-2.1.0"
-            ];
-          })
-          sources."has-values-0.1.4"
-        ];
-      })
       sources."untildify-3.0.3"
-      sources."upath-1.2.0"
-      (sources."update-browserslist-db-1.0.10" // {
-        dependencies = [
-          sources."picocolors-1.0.0"
-        ];
-      })
+      sources."update-browserslist-db-1.0.10"
       sources."update-check-1.5.3"
       sources."uri-js-4.4.1"
-      sources."urix-0.1.0"
-      (sources."url-0.11.0" // {
-        dependencies = [
-          sources."punycode-1.3.2"
-        ];
-      })
       sources."url-join-4.0.0"
-      sources."url-loader-4.1.1"
       sources."url-parse-1.5.10"
       (sources."url-parse-lax-3.0.0" // {
         dependencies = [
           sources."prepend-http-2.0.0"
         ];
       })
-      sources."use-3.1.1"
-      (sources."util-0.11.1" // {
-        dependencies = [
-          sources."inherits-2.0.3"
-        ];
-      })
+      sources."utf-8-validate-6.0.2"
       sources."util-deprecate-1.0.2"
-      sources."util.promisify-1.0.0"
       sources."utila-0.4.0"
       sources."utils-merge-1.0.1"
       sources."uuid-8.3.2"
       sources."valid-url-1.0.9"
       sources."validate-npm-package-name-3.0.0"
       sources."vary-1.1.2"
-      sources."vendors-1.0.4"
-      sources."vm-browserify-1.1.2"
-      sources."watchpack-1.7.5"
-      (sources."watchpack-chokidar2-2.0.1" // {
-        dependencies = [
-          sources."anymatch-2.0.0"
-          sources."binary-extensions-1.13.1"
-          sources."braces-2.3.2"
-          sources."chokidar-2.1.8"
-          sources."extend-shallow-2.0.1"
-          sources."fill-range-4.0.0"
-          sources."fsevents-1.2.13"
-          sources."glob-parent-3.1.0"
-          sources."is-binary-path-1.0.1"
-          sources."is-glob-3.1.0"
-          sources."is-number-3.0.0"
-          sources."kind-of-3.2.2"
-          sources."micromatch-3.1.10"
-          sources."normalize-path-2.1.1"
-          sources."readdirp-2.2.1"
-          sources."to-regex-range-2.1.1"
-        ];
-      })
+      sources."watchpack-2.4.0"
       sources."wbuf-1.7.3"
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-3.0.1"
-      (sources."webpack-4.43.0" // {
+      (sources."webpack-5.75.0" // {
         dependencies = [
           sources."ajv-6.12.6"
-          sources."braces-2.3.2"
-          sources."cacache-12.0.4"
-          sources."chownr-1.1.4"
-          sources."extend-shallow-2.0.1"
-          sources."fill-range-4.0.0"
-          sources."is-number-3.0.0"
-          sources."is-wsl-1.1.0"
           sources."json-schema-traverse-0.4.1"
-          sources."kind-of-3.2.2"
-          sources."loader-utils-1.4.2"
-          sources."lru-cache-5.1.1"
-          sources."micromatch-3.1.10"
-          sources."rimraf-2.7.1"
-          sources."schema-utils-1.0.0"
-          sources."source-map-0.6.1"
-          sources."ssri-6.0.2"
-          sources."terser-webpack-plugin-1.4.5"
-          sources."to-regex-range-2.1.1"
-          sources."yallist-3.1.1"
+          sources."schema-utils-3.1.1"
+          sources."webpack-sources-3.2.3"
         ];
       })
-      sources."webpack-dev-middleware-3.7.3"
-      (sources."webpack-dev-server-3.11.0" // {
+      (sources."webpack-dev-middleware-5.3.3" // {
         dependencies = [
-          sources."ajv-6.12.6"
-          sources."ansi-regex-2.1.1"
-          sources."anymatch-2.0.0"
-          sources."array-union-1.0.2"
-          sources."binary-extensions-1.13.1"
-          (sources."body-parser-1.20.1" // {
-            dependencies = [
-              sources."debug-2.6.9"
-            ];
-          })
-          sources."braces-2.3.2"
+          sources."ajv-keywords-5.1.0"
+          sources."schema-utils-4.0.0"
+        ];
+      })
+      (sources."webpack-dev-server-4.11.1" // {
+        dependencies = [
+          sources."@types/retry-0.12.0"
+          sources."ajv-keywords-5.1.0"
+          sources."body-parser-1.20.1"
           sources."bytes-3.1.2"
-          sources."chokidar-2.1.8"
           sources."content-disposition-0.5.4"
           sources."cookie-0.5.0"
-          sources."del-4.1.1"
+          sources."cross-spawn-7.0.3"
+          sources."debug-2.6.9"
+          sources."default-gateway-6.0.3"
           sources."depd-2.0.0"
-          (sources."express-4.18.2" // {
-            dependencies = [
-              sources."debug-2.6.9"
-            ];
-          })
-          sources."extend-shallow-2.0.1"
-          sources."fill-range-4.0.0"
-          (sources."finalhandler-1.2.0" // {
-            dependencies = [
-              sources."debug-2.6.9"
-            ];
-          })
-          sources."fsevents-1.2.13"
-          sources."glob-parent-3.1.0"
-          sources."globby-6.1.0"
+          sources."execa-5.1.1"
+          sources."express-4.18.2"
+          sources."finalhandler-1.2.0"
+          sources."get-stream-6.0.1"
           sources."http-errors-2.0.0"
-          sources."is-absolute-url-3.0.3"
-          sources."is-binary-path-1.0.1"
-          sources."is-glob-3.1.0"
-          sources."is-number-3.0.0"
-          sources."json-schema-traverse-0.4.1"
-          sources."kind-of-3.2.2"
-          sources."micromatch-3.1.10"
+          sources."ipaddr.js-2.0.1"
+          sources."mimic-fn-2.1.0"
           sources."ms-2.0.0"
-          sources."normalize-path-2.1.1"
+          sources."npm-run-path-4.0.1"
           sources."on-finished-2.4.1"
-          sources."p-map-2.1.0"
-          sources."p-retry-3.0.1"
-          sources."pify-2.3.0"
+          sources."onetime-5.1.2"
+          sources."p-retry-4.6.2"
+          sources."path-key-3.1.1"
           sources."qs-6.11.0"
           sources."raw-body-2.5.1"
-          sources."readdirp-2.2.1"
-          sources."rimraf-2.7.1"
-          sources."schema-utils-1.0.0"
-          sources."semver-6.3.0"
+          sources."retry-0.13.1"
+          sources."rimraf-3.0.2"
+          sources."schema-utils-4.0.0"
           sources."serve-static-1.15.0"
           sources."setprototypeof-1.2.0"
+          sources."shebang-command-2.0.0"
+          sources."shebang-regex-3.0.0"
           sources."statuses-2.0.1"
-          sources."strip-ansi-3.0.1"
-          sources."supports-color-6.1.0"
-          sources."to-regex-range-2.1.1"
           sources."toidentifier-1.0.1"
+          sources."which-2.0.2"
         ];
       })
-      (sources."webpack-log-2.0.0" // {
-        dependencies = [
-          sources."uuid-3.4.0"
-        ];
-      })
-      (sources."webpack-manifest-plugin-2.2.0" // {
-        dependencies = [
-          sources."fs-extra-7.0.1"
-          sources."jsonfile-4.0.0"
-          sources."universalify-0.1.2"
-        ];
-      })
-      (sources."webpack-sources-1.4.3" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      sources."websocket-driver-0.6.5"
+      sources."webpack-manifest-plugin-4.1.1"
+      sources."webpack-sources-2.3.1"
+      sources."websocket-driver-0.7.4"
       sources."websocket-extensions-0.1.4"
       sources."whatwg-url-5.0.0"
       sources."which-1.3.1"
-      sources."which-boxed-primitive-1.0.2"
-      sources."which-module-2.0.0"
-      sources."which-typed-array-1.1.9"
       sources."widest-line-3.1.0"
       sources."with-open-file-0.1.7"
       sources."wonka-4.0.15"
-      sources."worker-farm-1.7.0"
-      sources."worker-rpc-0.1.1"
       (sources."wrap-ansi-7.0.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -106332,13 +106091,13 @@ in
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-2.4.3"
-      sources."ws-6.2.2"
+      sources."ws-8.12.0"
       (sources."xcode-3.0.1" // {
         dependencies = [
           sources."uuid-7.0.3"
         ];
       })
-      (sources."xdl-59.3.0" // {
+      (sources."xdl-60.0.1" // {
         dependencies = [
           sources."bplist-parser-0.3.2"
           sources."minimatch-3.0.4"
@@ -106351,28 +106110,8 @@ in
         ];
       })
       sources."xmlbuilder-14.0.0"
-      sources."xtend-4.0.2"
-      sources."y18n-4.0.3"
       sources."yallist-4.0.0"
-      (sources."yargs-13.3.2" // {
-        dependencies = [
-          sources."ansi-regex-4.1.1"
-          sources."emoji-regex-7.0.3"
-          sources."find-up-3.0.0"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."locate-path-3.0.0"
-          sources."p-limit-2.3.0"
-          sources."p-locate-3.0.0"
-          sources."path-exists-3.0.0"
-          sources."string-width-3.1.0"
-          sources."strip-ansi-5.2.0"
-        ];
-      })
-      (sources."yargs-parser-13.1.2" // {
-        dependencies = [
-          sources."camelcase-5.3.1"
-        ];
-      })
+      sources."yaml-1.10.2"
       sources."yocto-queue-0.1.0"
     ];
     buildInputs = globalBuildInputs;
@@ -106396,9 +106135,9 @@ in
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
       sources."@babel/code-frame-7.18.6"
-      sources."@babel/compat-data-7.20.10"
+      sources."@babel/compat-data-7.20.14"
       sources."@babel/core-7.20.12"
-      (sources."@babel/generator-7.20.7" // {
+      (sources."@babel/generator-7.20.14" // {
         dependencies = [
           sources."@jridgewell/gen-mapping-0.3.2"
         ];
@@ -106416,17 +106155,17 @@ in
       sources."@babel/helper-string-parser-7.19.4"
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/helper-validator-option-7.18.6"
-      sources."@babel/helpers-7.20.7"
+      sources."@babel/helpers-7.20.13"
       sources."@babel/highlight-7.18.6"
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@babel/plugin-proposal-object-rest-spread-7.20.7"
       sources."@babel/plugin-syntax-jsx-7.18.6"
       sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
       sources."@babel/plugin-transform-destructuring-7.20.7"
       sources."@babel/plugin-transform-parameters-7.20.7"
-      sources."@babel/plugin-transform-react-jsx-7.20.7"
+      sources."@babel/plugin-transform-react-jsx-7.20.13"
       sources."@babel/template-7.20.7"
-      sources."@babel/traverse-7.20.12"
+      sources."@babel/traverse-7.20.13"
       sources."@babel/types-7.20.7"
       sources."@jridgewell/gen-mapping-0.1.1"
       sources."@jridgewell/resolve-uri-3.1.0"
@@ -106437,7 +106176,7 @@ in
       sources."@types/node-18.11.18"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/prop-types-15.7.5"
-      sources."@types/react-18.0.26"
+      sources."@types/react-18.0.27"
       sources."@types/scheduler-0.16.2"
       sources."@types/yauzl-2.10.0"
       sources."@types/yoga-layout-1.9.2"
@@ -106465,7 +106204,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."chalk-2.4.2"
       sources."chownr-1.1.4"
       sources."ci-info-2.0.0"
@@ -106711,7 +106450,7 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@oclif/command-1.8.21"
+      sources."@oclif/command-1.8.22"
       sources."@oclif/config-1.18.6"
       sources."@oclif/errors-1.3.6"
       (sources."@oclif/help-1.0.5" // {
@@ -106720,7 +106459,7 @@ in
         ];
       })
       sources."@oclif/linewrap-1.0.0"
-      sources."@oclif/parser-3.8.9"
+      sources."@oclif/parser-3.8.10"
       (sources."@oclif/plugin-autocomplete-0.1.5" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
@@ -106965,7 +106704,7 @@ in
         ];
       })
       sources."nice-try-1.0.5"
-      sources."node-abort-controller-3.0.1"
+      sources."node-abort-controller-3.1.1"
       sources."node-fetch-2.6.8"
       sources."normalize-url-2.0.1"
       sources."npm-run-path-2.0.2"
@@ -106992,7 +106731,7 @@ in
       sources."prettier-2.8.3"
       sources."process-nextick-args-2.0.1"
       sources."psl-1.9.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.5.3"
       sources."query-string-5.1.1"
       sources."queue-microtask-1.2.3"
@@ -107047,7 +106786,7 @@ in
       sources."tough-cookie-2.5.0"
       sources."tr46-0.0.3"
       sources."treeify-1.1.0"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
@@ -107085,18 +106824,18 @@ in
   firebase-tools = nodeEnv.buildNodePackage {
     name = "firebase-tools";
     packageName = "firebase-tools";
-    version = "11.20.0";
+    version = "11.21.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/firebase-tools/-/firebase-tools-11.20.0.tgz";
-      sha512 = "jFDqWcYuydvHbx1uE1iDSx2pmqyIe2YuF7Jrf28HxU4VZyRPXII010v9OfT8cn5EJlA47WTDWuO2Fbx8EYPL7g==";
+      url = "https://registry.npmjs.org/firebase-tools/-/firebase-tools-11.21.0.tgz";
+      sha512 = "9J70y9E4t80rAGs9fvtTt2jhqMUNwOch0F7uqG/OQn6rRSkKGqpnaozUkCjRCmWaQi0bM8vYxruGyD0E+sqZlw==";
     };
     dependencies = [
-      (sources."@apidevtools/json-schema-ref-parser-9.1.0" // {
+      (sources."@apidevtools/json-schema-ref-parser-9.1.2" // {
         dependencies = [
           sources."js-yaml-4.1.0"
         ];
       })
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@colors/colors-1.5.0"
       sources."@dabh/diagnostics-2.0.3"
       sources."@gar/promisify-1.1.3"
@@ -107104,7 +106843,7 @@ in
       sources."@google-cloud/precise-date-3.0.1"
       sources."@google-cloud/projectify-3.0.0"
       sources."@google-cloud/promisify-2.0.4"
-      (sources."@google-cloud/pubsub-3.2.1" // {
+      (sources."@google-cloud/pubsub-3.3.0" // {
         dependencies = [
           sources."google-auth-library-8.7.0"
         ];
@@ -107132,8 +106871,6 @@ in
       sources."@protobufjs/path-1.1.2"
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
-      sources."@sindresorhus/is-0.14.0"
-      sources."@szmarczak/http-timer-1.1.2"
       sources."@tootallnate/once-1.1.2"
       sources."@types/duplexify-3.6.1"
       sources."@types/json-schema-7.0.11"
@@ -107145,7 +106882,7 @@ in
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
       sources."accepts-1.3.8"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-jsx-5.3.2"
       sources."acorn-walk-8.2.0"
       sources."agent-base-6.0.2"
@@ -107232,12 +106969,6 @@ in
           sources."minimatch-5.1.6"
         ];
       })
-      (sources."cacheable-request-6.1.0" // {
-        dependencies = [
-          sources."get-stream-5.2.0"
-          sources."lowercase-keys-2.0.0"
-        ];
-      })
       sources."call-bind-1.0.2"
       sources."call-me-maybe-1.0.2"
       sources."camelcase-6.3.0"
@@ -107260,7 +106991,6 @@ in
       sources."cli-width-3.0.0"
       sources."cliui-7.0.4"
       sources."clone-1.0.4"
-      sources."clone-response-1.0.3"
       (sources."color-3.2.1" // {
         dependencies = [
           sources."color-convert-1.9.3"
@@ -107329,12 +107059,10 @@ in
       sources."dashdash-1.14.1"
       sources."data-uri-to-buffer-3.0.1"
       sources."debug-4.3.4"
-      sources."decompress-response-3.3.0"
       sources."deep-extend-0.6.0"
       sources."deep-freeze-0.0.1"
       sources."deep-is-0.1.4"
       sources."defaults-1.0.4"
-      sources."defer-to-connect-1.1.3"
       sources."degenerator-3.0.2"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
@@ -107348,7 +107076,6 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."duplexer3-0.1.5"
       sources."duplexify-4.1.2"
       sources."ecc-jsbn-0.1.2"
       sources."ecdsa-sig-formatter-1.0.11"
@@ -107455,8 +107182,7 @@ in
       sources."gaxios-5.0.2"
       sources."gcp-metadata-5.2.0"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
-      sources."get-stream-4.1.0"
+      sources."get-intrinsic-1.2.0"
       (sources."get-uri-3.0.2" // {
         dependencies = [
           sources."fs-extra-8.1.0"
@@ -107484,7 +107210,6 @@ in
         ];
       })
       sources."google-p12-pem-4.0.1"
-      sources."got-9.6.0"
       sources."graceful-fs-4.2.10"
       sources."gtoken-6.1.2"
       sources."har-schema-2.0.0"
@@ -107495,7 +107220,7 @@ in
       sources."has-unicode-2.0.1"
       sources."has-yarn-2.1.0"
       sources."heap-js-2.2.0"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-errors-2.0.0"
       sources."http-proxy-agent-4.0.1"
       sources."http-signature-1.2.0"
@@ -107551,26 +107276,24 @@ in
       sources."jsbn-0.1.1"
       sources."jsdoc-3.6.11"
       sources."json-bigint-1.0.0"
-      sources."json-buffer-3.0.0"
       sources."json-parse-helpfulerror-1.0.3"
       sources."json-ptr-3.1.1"
       sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-6.1.0"
-      (sources."jsonwebtoken-8.5.1" // {
+      (sources."jsonwebtoken-9.0.0" // {
         dependencies = [
           sources."jwa-1.4.1"
           sources."jws-3.2.2"
+          sources."semver-7.3.8"
         ];
       })
       sources."jsprim-1.4.2"
       sources."jwa-2.0.0"
       sources."jws-4.0.0"
-      sources."keyv-3.1.0"
       sources."klaw-3.0.0"
       sources."kuler-2.0.0"
-      sources."latest-version-5.1.0"
       (sources."lazystream-1.0.1" // {
         dependencies = [
           sources."readable-stream-2.3.7"
@@ -107590,20 +107313,13 @@ in
       sources."lodash.defaults-4.2.0"
       sources."lodash.difference-4.5.0"
       sources."lodash.flatten-4.4.0"
-      sources."lodash.includes-4.3.0"
-      sources."lodash.isboolean-3.0.3"
-      sources."lodash.isinteger-4.0.4"
-      sources."lodash.isnumber-3.0.3"
       sources."lodash.isobject-2.4.1"
       sources."lodash.isplainobject-4.0.6"
-      sources."lodash.isstring-4.0.1"
-      sources."lodash.once-4.1.1"
       sources."lodash.snakecase-4.1.1"
       sources."lodash.union-4.6.0"
       sources."log-symbols-4.1.0"
       sources."logform-2.4.2"
       sources."long-4.0.0"
-      sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
       (sources."make-dir-3.1.0" // {
         dependencies = [
@@ -107636,7 +107352,6 @@ in
       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" // {
         dependencies = [
           sources."brace-expansion-1.1.11"
@@ -107676,7 +107391,6 @@ in
       sources."node-gyp-build-4.6.0"
       sources."nopt-6.0.0"
       sources."normalize-path-3.0.0"
-      sources."normalize-url-4.5.1"
       sources."npmlog-6.0.2"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
@@ -107692,17 +107406,10 @@ in
       sources."optionator-0.8.3"
       sources."ora-5.4.1"
       sources."os-tmpdir-1.0.2"
-      sources."p-cancelable-1.1.0"
       sources."p-defer-3.0.0"
       sources."p-map-4.0.0"
       sources."pac-proxy-agent-5.0.0"
       sources."pac-resolver-5.0.1"
-      (sources."package-json-6.5.0" // {
-        dependencies = [
-          sources."registry-auth-token-4.2.2"
-          sources."semver-6.3.0"
-        ];
-      })
       sources."parseurl-1.3.3"
       sources."path-is-absolute-1.0.1"
       sources."path-key-2.0.1"
@@ -107717,7 +107424,6 @@ in
         ];
       })
       sources."prelude-ls-1.1.2"
-      sources."prepend-http-2.0.0"
       sources."process-nextick-args-2.0.1"
       sources."progress-2.0.3"
       sources."promise-breaker-6.0.0"
@@ -107751,7 +107457,7 @@ in
       sources."proxy-from-env-1.1.0"
       sources."psl-1.9.0"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."pupa-2.1.1"
       sources."qs-6.11.0"
       sources."range-parser-1.2.1"
@@ -107783,7 +107489,6 @@ in
       sources."require-directory-2.1.1"
       sources."require-from-string-2.0.2"
       sources."requizzle-0.2.4"
-      sources."responselike-1.0.2"
       sources."restore-cursor-3.1.0"
       sources."retry-0.13.1"
       sources."retry-request-5.0.2"
@@ -107871,7 +107576,6 @@ in
       sources."text-hex-1.0.0"
       sources."through-2.3.8"
       sources."tmp-0.2.1"
-      sources."to-readable-stream-1.0.0"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.1"
       sources."tough-cookie-2.5.0"
@@ -107879,7 +107583,7 @@ in
       sources."tr46-0.0.3"
       sources."traverse-0.3.9"
       sources."triple-beam-1.3.0"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
@@ -107903,11 +107607,6 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      (sources."update-notifier-5.1.0" // {
-        dependencies = [
-          sources."semver-7.3.8"
-        ];
-      })
       (sources."update-notifier-cjs-5.1.6" // {
         dependencies = [
           sources."semver-7.3.8"
@@ -107915,7 +107614,6 @@ in
       })
       sources."uri-js-4.4.1"
       sources."url-join-0.0.1"
-      sources."url-parse-lax-3.0.0"
       sources."utf-8-validate-5.0.10"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
@@ -108204,7 +107902,7 @@ in
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."trim-newlines-4.0.2"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."type-fest-0.21.3"
       sources."util-deprecate-1.0.2"
       sources."validate-npm-package-license-3.0.4"
@@ -108390,7 +108088,7 @@ in
       sources."pbkdf2-3.1.2"
       sources."performance-now-2.1.0"
       sources."psl-1.9.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.5.3"
       sources."querystring-0.2.1"
       sources."randombytes-2.1.0"
@@ -108497,7 +108195,7 @@ in
       sources."array-unique-0.3.2"
       sources."assign-symbols-1.0.0"
       sources."async-1.5.2"
-      sources."async-each-1.0.3"
+      sources."async-each-1.0.4"
       sources."atob-2.1.2"
       sources."available-typed-arrays-1.0.5"
       sources."balanced-match-1.0.2"
@@ -108629,7 +108327,7 @@ in
       sources."fsevents-1.2.13"
       sources."function-bind-1.1.1"
       sources."functions-have-names-1.2.3"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-value-2.0.6"
       sources."glob-7.2.3"
       (sources."glob-parent-3.1.0" // {
@@ -109008,21 +108706,21 @@ in
   gatsby-cli = nodeEnv.buildNodePackage {
     name = "gatsby-cli";
     packageName = "gatsby-cli";
-    version = "5.4.0";
+    version = "5.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-5.4.0.tgz";
-      sha512 = "3b6PGhv89mtIabur6Al7O/0cDoazgQfNjQzeKqsboRyaZCanJZsZnk6mDaHBYBSUfq6M+8TQWZvNlvxnF2kwig==";
+      url = "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-5.5.0.tgz";
+      sha512 = "BLWk1iw7f4XCAWiRXfrINPgqBHLbCrNff7tkvAMnyJt6l2IwbwxQVA0zcZ6TRGC3mJQH+tU6JDH9OPlnW2yDsw==";
     };
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
       sources."@babel/code-frame-7.18.6"
-      sources."@babel/compat-data-7.20.10"
+      sources."@babel/compat-data-7.20.14"
       (sources."@babel/core-7.20.12" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      (sources."@babel/generator-7.20.7" // {
+      (sources."@babel/generator-7.20.14" // {
         dependencies = [
           sources."@jridgewell/gen-mapping-0.3.2"
         ];
@@ -109049,19 +108747,19 @@ in
       sources."@babel/helper-string-parser-7.19.4"
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/helper-validator-option-7.18.6"
-      sources."@babel/helpers-7.20.7"
+      sources."@babel/helpers-7.20.13"
       (sources."@babel/highlight-7.18.6" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@babel/plugin-syntax-typescript-7.20.0"
-      sources."@babel/plugin-transform-typescript-7.20.7"
+      sources."@babel/plugin-transform-typescript-7.20.13"
       sources."@babel/preset-typescript-7.18.6"
-      sources."@babel/runtime-7.20.7"
+      sources."@babel/runtime-7.20.13"
       sources."@babel/template-7.20.7"
-      sources."@babel/traverse-7.20.12"
+      sources."@babel/traverse-7.20.13"
       sources."@babel/types-7.20.7"
       sources."@hapi/hoek-9.3.0"
       sources."@hapi/topo-5.1.0"
@@ -109121,7 +108819,7 @@ in
         ];
       })
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -109158,7 +108856,7 @@ in
       sources."configstore-5.0.1"
       sources."convert-hrtime-3.0.0"
       sources."convert-source-map-1.9.0"
-      sources."create-gatsby-3.4.0"
+      sources."create-gatsby-3.5.0"
       (sources."cross-spawn-6.0.5" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -109214,22 +108912,10 @@ in
       sources."find-up-4.1.0"
       sources."form-data-3.0.1"
       sources."fs-exists-cached-1.0.0"
-      sources."fs-extra-10.1.0"
+      sources."fs-extra-11.1.0"
       sources."fs.realpath-1.0.0"
-      sources."gatsby-core-utils-4.4.0"
-      (sources."gatsby-telemetry-4.4.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."boxen-4.2.0"
-          sources."camelcase-5.3.1"
-          sources."chalk-3.0.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-          sources."type-fest-0.8.1"
-        ];
-      })
+      sources."gatsby-core-utils-4.5.0"
+      sources."gatsby-telemetry-4.5.0"
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
       sources."get-stream-4.1.0"
@@ -109239,6 +108925,7 @@ in
       sources."got-11.8.6"
       sources."graceful-fs-4.2.10"
       sources."has-flag-3.0.0"
+      sources."hash-wasm-4.9.0"
       (sources."hosted-git-info-3.0.8" // {
         dependencies = [
           sources."lru-cache-6.0.0"
@@ -109246,7 +108933,7 @@ in
         ];
       })
       sources."htmlparser2-6.1.0"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http2-wrapper-1.0.3"
       sources."human-signals-2.1.0"
       sources."iconv-lite-0.6.3"
@@ -109295,7 +108982,7 @@ in
       sources."mimic-response-1.0.1"
       sources."minimatch-3.1.2"
       sources."ms-2.1.2"
-      sources."msgpackr-1.8.1"
+      sources."msgpackr-1.8.2"
       sources."msgpackr-extract-2.2.0"
       sources."mute-stream-0.0.8"
       sources."nice-try-1.0.5"
@@ -109379,7 +109066,6 @@ in
       sources."strip-final-newline-2.0.0"
       sources."strtok3-6.3.0"
       sources."supports-color-5.5.0"
-      sources."term-size-2.2.1"
       sources."through-2.3.8"
       sources."tmp-0.2.1"
       sources."to-fast-properties-2.0.0"
@@ -109641,7 +109327,7 @@ in
       sources."has-flag-4.0.0"
       sources."has-unicode-2.0.1"
       sources."hosted-git-info-2.8.9"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-proxy-agent-4.0.1"
       sources."https-proxy-agent-5.0.1"
       sources."human-signals-2.1.0"
@@ -109696,7 +109382,7 @@ in
       sources."lru-cache-6.0.0"
       sources."make-fetch-happen-9.1.0"
       sources."mem-fs-2.2.1"
-      sources."mem-fs-editor-9.5.0"
+      sources."mem-fs-editor-9.6.0"
       sources."merge-stream-2.0.0"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.5"
@@ -109878,7 +109564,7 @@ in
       sources."tr46-0.0.3"
       sources."treeverse-1.0.4"
       sources."truncate-utf8-bytes-1.0.2"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."type-fest-0.8.1"
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.2"
@@ -110286,13 +109972,13 @@ in
       sources."filter-obj-1.1.0"
       sources."form-data-4.0.0"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-5.2.0"
       sources."got-11.8.6"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."has-symbols-1.0.3"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http2-wrapper-1.0.3"
       sources."ieee754-1.2.1"
       sources."inherits-2.0.4"
@@ -110380,7 +110066,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-walk-8.2.0"
       sources."agent-base-6.0.2"
       sources."ajv-8.12.0"
@@ -110514,7 +110200,7 @@ in
           sources."lru-cache-7.14.1"
         ];
       })
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-errors-2.0.0"
       sources."http-proxy-agent-4.0.1"
       (sources."http2-wrapper-2.2.0" // {
@@ -110619,7 +110305,7 @@ in
         ];
       })
       sources."proxy-from-env-1.1.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."pupa-3.1.0"
       sources."quick-lru-6.1.1"
       sources."raw-body-2.5.1"
@@ -110686,9 +110372,9 @@ in
       sources."tmp-0.0.33"
       sources."toidentifier-1.0.1"
       sources."trim-newlines-4.0.2"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."type-check-0.3.2"
-      sources."type-fest-3.5.2"
+      sources."type-fest-3.5.3"
       sources."typedarray-to-buffer-3.1.5"
       sources."unique-string-3.0.0"
       sources."universalify-0.1.2"
@@ -110704,7 +110390,7 @@ in
       sources."which-2.0.2"
       sources."widest-line-4.0.1"
       sources."word-wrap-1.2.3"
-      sources."wrap-ansi-8.0.1"
+      sources."wrap-ansi-8.1.0"
       sources."write-file-atomic-3.0.3"
       sources."xdg-basedir-5.1.0"
       sources."xregexp-2.0.0"
@@ -111035,7 +110721,7 @@ in
       (sources."@graphql-tools/import-6.7.15" // {
         dependencies = [
           sources."@graphql-tools/utils-9.1.4"
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       (sources."@graphql-tools/json-file-loader-6.2.6" // {
@@ -111047,7 +110733,7 @@ in
           })
           (sources."camel-case-4.1.2" // {
             dependencies = [
-              sources."tslib-2.4.1"
+              sources."tslib-2.5.0"
             ];
           })
         ];
@@ -111063,7 +110749,7 @@ in
         dependencies = [
           sources."@graphql-tools/merge-8.3.1"
           sources."@graphql-tools/utils-8.9.0"
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       (sources."@graphql-tools/url-loader-6.10.1" // {
@@ -111224,7 +110910,7 @@ in
       sources."function-bind-1.1.1"
       sources."functions-have-names-1.2.3"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-4.1.0"
       sources."getpass-0.1.7"
       sources."glob-7.2.3"
@@ -111255,7 +110941,7 @@ in
       sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
       sources."has-tostringtag-1.0.0"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-signature-1.2.0"
       sources."http2-client-1.3.5"
       sources."iconv-lite-0.4.24"
@@ -111348,7 +111034,7 @@ in
       })
       (sources."lower-case-2.0.2" // {
         dependencies = [
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       sources."lowercase-keys-1.0.1"
@@ -111375,7 +111061,7 @@ in
       sources."nice-try-1.0.5"
       (sources."no-case-3.0.4" // {
         dependencies = [
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       sources."node-emoji-1.10.0"
@@ -111434,7 +111120,7 @@ in
       sources."parse-json-5.2.0"
       (sources."pascal-case-3.1.2" // {
         dependencies = [
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       sources."passwd-user-3.0.0"
@@ -111447,7 +111133,7 @@ in
       sources."prepend-http-2.0.0"
       sources."psl-1.9.0"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.5.3"
       sources."queue-microtask-1.2.3"
       sources."rc-1.2.8"
@@ -111565,10 +111251,10 @@ in
   graphql-language-service-cli = nodeEnv.buildNodePackage {
     name = "graphql-language-service-cli";
     packageName = "graphql-language-service-cli";
-    version = "3.3.14";
+    version = "3.3.15";
     src = fetchurl {
-      url = "https://registry.npmjs.org/graphql-language-service-cli/-/graphql-language-service-cli-3.3.14.tgz";
-      sha512 = "1jPvSEWMTNiro1Ao0wJV9ApMP4R0axnXKS0jTJqh+IsySgHBmO2suflPxewYdWMMv6StMqF9ITX5IXrW9E7bbw==";
+      url = "https://registry.npmjs.org/graphql-language-service-cli/-/graphql-language-service-cli-3.3.15.tgz";
+      sha512 = "YIWyxOxvrvcXb+IzkmMEtH22Uor4SKGl6E27xaMS2IkVpZtaEgwXeN7kEPFVeSn6I3fCahdMVtfz70IL4tWGxw==";
     };
     dependencies = [
       sources."@ardatan/sync-fetch-0.0.1"
@@ -111576,25 +111262,29 @@ in
       sources."@babel/helper-string-parser-7.19.4"
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/highlight-7.18.6"
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@babel/polyfill-7.12.1"
       sources."@babel/types-7.20.7"
       sources."@endemolshinegroup/cosmiconfig-typescript-loader-3.0.2"
       sources."@graphql-tools/batch-execute-8.5.15"
-      sources."@graphql-tools/delegate-9.0.22"
+      (sources."@graphql-tools/delegate-9.0.23" // {
+        dependencies = [
+          sources."tslib-2.4.1"
+        ];
+      })
       sources."@graphql-tools/executor-0.0.12"
-      sources."@graphql-tools/executor-graphql-ws-0.0.6"
+      sources."@graphql-tools/executor-graphql-ws-0.0.7"
       sources."@graphql-tools/executor-http-0.1.1"
       sources."@graphql-tools/executor-legacy-ws-0.0.6"
       sources."@graphql-tools/graphql-file-loader-7.5.14"
       sources."@graphql-tools/import-6.7.15"
       sources."@graphql-tools/json-file-loader-7.4.15"
-      sources."@graphql-tools/load-7.8.9"
-      sources."@graphql-tools/merge-8.3.15"
-      sources."@graphql-tools/schema-9.0.13"
-      sources."@graphql-tools/url-loader-7.17.2"
+      sources."@graphql-tools/load-7.8.10"
+      sources."@graphql-tools/merge-8.3.16"
+      sources."@graphql-tools/schema-9.0.14"
+      sources."@graphql-tools/url-loader-7.17.4"
       sources."@graphql-tools/utils-9.1.4"
-      sources."@graphql-tools/wrap-9.3.1"
+      sources."@graphql-tools/wrap-9.3.2"
       sources."@graphql-typed-document-node/core-3.1.1"
       sources."@iarna/toml-2.2.5"
       sources."@nodelib/fs.scandir-2.1.5"
@@ -111670,8 +111360,8 @@ in
           sources."minimatch-4.2.1"
         ];
       })
-      sources."graphql-language-service-5.1.0"
-      sources."graphql-language-service-server-2.9.4"
+      sources."graphql-language-service-5.1.1"
+      sources."graphql-language-service-server-2.9.5"
       sources."graphql-ws-5.11.2"
       sources."has-flag-3.0.0"
       sources."iconv-lite-0.6.3"
@@ -111701,7 +111391,7 @@ in
       sources."minimatch-3.1.2"
       sources."mkdirp-1.0.4"
       sources."nanoid-3.3.4"
-      sources."node-abort-controller-3.0.1"
+      sources."node-abort-controller-3.1.1"
       sources."node-domexception-1.0.0"
       sources."node-fetch-2.6.8"
       sources."node-gyp-build-4.6.0"
@@ -111740,12 +111430,12 @@ in
       sources."to-regex-range-5.0.1"
       sources."tr46-0.0.3"
       sources."ts-node-9.1.1"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."typescript-4.9.4"
-      sources."undici-5.15.0"
+      sources."undici-5.16.0"
       sources."unixify-1.0.0"
       sources."urlpattern-polyfill-6.0.2"
-      sources."utf-8-validate-6.0.0"
+      sources."utf-8-validate-6.0.2"
       sources."value-or-promise-1.0.12"
       sources."vscode-jsonrpc-8.0.2"
       sources."vscode-languageserver-8.0.2"
@@ -111808,9 +111498,13 @@ in
       sources."@cronvel/get-pixels-3.4.1"
       sources."@cspotcode/source-map-support-0.8.1"
       sources."@graphql-tools/batch-execute-8.5.15"
-      sources."@graphql-tools/delegate-9.0.22"
+      (sources."@graphql-tools/delegate-9.0.23" // {
+        dependencies = [
+          sources."tslib-2.4.1"
+        ];
+      })
       sources."@graphql-tools/executor-0.0.12"
-      (sources."@graphql-tools/executor-graphql-ws-0.0.6" // {
+      (sources."@graphql-tools/executor-graphql-ws-0.0.7" // {
         dependencies = [
           sources."isomorphic-ws-5.0.0"
           sources."ws-8.12.0"
@@ -111826,17 +111520,17 @@ in
       sources."@graphql-tools/graphql-file-loader-7.5.14"
       sources."@graphql-tools/import-6.7.15"
       sources."@graphql-tools/json-file-loader-7.4.15"
-      sources."@graphql-tools/load-7.8.9"
-      sources."@graphql-tools/merge-8.3.15"
-      sources."@graphql-tools/schema-9.0.13"
-      (sources."@graphql-tools/url-loader-7.17.2" // {
+      sources."@graphql-tools/load-7.8.10"
+      sources."@graphql-tools/merge-8.3.16"
+      sources."@graphql-tools/schema-9.0.14"
+      (sources."@graphql-tools/url-loader-7.17.4" // {
         dependencies = [
           sources."isomorphic-ws-5.0.0"
           sources."ws-8.12.0"
         ];
       })
       sources."@graphql-tools/utils-9.1.4"
-      sources."@graphql-tools/wrap-9.3.1"
+      sources."@graphql-tools/wrap-9.3.2"
       sources."@graphql-typed-document-node/core-3.1.1"
       sources."@iarna/toml-2.2.5"
       sources."@jridgewell/resolve-uri-3.1.0"
@@ -111849,7 +111543,7 @@ in
       sources."@oclif/config-1.17.0"
       sources."@oclif/errors-1.3.4"
       sources."@oclif/linewrap-1.0.0"
-      (sources."@oclif/parser-3.8.9" // {
+      (sources."@oclif/parser-3.8.10" // {
         dependencies = [
           sources."@oclif/errors-1.3.6"
         ];
@@ -111878,18 +111572,18 @@ in
       sources."@peculiar/json-schema-1.1.12"
       sources."@peculiar/webcrypto-1.4.1"
       sources."@repeaterjs/repeater-3.0.4"
-      sources."@swc/core-1.3.27"
-      sources."@swc/core-darwin-arm64-1.3.27"
-      sources."@swc/core-darwin-x64-1.3.27"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.27"
-      sources."@swc/core-linux-arm64-gnu-1.3.27"
-      sources."@swc/core-linux-arm64-musl-1.3.27"
-      sources."@swc/core-linux-x64-gnu-1.3.27"
-      sources."@swc/core-linux-x64-musl-1.3.27"
-      sources."@swc/core-win32-arm64-msvc-1.3.27"
-      sources."@swc/core-win32-ia32-msvc-1.3.27"
-      sources."@swc/core-win32-x64-msvc-1.3.27"
-      sources."@swc/wasm-1.3.27"
+      sources."@swc/core-1.3.29"
+      sources."@swc/core-darwin-arm64-1.3.29"
+      sources."@swc/core-darwin-x64-1.3.29"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.29"
+      sources."@swc/core-linux-arm64-gnu-1.3.29"
+      sources."@swc/core-linux-arm64-musl-1.3.29"
+      sources."@swc/core-linux-x64-gnu-1.3.29"
+      sources."@swc/core-linux-x64-musl-1.3.29"
+      sources."@swc/core-win32-arm64-msvc-1.3.29"
+      sources."@swc/core-win32-ia32-msvc-1.3.29"
+      sources."@swc/core-win32-x64-msvc-1.3.29"
+      sources."@swc/wasm-1.3.29"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
@@ -111900,7 +111594,7 @@ in
       sources."@whatwg-node/fetch-0.6.2"
       sources."abort-controller-3.0.0"
       sources."accepts-1.3.8"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-walk-8.2.0"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-5.0.1"
@@ -112174,16 +111868,16 @@ in
       sources."tree-kit-0.7.4"
       sources."treeify-1.1.0"
       sources."ts-node-10.9.1"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."type-is-1.6.18"
       sources."typescript-4.9.4"
-      sources."undici-5.15.0"
+      sources."undici-5.16.0"
       sources."uniq-1.0.1"
       sources."universalify-0.1.2"
       sources."unixify-1.0.0"
       sources."unpipe-1.0.0"
       sources."urlpattern-polyfill-6.0.2"
-      sources."utf-8-validate-6.0.0"
+      sources."utf-8-validate-6.0.2"
       sources."utils-merge-1.0.1"
       sources."v8-compile-cache-lib-3.0.1"
       sources."value-or-promise-1.0.12"
@@ -112343,7 +112037,7 @@ in
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."has-1.0.3"
       sources."has-symbols-1.0.3"
       sources."http-errors-2.0.0"
@@ -112516,7 +112210,7 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."systeminformation-5.17.3"
+      sources."systeminformation-5.17.4"
       sources."term-canvas-0.0.5"
       sources."type-fest-1.4.0"
       sources."wordwrap-0.0.3"
@@ -112579,7 +112273,7 @@ in
       sources."array-unique-0.3.2"
       sources."assign-symbols-1.0.0"
       sources."async-done-1.3.2"
-      sources."async-each-1.0.3"
+      sources."async-each-1.0.4"
       sources."async-settle-1.0.0"
       sources."atob-2.1.2"
       sources."bach-1.2.0"
@@ -112718,7 +112412,7 @@ in
       sources."fsevents-1.2.13"
       sources."function-bind-1.1.1"
       sources."get-caller-file-1.0.3"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-value-2.0.6"
       sources."glob-7.2.3"
       (sources."glob-parent-3.1.0" // {
@@ -113129,7 +112823,7 @@ in
       sources."fragment-cache-0.2.1"
       sources."function-bind-1.1.1"
       sources."get-caller-file-1.0.3"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-value-2.0.6"
       sources."global-modules-1.0.0"
       sources."global-prefix-1.0.2"
@@ -113500,7 +113194,7 @@ in
       sources."eventemitter3-4.0.7"
       sources."follow-redirects-1.15.2"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."has-symbols-1.0.3"
@@ -113540,27 +113234,39 @@ in
   hsd = nodeEnv.buildNodePackage {
     name = "hsd";
     packageName = "hsd";
-    version = "4.0.1";
+    version = "5.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/hsd/-/hsd-4.0.1.tgz";
-      sha512 = "5kb4Cp3/XjrFLmUZxl0tQxqVfmFxfrfys1sT9jmUK/Aq/tw+6/GkRGJjgrdTuzRL48zLrczOwL7/Q2e3Ufg2vA==";
+      url = "https://registry.npmjs.org/hsd/-/hsd-5.0.1.tgz";
+      sha512 = "G+4iLhKHEEOHYbk/VEvkVO4oNn1rVlH8N3LdsbH+sYZQo8qJTVP5Zwtz1pMa4vWLzA3mjrFSGG3nBFYoIJHpMQ==";
     };
     dependencies = [
       sources."bcfg-0.1.7"
-      sources."bcrypto-5.4.0"
+      (sources."bcrypto-5.4.0" // {
+        dependencies = [
+          sources."bufio-1.0.7"
+        ];
+      })
       sources."bcurl-0.2.0"
       sources."bdb-1.4.0"
       sources."bdns-0.1.5"
       sources."bevent-0.1.5"
       sources."bfile-0.2.2"
-      sources."bfilter-1.0.5"
+      (sources."bfilter-1.0.5" // {
+        dependencies = [
+          sources."bufio-1.0.7"
+        ];
+      })
       sources."bheep-0.1.5"
       sources."binet-0.3.7"
       sources."blgr-0.2.0"
       sources."blru-0.1.6"
       sources."blst-0.1.5"
       sources."bmutex-0.1.6"
-      sources."bns-0.15.0"
+      (sources."bns-0.15.0" // {
+        dependencies = [
+          sources."bufio-1.0.7"
+        ];
+      })
       sources."brq-0.1.8"
       sources."bs32-0.1.6"
       sources."bsert-0.0.10"
@@ -113569,9 +113275,9 @@ in
       sources."btcp-0.1.5"
       sources."budp-0.1.6"
       sources."buffer-map-0.0.7"
-      sources."bufio-1.0.7"
+      sources."bufio-1.2.0"
       sources."bupnp-0.2.6"
-      sources."bval-0.1.6"
+      sources."bval-0.1.7"
       sources."bweb-0.1.12"
       sources."goosig-0.10.0"
       sources."hs-client-0.0.13"
@@ -113579,7 +113285,7 @@ in
       sources."mrmr-0.1.10"
       sources."n64-0.2.10"
       sources."unbound-0.4.3"
-      sources."urkel-1.0.2"
+      sources."urkel-1.0.3"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -113725,7 +113431,7 @@ in
       sources."async-2.6.4"
       sources."asynckit-0.4.0"
       sources."available-typed-arrays-1.0.5"
-      sources."aws-sdk-2.1296.0"
+      sources."aws-sdk-2.1304.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.12.0"
       sources."base64-js-1.5.1"
@@ -113775,7 +113481,7 @@ in
       sources."form-data-2.3.3"
       sources."function-bind-1.1.1"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."getpass-0.1.7"
       sources."gopd-1.0.1"
       sources."har-schema-2.0.0"
@@ -113890,7 +113596,7 @@ in
       sources."strip-ansi-6.0.1"
       (sources."tough-cookie-2.5.0" // {
         dependencies = [
-          sources."punycode-2.2.0"
+          sources."punycode-2.3.0"
         ];
       })
       sources."tunnel-agent-0.6.0"
@@ -113899,7 +113605,7 @@ in
       sources."underscore-1.12.1"
       (sources."uri-js-4.4.1" // {
         dependencies = [
-          sources."punycode-2.2.0"
+          sources."punycode-2.3.0"
         ];
       })
       sources."url-0.10.3"
@@ -114113,7 +113819,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."promise-7.3.1"
       sources."psl-1.9.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."q-1.5.1"
       sources."qs-6.5.3"
       sources."rc-1.2.8"
@@ -114174,7 +113880,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Utility to inline images, CSS and JavaScript for a web page - useful for mobile sites";
-      homepage = "https://github.com/remy/inliner";
+      homepage = "http://github.com/remy/inliner";
       license = "MIT";
     };
     production = true;
@@ -114247,10 +113953,10 @@ in
   immich = nodeEnv.buildNodePackage {
     name = "immich";
     packageName = "immich";
-    version = "0.28.0";
+    version = "0.30.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/immich/-/immich-0.28.0.tgz";
-      sha512 = "Dz/z1OBeB4r9PJY1Owzk6JQZVHjPja8rx7icUuPIGXaAajohO5mjgE0/j+/846Of5X1P5wQW6aIS3Y3QCA1v8A==";
+      url = "https://registry.npmjs.org/immich/-/immich-0.30.0.tgz";
+      sha512 = "G+Kv+tYTruxAkUL4sZet51Bee4foJS7zl2igAn80S4nZEb0ATiiQhnzaMDO6zBOfxxtsaU/CD7tlrsRI8nvHIw==";
     };
     dependencies = [
       sources."@ffprobe-installer/darwin-arm64-5.0.1"
@@ -114314,7 +114020,7 @@ in
       sources."strip-ansi-6.0.1"
       sources."strip-final-newline-2.0.0"
       sources."supports-color-5.5.0"
-      sources."systeminformation-5.17.3"
+      sources."systeminformation-5.17.4"
       sources."util-deprecate-1.0.2"
       sources."which-2.0.2"
       sources."wrappy-1.0.2"
@@ -114472,7 +114178,7 @@ in
         ];
       })
       sources."@types/tunnel-0.0.3"
-      sources."@vscode/l10n-0.0.10"
+      sources."@vscode/l10n-0.0.11"
       sources."abbrev-1.1.1"
       sources."agent-base-6.0.2"
       sources."ajv-6.12.6"
@@ -114635,7 +114341,7 @@ in
       sources."protobufjs-7.1.2"
       sources."pseudomap-1.0.2"
       sources."psl-1.9.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.5.3"
       sources."querystringify-2.2.0"
       sources."queue-microtask-1.2.3"
@@ -114684,7 +114390,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."tough-cookie-4.1.2"
       sources."tr46-0.0.3"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."tunnel-0.0.6"
       sources."tunnel-agent-0.6.0"
       sources."turndown-7.1.1"
@@ -114697,8 +114403,8 @@ in
       sources."util-deprecate-1.0.2"
       sources."uuid-8.3.2"
       sources."verror-1.10.0"
-      sources."vscode-css-languageservice-6.2.1"
-      sources."vscode-html-languageservice-5.0.3"
+      sources."vscode-css-languageservice-6.2.3"
+      sources."vscode-html-languageservice-5.0.4"
       sources."vscode-jsonrpc-8.0.2"
       sources."vscode-languageserver-8.0.2"
       sources."vscode-languageserver-protocol-3.17.2"
@@ -114751,7 +114457,7 @@ in
       sources."ansi-styles-3.2.1"
       (sources."ast-types-0.13.4" // {
         dependencies = [
-          sources."tslib-2.4.1"
+          sources."tslib-2.5.0"
         ];
       })
       sources."astral-regex-2.0.0"
@@ -114829,7 +114535,7 @@ in
         ];
       })
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-4.1.0"
       sources."get-uri-3.0.2"
       sources."glob-7.2.3"
@@ -115040,75 +114746,118 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  "iosevka-https://github.com/be5invis/Iosevka/archive/v15.6.3.tar.gz" = nodeEnv.buildNodePackage {
+  "iosevka-https://github.com/be5invis/Iosevka/archive/v17.1.0.tar.gz" = nodeEnv.buildNodePackage {
     name = "iosevka";
     packageName = "iosevka";
-    version = "15.6.3";
+    version = "17.1.0";
     src = fetchurl {
-      name = "iosevka-15.6.3.tar.gz";
-      url = "https://codeload.github.com/be5invis/Iosevka/tar.gz/refs/tags/v15.6.3";
-      sha256 = "38902065a20081dd240d06a47f238d4a9e04063eb1094337538c1d37d64581c7";
+      name = "iosevka-17.1.0.tar.gz";
+      url = "https://codeload.github.com/be5invis/Iosevka/tar.gz/refs/tags/v17.1.0";
+      sha256 = "99900713a323b5464c232118237f2ff303dc20d5c2b1b14e4dc93fd5b7df083b";
     };
     dependencies = [
       sources."@iarna/toml-2.2.5"
       sources."@msgpack/msgpack-2.8.0"
-      sources."@ot-builder/bin-composite-types-1.5.5"
-      sources."@ot-builder/bin-util-1.5.5"
-      sources."@ot-builder/cli-help-shower-1.5.5"
-      sources."@ot-builder/cli-proc-1.5.5"
-      sources."@ot-builder/cli-shared-1.5.5"
-      sources."@ot-builder/common-impl-1.5.5"
-      sources."@ot-builder/errors-1.5.5"
-      sources."@ot-builder/io-bin-cff-1.5.5"
-      sources."@ot-builder/io-bin-encoding-1.5.5"
-      sources."@ot-builder/io-bin-ext-private-1.5.5"
-      sources."@ot-builder/io-bin-font-1.5.5"
-      sources."@ot-builder/io-bin-glyph-store-1.5.5"
-      sources."@ot-builder/io-bin-layout-1.5.5"
-      sources."@ot-builder/io-bin-metadata-1.5.5"
-      sources."@ot-builder/io-bin-metric-1.5.5"
-      sources."@ot-builder/io-bin-name-1.5.5"
-      sources."@ot-builder/io-bin-sfnt-1.5.5"
-      sources."@ot-builder/io-bin-ttf-1.5.5"
-      sources."@ot-builder/io-bin-vtt-private-1.5.5"
-      sources."@ot-builder/ot-1.5.5"
-      sources."@ot-builder/ot-encoding-1.5.5"
-      sources."@ot-builder/ot-ext-private-1.5.5"
-      sources."@ot-builder/ot-glyphs-1.5.5"
-      sources."@ot-builder/ot-layout-1.5.5"
-      sources."@ot-builder/ot-metadata-1.5.5"
-      sources."@ot-builder/ot-name-1.5.5"
-      sources."@ot-builder/ot-sfnt-1.5.5"
-      sources."@ot-builder/ot-standard-glyph-namer-1.5.5"
-      sources."@ot-builder/ot-vtt-private-1.5.5"
-      sources."@ot-builder/prelude-1.5.5"
-      sources."@ot-builder/primitive-1.5.5"
-      sources."@ot-builder/rectify-1.5.5"
-      sources."@ot-builder/stat-glyphs-1.5.5"
-      sources."@ot-builder/trace-1.5.5"
-      sources."@ot-builder/var-store-1.5.5"
-      sources."@ot-builder/variance-1.5.5"
+      sources."@ot-builder/bin-composite-types-1.6.1"
+      sources."@ot-builder/bin-util-1.6.1"
+      sources."@ot-builder/cli-help-shower-1.6.1"
+      sources."@ot-builder/cli-proc-1.6.1"
+      sources."@ot-builder/cli-shared-1.6.1"
+      sources."@ot-builder/common-impl-1.6.1"
+      sources."@ot-builder/errors-1.6.1"
+      sources."@ot-builder/io-bin-cff-1.6.1"
+      sources."@ot-builder/io-bin-encoding-1.6.1"
+      sources."@ot-builder/io-bin-ext-private-1.6.1"
+      sources."@ot-builder/io-bin-font-1.6.1"
+      sources."@ot-builder/io-bin-glyph-store-1.6.1"
+      sources."@ot-builder/io-bin-layout-1.6.1"
+      sources."@ot-builder/io-bin-metadata-1.6.1"
+      sources."@ot-builder/io-bin-metric-1.6.1"
+      sources."@ot-builder/io-bin-name-1.6.1"
+      sources."@ot-builder/io-bin-sfnt-1.6.1"
+      sources."@ot-builder/io-bin-ttf-1.6.1"
+      sources."@ot-builder/io-bin-vtt-private-1.6.1"
+      sources."@ot-builder/ot-1.6.1"
+      sources."@ot-builder/ot-encoding-1.6.1"
+      sources."@ot-builder/ot-ext-private-1.6.1"
+      sources."@ot-builder/ot-glyphs-1.6.1"
+      sources."@ot-builder/ot-layout-1.6.1"
+      sources."@ot-builder/ot-metadata-1.6.1"
+      sources."@ot-builder/ot-name-1.6.1"
+      sources."@ot-builder/ot-sfnt-1.6.1"
+      sources."@ot-builder/ot-standard-glyph-namer-1.6.1"
+      sources."@ot-builder/ot-vtt-private-1.6.1"
+      sources."@ot-builder/prelude-1.6.1"
+      sources."@ot-builder/primitive-1.6.1"
+      sources."@ot-builder/rectify-1.6.1"
+      sources."@ot-builder/stat-glyphs-1.6.1"
+      sources."@ot-builder/trace-1.6.1"
+      sources."@ot-builder/var-store-1.6.1"
+      sources."@ot-builder/variance-1.6.1"
       sources."aglfn-1.0.2"
       sources."ansi-styles-4.3.0"
       sources."argparse-2.0.1"
+      sources."available-typed-arrays-1.0.5"
+      sources."call-bind-1.0.2"
       sources."chalk-4.1.2"
       sources."clipper-lib-6.4.2"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
+      sources."deep-equal-2.2.0"
+      sources."define-properties-1.1.4"
+      sources."es-get-iterator-1.1.3"
+      sources."for-each-0.3.3"
+      sources."function-bind-1.1.1"
+      sources."functions-have-names-1.2.3"
+      sources."get-intrinsic-1.2.0"
+      sources."gopd-1.0.1"
+      sources."has-1.0.3"
+      sources."has-bigints-1.0.2"
       sources."has-flag-4.0.0"
+      sources."has-property-descriptors-1.0.0"
+      sources."has-symbols-1.0.3"
+      sources."has-tostringtag-1.0.0"
       sources."iconv-lite-0.6.3"
+      sources."internal-slot-1.0.4"
+      sources."is-arguments-1.1.1"
+      sources."is-array-buffer-3.0.1"
+      sources."is-bigint-1.0.4"
+      sources."is-boolean-object-1.1.2"
+      sources."is-callable-1.2.7"
+      sources."is-date-object-1.0.5"
+      sources."is-map-2.0.2"
+      sources."is-number-object-1.0.7"
+      sources."is-regex-1.1.4"
+      sources."is-set-2.0.2"
+      sources."is-shared-array-buffer-1.0.2"
+      sources."is-string-1.0.7"
+      sources."is-symbol-1.0.4"
+      sources."is-typed-array-1.1.10"
+      sources."is-weakmap-2.0.1"
+      sources."is-weakset-2.0.2"
+      sources."isarray-2.0.5"
       sources."lru-cache-6.0.0"
-      sources."ot-builder-1.5.5"
-      sources."otb-ttc-bundle-1.5.5"
+      sources."object-inspect-1.12.3"
+      sources."object-is-1.1.5"
+      sources."object-keys-1.1.1"
+      sources."object.assign-4.1.4"
+      sources."ot-builder-1.6.1"
+      sources."otb-ttc-bundle-1.6.1"
+      sources."regexp.prototype.flags-1.4.3"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.8"
+      sources."side-channel-1.0.4"
       sources."spiro-3.0.0"
+      sources."stop-iteration-iterator-1.0.0"
       sources."supports-color-7.2.0"
       sources."toposort-2.0.2"
-      sources."tslib-2.4.1"
-      sources."typo-geom-0.12.1"
-      sources."uuid-8.3.2"
+      sources."tslib-2.5.0"
+      sources."typo-geom-0.13.0"
+      sources."uuid-9.0.0"
       sources."wawoff2-2.0.1"
+      sources."which-boxed-primitive-1.0.2"
+      sources."which-collection-1.0.1"
+      sources."which-typed-array-1.1.9"
       sources."yallist-4.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -115254,141 +115003,141 @@ in
       sha512 = "5kjhOG5a2BA4KOkWsfGG0qDbVXkOoYEC9h6tb6KY1zFQTJ7bdLCeR35eyPy5ANfKmHh4tzc1A5SWcnHM8j3hNw==";
     };
     dependencies = [
-      (sources."@aws-crypto/crc32-2.0.0" // {
+      (sources."@aws-crypto/crc32-3.0.0" // {
         dependencies = [
           sources."tslib-1.14.1"
         ];
       })
-      (sources."@aws-crypto/crc32c-2.0.0" // {
+      (sources."@aws-crypto/crc32c-3.0.0" // {
         dependencies = [
           sources."tslib-1.14.1"
         ];
       })
-      (sources."@aws-crypto/ie11-detection-2.0.2" // {
+      (sources."@aws-crypto/ie11-detection-3.0.0" // {
         dependencies = [
           sources."tslib-1.14.1"
         ];
       })
-      (sources."@aws-crypto/sha1-browser-2.0.0" // {
+      (sources."@aws-crypto/sha1-browser-3.0.0" // {
         dependencies = [
           sources."tslib-1.14.1"
         ];
       })
-      (sources."@aws-crypto/sha256-browser-2.0.0" // {
+      (sources."@aws-crypto/sha256-browser-3.0.0" // {
         dependencies = [
           sources."tslib-1.14.1"
         ];
       })
-      (sources."@aws-crypto/sha256-js-2.0.0" // {
+      (sources."@aws-crypto/sha256-js-3.0.0" // {
         dependencies = [
           sources."tslib-1.14.1"
         ];
       })
-      (sources."@aws-crypto/supports-web-crypto-2.0.2" // {
+      (sources."@aws-crypto/supports-web-crypto-3.0.0" // {
         dependencies = [
           sources."tslib-1.14.1"
         ];
       })
-      (sources."@aws-crypto/util-2.0.2" // {
+      (sources."@aws-crypto/util-3.0.0" // {
         dependencies = [
           sources."tslib-1.14.1"
         ];
       })
-      sources."@aws-sdk/abort-controller-3.226.0"
+      sources."@aws-sdk/abort-controller-3.257.0"
       sources."@aws-sdk/chunked-blob-reader-3.188.0"
       sources."@aws-sdk/chunked-blob-reader-native-3.208.0"
-      (sources."@aws-sdk/client-s3-3.252.0" // {
+      (sources."@aws-sdk/client-s3-3.259.0" // {
         dependencies = [
           sources."fast-xml-parser-4.0.11"
         ];
       })
-      sources."@aws-sdk/client-sso-3.252.0"
-      sources."@aws-sdk/client-sso-oidc-3.252.0"
-      (sources."@aws-sdk/client-sts-3.252.0" // {
+      sources."@aws-sdk/client-sso-3.259.0"
+      sources."@aws-sdk/client-sso-oidc-3.259.0"
+      (sources."@aws-sdk/client-sts-3.259.0" // {
         dependencies = [
           sources."fast-xml-parser-4.0.11"
         ];
       })
-      sources."@aws-sdk/config-resolver-3.234.0"
-      sources."@aws-sdk/credential-provider-env-3.226.0"
-      sources."@aws-sdk/credential-provider-imds-3.226.0"
-      sources."@aws-sdk/credential-provider-ini-3.252.0"
-      sources."@aws-sdk/credential-provider-node-3.252.0"
-      sources."@aws-sdk/credential-provider-process-3.226.0"
-      sources."@aws-sdk/credential-provider-sso-3.252.0"
-      sources."@aws-sdk/credential-provider-web-identity-3.226.0"
-      sources."@aws-sdk/eventstream-codec-3.226.0"
-      sources."@aws-sdk/eventstream-serde-browser-3.226.0"
-      sources."@aws-sdk/eventstream-serde-config-resolver-3.226.0"
-      sources."@aws-sdk/eventstream-serde-node-3.226.0"
-      sources."@aws-sdk/eventstream-serde-universal-3.226.0"
-      sources."@aws-sdk/fetch-http-handler-3.226.0"
-      sources."@aws-sdk/hash-blob-browser-3.226.0"
-      sources."@aws-sdk/hash-node-3.226.0"
-      sources."@aws-sdk/hash-stream-node-3.226.0"
-      sources."@aws-sdk/invalid-dependency-3.226.0"
+      sources."@aws-sdk/config-resolver-3.259.0"
+      sources."@aws-sdk/credential-provider-env-3.257.0"
+      sources."@aws-sdk/credential-provider-imds-3.259.0"
+      sources."@aws-sdk/credential-provider-ini-3.259.0"
+      sources."@aws-sdk/credential-provider-node-3.259.0"
+      sources."@aws-sdk/credential-provider-process-3.257.0"
+      sources."@aws-sdk/credential-provider-sso-3.259.0"
+      sources."@aws-sdk/credential-provider-web-identity-3.257.0"
+      sources."@aws-sdk/eventstream-codec-3.258.0"
+      sources."@aws-sdk/eventstream-serde-browser-3.258.0"
+      sources."@aws-sdk/eventstream-serde-config-resolver-3.257.0"
+      sources."@aws-sdk/eventstream-serde-node-3.258.0"
+      sources."@aws-sdk/eventstream-serde-universal-3.258.0"
+      sources."@aws-sdk/fetch-http-handler-3.257.0"
+      sources."@aws-sdk/hash-blob-browser-3.257.0"
+      sources."@aws-sdk/hash-node-3.257.0"
+      sources."@aws-sdk/hash-stream-node-3.257.0"
+      sources."@aws-sdk/invalid-dependency-3.257.0"
       sources."@aws-sdk/is-array-buffer-3.201.0"
-      sources."@aws-sdk/md5-js-3.226.0"
-      sources."@aws-sdk/middleware-bucket-endpoint-3.226.0"
-      sources."@aws-sdk/middleware-content-length-3.226.0"
-      sources."@aws-sdk/middleware-endpoint-3.226.0"
-      sources."@aws-sdk/middleware-expect-continue-3.226.0"
-      sources."@aws-sdk/middleware-flexible-checksums-3.226.0"
-      sources."@aws-sdk/middleware-host-header-3.226.0"
-      sources."@aws-sdk/middleware-location-constraint-3.226.0"
-      sources."@aws-sdk/middleware-logger-3.226.0"
-      sources."@aws-sdk/middleware-recursion-detection-3.226.0"
-      (sources."@aws-sdk/middleware-retry-3.235.0" // {
+      sources."@aws-sdk/md5-js-3.258.0"
+      sources."@aws-sdk/middleware-bucket-endpoint-3.259.0"
+      sources."@aws-sdk/middleware-content-length-3.257.0"
+      sources."@aws-sdk/middleware-endpoint-3.257.0"
+      sources."@aws-sdk/middleware-expect-continue-3.257.0"
+      sources."@aws-sdk/middleware-flexible-checksums-3.259.0"
+      sources."@aws-sdk/middleware-host-header-3.257.0"
+      sources."@aws-sdk/middleware-location-constraint-3.257.0"
+      sources."@aws-sdk/middleware-logger-3.257.0"
+      sources."@aws-sdk/middleware-recursion-detection-3.257.0"
+      (sources."@aws-sdk/middleware-retry-3.259.0" // {
         dependencies = [
           sources."uuid-8.3.2"
         ];
       })
-      sources."@aws-sdk/middleware-sdk-s3-3.231.0"
-      sources."@aws-sdk/middleware-sdk-sts-3.226.0"
-      sources."@aws-sdk/middleware-serde-3.226.0"
-      sources."@aws-sdk/middleware-signing-3.226.0"
-      sources."@aws-sdk/middleware-ssec-3.226.0"
-      sources."@aws-sdk/middleware-stack-3.226.0"
-      sources."@aws-sdk/middleware-user-agent-3.226.0"
-      sources."@aws-sdk/node-config-provider-3.226.0"
-      sources."@aws-sdk/node-http-handler-3.226.0"
-      sources."@aws-sdk/property-provider-3.226.0"
-      sources."@aws-sdk/protocol-http-3.226.0"
-      sources."@aws-sdk/querystring-builder-3.226.0"
-      sources."@aws-sdk/querystring-parser-3.226.0"
-      sources."@aws-sdk/s3-request-presigner-3.252.0"
-      sources."@aws-sdk/service-error-classification-3.229.0"
-      sources."@aws-sdk/shared-ini-file-loader-3.226.0"
-      sources."@aws-sdk/signature-v4-3.226.0"
-      sources."@aws-sdk/signature-v4-crt-3.226.0"
-      sources."@aws-sdk/signature-v4-multi-region-3.226.0"
-      sources."@aws-sdk/smithy-client-3.234.0"
-      sources."@aws-sdk/token-providers-3.252.0"
-      sources."@aws-sdk/types-3.226.0"
-      sources."@aws-sdk/url-parser-3.226.0"
+      sources."@aws-sdk/middleware-sdk-s3-3.257.0"
+      sources."@aws-sdk/middleware-sdk-sts-3.257.0"
+      sources."@aws-sdk/middleware-serde-3.257.0"
+      sources."@aws-sdk/middleware-signing-3.257.0"
+      sources."@aws-sdk/middleware-ssec-3.257.0"
+      sources."@aws-sdk/middleware-stack-3.257.0"
+      sources."@aws-sdk/middleware-user-agent-3.257.0"
+      sources."@aws-sdk/node-config-provider-3.259.0"
+      sources."@aws-sdk/node-http-handler-3.257.0"
+      sources."@aws-sdk/property-provider-3.257.0"
+      sources."@aws-sdk/protocol-http-3.257.0"
+      sources."@aws-sdk/querystring-builder-3.257.0"
+      sources."@aws-sdk/querystring-parser-3.257.0"
+      sources."@aws-sdk/s3-request-presigner-3.259.0"
+      sources."@aws-sdk/service-error-classification-3.257.0"
+      sources."@aws-sdk/shared-ini-file-loader-3.257.0"
+      sources."@aws-sdk/signature-v4-3.257.0"
+      sources."@aws-sdk/signature-v4-crt-3.257.0"
+      sources."@aws-sdk/signature-v4-multi-region-3.257.0"
+      sources."@aws-sdk/smithy-client-3.257.0"
+      sources."@aws-sdk/token-providers-3.259.0"
+      sources."@aws-sdk/types-3.257.0"
+      sources."@aws-sdk/url-parser-3.257.0"
       sources."@aws-sdk/util-arn-parser-3.208.0"
       sources."@aws-sdk/util-base64-3.208.0"
       sources."@aws-sdk/util-body-length-browser-3.188.0"
       sources."@aws-sdk/util-body-length-node-3.208.0"
       sources."@aws-sdk/util-buffer-from-3.208.0"
       sources."@aws-sdk/util-config-provider-3.208.0"
-      sources."@aws-sdk/util-create-request-3.234.0"
-      sources."@aws-sdk/util-defaults-mode-browser-3.234.0"
-      sources."@aws-sdk/util-defaults-mode-node-3.234.0"
-      sources."@aws-sdk/util-endpoints-3.245.0"
-      sources."@aws-sdk/util-format-url-3.226.0"
+      sources."@aws-sdk/util-create-request-3.257.0"
+      sources."@aws-sdk/util-defaults-mode-browser-3.257.0"
+      sources."@aws-sdk/util-defaults-mode-node-3.259.0"
+      sources."@aws-sdk/util-endpoints-3.257.0"
+      sources."@aws-sdk/util-format-url-3.257.0"
       sources."@aws-sdk/util-hex-encoding-3.201.0"
       sources."@aws-sdk/util-locate-window-3.208.0"
-      sources."@aws-sdk/util-middleware-3.226.0"
-      sources."@aws-sdk/util-retry-3.229.0"
-      sources."@aws-sdk/util-stream-browser-3.226.0"
-      sources."@aws-sdk/util-stream-node-3.226.0"
+      sources."@aws-sdk/util-middleware-3.257.0"
+      sources."@aws-sdk/util-retry-3.257.0"
+      sources."@aws-sdk/util-stream-browser-3.258.0"
+      sources."@aws-sdk/util-stream-node-3.257.0"
       sources."@aws-sdk/util-uri-escape-3.201.0"
-      sources."@aws-sdk/util-user-agent-browser-3.226.0"
-      sources."@aws-sdk/util-user-agent-node-3.226.0"
-      sources."@aws-sdk/util-utf8-browser-3.188.0"
-      sources."@aws-sdk/util-utf8-node-3.208.0"
-      sources."@aws-sdk/util-waiter-3.226.0"
+      sources."@aws-sdk/util-user-agent-browser-3.257.0"
+      sources."@aws-sdk/util-user-agent-node-3.259.0"
+      sources."@aws-sdk/util-utf8-3.254.0"
+      sources."@aws-sdk/util-utf8-browser-3.259.0"
+      sources."@aws-sdk/util-waiter-3.257.0"
       sources."@aws-sdk/xml-builder-3.201.0"
       sources."@braintree/sanitize-url-6.0.2"
       sources."@cronvel/get-pixels-3.4.1"
@@ -115497,13 +115246,13 @@ in
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."available-typed-arrays-1.0.5"
-      (sources."aws-crt-1.15.7" // {
+      (sources."aws-crt-1.15.8" // {
         dependencies = [
           sources."mkdirp-1.0.4"
           sources."tar-6.1.13"
         ];
       })
-      (sources."aws-sdk-2.1296.0" // {
+      (sources."aws-sdk-2.1304.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -115611,8 +115360,8 @@ in
         ];
       })
       sources."cwise-compiler-1.1.3"
-      sources."d3-7.8.1"
-      sources."d3-array-3.2.1"
+      sources."d3-7.8.2"
+      sources."d3-array-3.2.2"
       sources."d3-axis-3.0.0"
       sources."d3-brush-3.0.0"
       sources."d3-chord-3.0.1"
@@ -115743,7 +115492,7 @@ in
       sources."fstream-1.0.12"
       sources."function-bind-1.1.1"
       sources."gauge-1.2.7"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-prototype-chain-1.0.1"
       sources."get-stdin-5.0.1"
       sources."getpass-0.1.7"
@@ -115772,7 +115521,7 @@ in
       sources."html-encoding-sniffer-1.0.2"
       sources."html-entities-1.4.0"
       sources."html-minifier-3.5.21"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-errors-1.8.1"
       sources."http-proxy-agent-4.0.1"
       sources."http-signature-1.2.0"
@@ -115860,7 +115609,7 @@ in
       sources."isstream-0.1.2"
       sources."jmespath-0.16.0"
       sources."jpeg-js-0.4.4"
-      sources."js-sdsl-4.1.4"
+      sources."js-sdsl-4.3.0"
       sources."js-tokens-4.0.0"
       sources."js-yaml-4.1.0"
       sources."jsbn-0.1.1"
@@ -116052,7 +115801,7 @@ in
       sources."nopt-5.0.0"
       sources."normalize-path-3.0.0"
       sources."npmlog-1.2.1"
-      sources."number-allocator-1.0.12"
+      sources."number-allocator-1.0.14"
       sources."number-is-nan-1.0.1"
       sources."nwsapi-2.2.2"
       sources."oauth-sign-0.9.0"
@@ -116101,7 +115850,7 @@ in
       sources."proper-lockfile-2.0.1"
       sources."psl-1.9.0"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."q-1.1.2"
       sources."qs-6.5.3"
       sources."query-string-4.3.4"
@@ -116293,7 +116042,7 @@ in
       sources."tr46-1.0.1"
       sources."traverse-0.3.9"
       sources."tree-kit-0.7.4"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
@@ -116332,7 +116081,7 @@ in
       })
       sources."url-join-0.0.1"
       sources."url-parse-1.5.10"
-      sources."utf-8-validate-6.0.0"
+      sources."utf-8-validate-6.0.2"
       sources."util-0.12.5"
       sources."util-deprecate-1.0.2"
       sources."uuid-3.4.0"
@@ -116456,7 +116205,7 @@ in
       sha512 = "tzTgkklbWKrlaQL2+e3NNgLcZu3NaK2vsHRx7tyHQ+H5jcB9Gx0txSd2eJWlMC/xU1+7LQu4s58Ry0RkuaEQVg==";
     };
     dependencies = [
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@jsdoc/salty-0.2.3"
       sources."@types/linkify-it-3.0.2"
       sources."@types/markdown-it-12.2.3"
@@ -116541,7 +116290,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Static analysis tool for JavaScript";
-      homepage = "https://jshint.com/";
+      homepage = "http://jshint.com/";
       license = "MIT";
     };
     production = true;
@@ -116632,7 +116381,7 @@ in
       sources."form-data-4.0.0"
       sources."formidable-2.1.2"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."graphlib-2.1.8"
       sources."has-1.0.3"
       sources."has-symbols-1.0.3"
@@ -116650,7 +116399,7 @@ in
       sources."object-inspect-1.12.3"
       sources."once-1.4.0"
       sources."path-loader-1.0.12"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.11.0"
       sources."readable-stream-3.6.0"
       sources."safe-buffer-5.2.1"
@@ -116737,7 +116486,7 @@ in
       sources."fresh-0.5.2"
       sources."function-bind-1.1.1"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."graceful-fs-4.2.10"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
@@ -116873,7 +116622,7 @@ in
       sources."asn1-0.2.6"
       sources."assert-plus-1.0.0"
       sources."assign-symbols-1.0.0"
-      sources."async-each-1.0.3"
+      sources."async-each-1.0.4"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
@@ -117008,7 +116757,7 @@ in
       sources."fsevents-1.2.13"
       sources."function-bind-1.1.1"
       sources."get-caller-file-1.0.3"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
       sources."glob-base-0.3.0"
@@ -117198,7 +116947,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.7"
       sources."psl-1.9.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.11.0"
       (sources."randomatic-3.1.1" // {
         dependencies = [
@@ -117442,7 +117191,7 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@oclif/command-1.8.21"
+      sources."@oclif/command-1.8.22"
       sources."@oclif/config-1.18.6"
       sources."@oclif/errors-1.3.6"
       (sources."@oclif/help-1.0.5" // {
@@ -117451,7 +117200,7 @@ in
         ];
       })
       sources."@oclif/linewrap-1.0.0"
-      sources."@oclif/parser-3.8.9"
+      sources."@oclif/parser-3.8.10"
       (sources."@oclif/plugin-help-3.3.1" // {
         dependencies = [
           sources."@oclif/config-1.18.2"
@@ -117464,7 +117213,7 @@ in
         ];
       })
       sources."@oclif/screen-1.0.4"
-      (sources."@putdotio/api-client-8.33.0" // {
+      (sources."@putdotio/api-client-8.33.1" // {
         dependencies = [
           sources."axios-0.21.4"
         ];
@@ -117548,7 +117297,7 @@ in
       sources."form-data-3.0.1"
       sources."fs-extra-8.1.0"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."glob-parent-5.1.2"
       sources."globby-11.1.0"
       sources."graceful-fs-4.2.10"
@@ -117612,7 +117361,7 @@ in
       sources."path-type-4.0.0"
       sources."picomatch-2.3.1"
       sources."pkg-up-3.1.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.11.0"
       sources."queue-microtask-1.2.3"
       sources."redeyed-2.1.1"
@@ -117640,7 +117389,7 @@ in
       sources."through-2.3.8"
       sources."tmp-0.0.33"
       sources."to-regex-range-5.0.1"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."type-2.7.2"
       sources."type-fest-0.21.3"
       sources."typedarray-to-buffer-3.1.5"
@@ -117757,7 +117506,7 @@ in
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."glob-7.2.3"
       sources."glob-parent-5.1.2"
       sources."graceful-fs-4.2.10"
@@ -117819,7 +117568,7 @@ in
         ];
       })
       sources."socket.io-adapter-2.4.0"
-      (sources."socket.io-parser-4.2.1" // {
+      (sources."socket.io-parser-4.2.2" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -117839,7 +117588,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.1"
       sources."type-is-1.6.18"
-      sources."ua-parser-js-0.7.32"
+      sources."ua-parser-js-0.7.33"
       sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
       sources."utf-8-validate-5.0.10"
@@ -117875,13 +117624,13 @@ in
       sources."@ampproject/remapping-2.2.0"
       sources."@babel/cli-7.20.7"
       sources."@babel/code-frame-7.18.6"
-      sources."@babel/compat-data-7.20.10"
+      sources."@babel/compat-data-7.20.14"
       (sources."@babel/core-7.20.12" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      (sources."@babel/generator-7.20.7" // {
+      (sources."@babel/generator-7.20.14" // {
         dependencies = [
           sources."@jridgewell/gen-mapping-0.3.2"
         ];
@@ -117903,15 +117652,15 @@ in
       sources."@babel/helper-string-parser-7.19.4"
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/helper-validator-option-7.18.6"
-      sources."@babel/helpers-7.20.7"
+      sources."@babel/helpers-7.20.13"
       sources."@babel/highlight-7.18.6"
       sources."@babel/node-7.20.7"
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@babel/plugin-syntax-jsx-7.18.6"
-      sources."@babel/plugin-transform-react-jsx-7.20.7"
+      sources."@babel/plugin-transform-react-jsx-7.20.13"
       sources."@babel/register-7.18.9"
       sources."@babel/template-7.20.7"
-      sources."@babel/traverse-7.20.12"
+      sources."@babel/traverse-7.20.13"
       sources."@babel/types-7.20.7"
       sources."@jridgewell/gen-mapping-0.1.1"
       sources."@jridgewell/resolve-uri-3.1.0"
@@ -117969,7 +117718,7 @@ in
       sources."abab-2.0.6"
       sources."abbrev-1.1.1"
       sources."accepts-1.3.8"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -118016,7 +117765,7 @@ in
       sources."bufferutil-4.0.7"
       sources."bytes-3.1.2"
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."canvas-2.11.0"
       sources."chalk-2.4.2"
       sources."chardet-1.5.1"
@@ -118038,7 +117787,7 @@ in
       sources."convert-source-map-1.9.0"
       sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.27.1"
+      sources."core-js-3.27.2"
       sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
       sources."create-hash-1.2.0"
@@ -118103,7 +117852,7 @@ in
           sources."ms-2.0.0"
         ];
       })
-      sources."express-validator-6.14.2"
+      sources."express-validator-6.14.3"
       sources."fast-glob-3.2.12"
       sources."fast-levenshtein-2.0.6"
       sources."fastq-1.15.0"
@@ -118149,7 +117898,7 @@ in
       sources."gauge-3.0.2"
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-symbol-description-1.0.0"
       sources."github-from-package-0.0.0"
       sources."glob-7.2.3"
@@ -118362,7 +118111,7 @@ in
       sources."proxy-addr-2.0.7"
       sources."psl-1.9.0"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."pvtsutils-1.3.2"
       sources."pvutils-1.1.3"
       sources."qs-6.11.0"
@@ -118458,7 +118207,7 @@ in
       sources."toidentifier-1.0.1"
       sources."tough-cookie-4.1.2"
       sources."tr46-0.0.3"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."tunnel-agent-0.6.0"
       sources."type-check-0.3.2"
       sources."type-is-1.6.18"
@@ -118468,7 +118217,7 @@ in
       sources."unpipe-1.0.0"
       sources."update-browserslist-db-1.0.10"
       sources."url-parse-1.5.10"
-      sources."utf-8-validate-6.0.0"
+      sources."utf-8-validate-6.0.2"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
       sources."uuid-8.3.2"
@@ -118745,7 +118494,7 @@ in
       sources."prompt-1.0.0"
       sources."psl-1.9.0"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.5.3"
       sources."read-1.0.7"
       sources."readable-stream-1.1.14"
@@ -118984,7 +118733,7 @@ in
       sources."prelude-ls-1.1.2"
       sources."prompt-1.0.0"
       sources."psl-1.9.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.5.3"
       sources."read-1.0.7"
       sources."readable-stream-1.1.14"
@@ -119244,57 +118993,57 @@ in
       sources."@npmcli/package-json-2.0.0"
       sources."@npmcli/promise-spawn-3.0.0"
       sources."@npmcli/run-script-4.2.1"
-      sources."@nrwl/cli-15.5.2"
-      (sources."@nrwl/devkit-15.5.2" // {
+      sources."@nrwl/cli-15.6.3"
+      (sources."@nrwl/devkit-15.6.3" // {
         dependencies = [
           sources."semver-7.3.4"
         ];
       })
-      sources."@nrwl/tao-15.5.2"
-      sources."@octokit/auth-token-3.0.2"
-      sources."@octokit/core-4.1.0"
-      (sources."@octokit/endpoint-7.0.3" // {
+      sources."@nrwl/tao-15.6.3"
+      sources."@octokit/auth-token-3.0.3"
+      sources."@octokit/core-4.2.0"
+      (sources."@octokit/endpoint-7.0.5" // {
         dependencies = [
           sources."is-plain-object-5.0.0"
         ];
       })
-      sources."@octokit/graphql-5.0.4"
-      sources."@octokit/openapi-types-14.0.0"
+      sources."@octokit/graphql-5.0.5"
+      sources."@octokit/openapi-types-16.0.0"
       sources."@octokit/plugin-enterprise-rest-6.0.1"
-      sources."@octokit/plugin-paginate-rest-5.0.1"
+      sources."@octokit/plugin-paginate-rest-6.0.0"
       sources."@octokit/plugin-request-log-1.0.4"
-      sources."@octokit/plugin-rest-endpoint-methods-6.7.0"
-      (sources."@octokit/request-6.2.2" // {
+      sources."@octokit/plugin-rest-endpoint-methods-7.0.1"
+      (sources."@octokit/request-6.2.3" // {
         dependencies = [
           sources."is-plain-object-5.0.0"
         ];
       })
-      sources."@octokit/request-error-3.0.2"
-      sources."@octokit/rest-19.0.5"
-      sources."@octokit/types-8.1.1"
+      sources."@octokit/request-error-3.0.3"
+      sources."@octokit/rest-19.0.7"
+      sources."@octokit/types-9.0.0"
       sources."@parcel/watcher-2.0.4"
       sources."@phenomnomnominal/tsquery-4.1.1"
       sources."@swc-node/core-1.9.2"
       sources."@swc-node/register-1.5.5"
       sources."@swc-node/sourcemap-support-0.2.3"
-      sources."@swc/core-1.3.27"
-      sources."@swc/core-darwin-arm64-1.3.27"
-      sources."@swc/core-darwin-x64-1.3.27"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.27"
-      sources."@swc/core-linux-arm64-gnu-1.3.27"
-      sources."@swc/core-linux-arm64-musl-1.3.27"
-      sources."@swc/core-linux-x64-gnu-1.3.27"
-      sources."@swc/core-linux-x64-musl-1.3.27"
-      sources."@swc/core-win32-arm64-msvc-1.3.27"
-      sources."@swc/core-win32-ia32-msvc-1.3.27"
-      sources."@swc/core-win32-x64-msvc-1.3.27"
+      sources."@swc/core-1.3.29"
+      sources."@swc/core-darwin-arm64-1.3.29"
+      sources."@swc/core-darwin-x64-1.3.29"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.29"
+      sources."@swc/core-linux-arm64-gnu-1.3.29"
+      sources."@swc/core-linux-arm64-musl-1.3.29"
+      sources."@swc/core-linux-x64-gnu-1.3.29"
+      sources."@swc/core-linux-x64-musl-1.3.29"
+      sources."@swc/core-win32-arm64-msvc-1.3.29"
+      sources."@swc/core-win32-ia32-msvc-1.3.29"
+      sources."@swc/core-win32-x64-msvc-1.3.29"
       sources."@tootallnate/once-2.0.0"
       sources."@types/minimatch-3.0.5"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
       sources."@yarnpkg/lockfile-1.1.0"
-      (sources."@yarnpkg/parsers-3.0.0-rc.35" // {
+      (sources."@yarnpkg/parsers-3.0.0-rc.36" // {
         dependencies = [
           sources."argparse-1.0.10"
           sources."js-yaml-3.14.1"
@@ -119326,7 +119075,7 @@ in
       sources."async-3.2.4"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
-      sources."axios-1.2.3"
+      sources."axios-1.2.6"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       sources."before-after-hook-2.2.3"
@@ -119501,7 +119250,7 @@ in
       sources."has-flag-4.0.0"
       sources."has-unicode-2.0.1"
       sources."hosted-git-info-3.0.8"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-proxy-agent-5.0.0"
       sources."https-proxy-agent-5.0.1"
       sources."human-signals-2.1.0"
@@ -119710,7 +119459,7 @@ in
       })
       sources."npm-run-path-4.0.1"
       sources."npmlog-6.0.2"
-      (sources."nx-15.5.2" // {
+      (sources."nx-15.6.3" // {
         dependencies = [
           sources."cli-spinners-2.6.1"
           sources."fast-glob-3.2.7"
@@ -119879,7 +119628,7 @@ in
           sources."strip-bom-3.0.0"
         ];
       })
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."type-fest-0.4.1"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
@@ -119955,7 +119704,7 @@ in
       sources."sax-1.2.4"
       sources."semver-5.7.1"
       sources."source-map-0.6.1"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -120013,7 +119762,7 @@ in
       sources."arr-union-3.1.0"
       sources."array-unique-0.3.2"
       sources."assign-symbols-1.0.0"
-      sources."async-each-1.0.3"
+      sources."async-each-1.0.4"
       sources."atob-2.1.2"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -120346,7 +120095,7 @@ in
       sources."asn1-0.2.6"
       sources."assert-plus-1.0.0"
       sources."assign-symbols-1.0.0"
-      sources."async-each-1.0.3"
+      sources."async-each-1.0.4"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."aws-sign2-0.7.0"
@@ -120469,7 +120218,7 @@ in
       sources."fresh-0.5.2"
       sources."fsevents-1.2.13"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-value-2.0.6"
       sources."getpass-0.1.7"
       sources."github-slugger-1.5.0"
@@ -120625,7 +120374,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.7"
       sources."psl-1.9.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.11.0"
       (sources."randomatic-3.1.1" // {
         dependencies = [
@@ -121315,7 +121064,7 @@ in
       sources."parse5-7.1.2"
       sources."parse5-htmlparser2-tree-adapter-7.0.0"
       sources."progress-2.0.3"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
       sources."supports-color-7.2.0"
@@ -121337,13 +121086,13 @@ in
     src = ../../applications/editors/vim/plugins/markdown-preview-nvim;
     dependencies = [
       sources."@babel/code-frame-7.18.6"
-      sources."@babel/compat-data-7.20.10"
+      sources."@babel/compat-data-7.20.14"
       (sources."@babel/core-7.0.0" // {
         dependencies = [
           sources."debug-3.2.7"
         ];
       })
-      sources."@babel/generator-7.20.7"
+      sources."@babel/generator-7.20.14"
       sources."@babel/helper-annotate-as-pure-7.18.6"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.18.9"
       (sources."@babel/helper-compilation-targets-7.20.7" // {
@@ -121386,13 +121135,13 @@ in
           sources."@babel/template-7.20.7"
         ];
       })
-      (sources."@babel/helpers-7.20.7" // {
+      (sources."@babel/helpers-7.20.13" // {
         dependencies = [
           sources."@babel/template-7.20.7"
         ];
       })
       sources."@babel/highlight-7.18.6"
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@babel/plugin-proposal-async-generator-functions-7.20.7"
       sources."@babel/plugin-proposal-class-properties-7.0.0"
       sources."@babel/plugin-proposal-json-strings-7.18.6"
@@ -121409,7 +121158,7 @@ in
       sources."@babel/plugin-transform-arrow-functions-7.20.7"
       sources."@babel/plugin-transform-async-to-generator-7.20.7"
       sources."@babel/plugin-transform-block-scoped-functions-7.18.6"
-      sources."@babel/plugin-transform-block-scoping-7.20.11"
+      sources."@babel/plugin-transform-block-scoping-7.20.14"
       sources."@babel/plugin-transform-classes-7.20.7"
       (sources."@babel/plugin-transform-computed-properties-7.20.7" // {
         dependencies = [
@@ -121431,7 +121180,7 @@ in
       sources."@babel/plugin-transform-object-super-7.18.6"
       sources."@babel/plugin-transform-parameters-7.20.7"
       sources."@babel/plugin-transform-react-display-name-7.18.6"
-      sources."@babel/plugin-transform-react-jsx-7.20.7"
+      sources."@babel/plugin-transform-react-jsx-7.20.13"
       sources."@babel/plugin-transform-react-jsx-self-7.18.6"
       sources."@babel/plugin-transform-react-jsx-source-7.19.6"
       sources."@babel/plugin-transform-regenerator-7.20.5"
@@ -121459,7 +121208,7 @@ in
         ];
       })
       sources."@babel/template-7.0.0"
-      sources."@babel/traverse-7.20.12"
+      sources."@babel/traverse-7.20.13"
       sources."@babel/types-7.20.7"
       sources."@chemzqm/msgpack-lite-0.1.29"
       sources."@chemzqm/neovim-5.9.5"
@@ -121527,7 +121276,7 @@ in
         ];
       })
       sources."assign-symbols-1.0.0"
-      sources."async-each-1.0.3"
+      sources."async-each-1.0.4"
       sources."atob-2.1.2"
       (sources."autodll-webpack-plugin-0.4.2" // {
         dependencies = [
@@ -121603,7 +121352,7 @@ in
       })
       sources."cache-base-1.0.1"
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."case-sensitive-paths-webpack-plugin-2.1.2"
       sources."chalk-2.4.2"
       sources."chart.js-2.9.4"
@@ -121814,7 +121563,7 @@ in
       sources."function-bind-1.1.1"
       sources."function.prototype.name-1.1.5"
       sources."functions-have-names-1.2.3"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-symbol-description-1.0.0"
       sources."get-value-2.0.6"
       sources."glob-7.1.2"
@@ -122089,7 +121838,7 @@ in
           sources."pump-2.0.1"
         ];
       })
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."querystring-0.2.0"
       sources."querystring-es3-0.2.1"
       sources."randombytes-2.1.0"
@@ -122114,7 +121863,7 @@ in
       sources."regenerator-runtime-0.13.11"
       (sources."regenerator-transform-0.15.1" // {
         dependencies = [
-          sources."@babel/runtime-7.20.7"
+          sources."@babel/runtime-7.20.13"
         ];
       })
       sources."regex-not-1.0.2"
@@ -122656,7 +122405,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."progress-1.1.8"
       sources."psl-1.9.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.5.3"
       sources."readable-stream-2.3.7"
       sources."readline-1.3.0"
@@ -122831,7 +122580,7 @@ in
       sources."cosmiconfig-8.0.0"
       sources."cross-fetch-3.1.5"
       sources."debug-4.3.4"
-      sources."devtools-protocol-0.0.1068969"
+      sources."devtools-protocol-0.0.1082910"
       sources."encoding-0.1.13"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
@@ -122868,8 +122617,8 @@ in
       sources."progress-2.0.3"
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
-      sources."puppeteer-19.5.2"
-      sources."puppeteer-core-19.5.2"
+      sources."puppeteer-19.6.2"
+      sources."puppeteer-core-19.6.2"
       sources."readable-stream-3.6.0"
       sources."resolve-from-4.0.0"
       sources."rimraf-3.0.2"
@@ -123034,7 +122783,7 @@ in
       sources."form-data-4.0.0"
       sources."formidable-2.1.2"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."graphlib-2.1.8"
       sources."has-1.0.3"
       sources."has-symbols-1.0.3"
@@ -123057,7 +122806,7 @@ in
       sources."object-inspect-1.12.3"
       sources."once-1.4.0"
       sources."path-loader-1.0.12"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.11.0"
       sources."readable-stream-3.6.0"
       sources."safe-buffer-5.2.1"
@@ -123325,7 +123074,7 @@ in
       sources."has-yarn-2.1.0"
       sources."hash-base-3.1.0"
       sources."homedir-polyfill-1.0.3"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       (sources."http-errors-1.8.1" // {
         dependencies = [
           sources."depd-1.1.2"
@@ -123645,7 +123394,7 @@ in
       sources."glob-7.2.3"
       sources."graceful-fs-4.2.10"
       sources."has-unicode-2.0.1"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-proxy-agent-5.0.0"
       sources."https-proxy-agent-5.0.1"
       sources."humanize-ms-1.2.1"
@@ -123826,7 +123575,7 @@ in
       sources."fstream-ignore-1.0.5"
       sources."function-bind-1.1.1"
       sources."gauge-2.7.4"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stdin-4.0.1"
       (sources."getpass-0.1.7" // {
         dependencies = [
@@ -124046,7 +123795,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Web Inspector based nodeJS debugger";
-      homepage = "https://github.com/node-inspector/node-inspector";
+      homepage = "http://github.com/node-inspector/node-inspector";
     };
     production = true;
     bypassCache = true;
@@ -124150,7 +123899,7 @@ in
       sha512 = "B6q576kLw96eKOiqNpNJsUiwl5vRipc46T0w/LUI7O3fPAVxwu5zklIBhE6Iefj8FV1IdbLwXULESqMWlwjlGQ==";
     };
     dependencies = [
-      sources."@babel/runtime-7.20.7"
+      sources."@babel/runtime-7.20.13"
       sources."@mapbox/node-pre-gyp-1.0.10"
       sources."@node-red/editor-api-3.0.2"
       sources."@node-red/editor-client-3.0.2"
@@ -124304,7 +124053,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."gauge-3.0.2"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-5.2.0"
       sources."glob-7.2.3"
       sources."got-11.8.5"
@@ -124320,7 +124069,7 @@ in
       })
       sources."hpagent-1.0.0"
       sources."htmlparser2-6.1.0"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-errors-2.0.0"
       sources."http2-wrapper-1.0.3"
       (sources."https-proxy-agent-5.0.1" // {
@@ -124338,7 +124087,7 @@ in
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-utf8-0.2.1"
       sources."isarray-1.0.0"
-      sources."js-sdsl-4.1.4"
+      sources."js-sdsl-4.3.0"
       sources."js-yaml-4.1.0"
       sources."json-buffer-3.0.1"
       sources."json-schema-traverse-1.0.0"
@@ -124417,7 +124166,7 @@ in
       sources."normalize-url-6.1.0"
       sources."npmlog-5.0.1"
       sources."nth-check-2.1.1"
-      (sources."number-allocator-1.0.12" // {
+      (sources."number-allocator-1.0.14" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -124445,7 +124194,7 @@ in
       sources."pseudomap-1.0.2"
       sources."psl-1.9.0"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.10.3"
       sources."quick-lru-5.1.1"
       sources."random-bytes-1.0.0"
@@ -124508,7 +124257,7 @@ in
       sources."toidentifier-1.0.1"
       sources."tough-cookie-4.0.0"
       sources."tr46-0.0.3"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
       sources."uglify-js-3.16.3"
@@ -124673,7 +124422,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
       sources."psl-1.9.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.5.3"
       (sources."readable-stream-2.3.7" // {
         dependencies = [
@@ -124958,7 +124707,7 @@ in
       sources."has-flag-4.0.0"
       sources."has-yarn-2.1.0"
       sources."hosted-git-info-3.0.8"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."human-signals-2.1.0"
       sources."iconv-lite-0.4.24"
       sources."ignore-5.2.4"
@@ -125331,10 +125080,10 @@ in
   npm = nodeEnv.buildNodePackage {
     name = "npm";
     packageName = "npm";
-    version = "9.3.1";
+    version = "9.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm/-/npm-9.3.1.tgz";
-      sha512 = "ydRVmnWEVXmc3DCM+F9BjiNj3IHkZ3Mwz5VbJYS2BpY/6d4PcKxNW+Xb0vzGeE6PkVhLcPxwhoIi+RFV2fSfEA==";
+      url = "https://registry.npmjs.org/npm/-/npm-9.4.0.tgz";
+      sha512 = "eT/yB9VFgnqJjMZN++RDcKPyuvEl3iM//bfJzAa3F9+x9l/x8XJUYnHAy0K6ep4JVNTxCUAp/wgy0pBicTZr5A==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -125349,10 +125098,10 @@ in
   npm-check-updates = nodeEnv.buildNodePackage {
     name = "npm-check-updates";
     packageName = "npm-check-updates";
-    version = "16.6.2";
+    version = "16.6.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.6.2.tgz";
-      sha512 = "J/L90a+NDDWscBQGKIsPKer+qbQEQRJDpK+BPsVZf9YWDN5DCAMicPqRb+Emnxfi8QboiNmvDJWRUFFWRQzDMg==";
+      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.6.3.tgz";
+      sha512 = "EKhsCbBcVrPlYKzaYQtRhGv9fxpexwROcvl5HebCUNpiCSlOWrzaJvrMlwi9i9GCyJCnH+YAeBPYdqnArA390A==";
     };
     dependencies = [
       sources."@gar/promisify-1.1.3"
@@ -125484,7 +125233,7 @@ in
       sources."has-unicode-2.0.1"
       sources."has-yarn-3.0.0"
       sources."hosted-git-info-5.2.1"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-proxy-agent-5.0.0"
       sources."http2-wrapper-2.2.0"
       sources."https-proxy-agent-5.0.1"
@@ -125716,7 +125465,7 @@ in
           sources."strip-ansi-7.0.1"
         ];
       })
-      (sources."wrap-ansi-8.0.1" // {
+      (sources."wrap-ansi-8.1.0" // {
         dependencies = [
           sources."ansi-regex-6.0.1"
           sources."emoji-regex-9.2.2"
@@ -125813,7 +125562,7 @@ in
       sources."open-8.4.0"
       sources."performance-now-2.1.0"
       sources."psl-1.9.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.5.3"
       sources."request-2.88.2"
       sources."safe-buffer-5.2.1"
@@ -125881,10 +125630,10 @@ in
   orval = nodeEnv.buildNodePackage {
     name = "orval";
     packageName = "orval";
-    version = "6.11.0";
+    version = "6.11.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/orval/-/orval-6.11.0.tgz";
-      sha512 = "oABYZWFKW4PtEv0Kb3Zqg0mIi75J3gMvq9Km8fjo+Ku0gzpdXhUKkeQUisvJXBPsRBTGkWBDRtCuRhqakCNH4w==";
+      url = "https://registry.npmjs.org/orval/-/orval-6.11.1.tgz";
+      sha512 = "3QjI9i8mp/lT+ufJQWghQyCf6vNXqKVHva2IgLL/OWEuBA8AsGPXvJvCeqzFmi+fBSC7LzpR2Mkyle7dxfycLQ==";
     };
     dependencies = [
       sources."@apidevtools/json-schema-ref-parser-9.0.6"
@@ -125902,12 +125651,12 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@orval/angular-6.11.0"
-      sources."@orval/axios-6.11.0"
-      sources."@orval/core-6.11.0"
-      sources."@orval/msw-6.11.0"
-      sources."@orval/query-6.11.0"
-      sources."@orval/swr-6.11.0"
+      sources."@orval/angular-6.11.1"
+      sources."@orval/axios-6.11.1"
+      sources."@orval/core-6.11.1"
+      sources."@orval/msw-6.11.1"
+      sources."@orval/query-6.11.1"
+      sources."@orval/swr-6.11.1"
       sources."@rollup/plugin-commonjs-22.0.2"
       (sources."@rollup/pluginutils-3.1.0" // {
         dependencies = [
@@ -125956,7 +125705,7 @@ in
       sources."@types/node-18.11.18"
       sources."@types/urijs-1.19.19"
       sources."abort-controller-3.0.0"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-walk-8.2.0"
       sources."agent-base-6.0.2"
       sources."ajv-8.12.0"
@@ -126080,7 +125829,7 @@ in
       sources."function.prototype.name-1.1.5"
       sources."functions-have-names-1.2.3"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       (sources."get-source-2.0.12" // {
         dependencies = [
           sources."data-uri-to-buffer-2.0.2"
@@ -126118,7 +125867,7 @@ in
       })
       sources."iconv-lite-0.6.3"
       sources."ignore-5.2.4"
-      sources."immer-9.0.18"
+      sources."immer-9.0.19"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."internal-slot-1.0.4"
@@ -126227,8 +125976,7 @@ in
       sources."printable-characters-1.0.42"
       sources."proxy-agent-5.0.0"
       sources."proxy-from-env-1.1.0"
-      sources."punycode-1.3.2"
-      sources."querystring-0.2.0"
+      sources."punycode-2.3.0"
       sources."queue-microtask-1.2.3"
       (sources."raw-body-2.5.1" // {
         dependencies = [
@@ -126291,20 +126039,15 @@ in
       sources."toidentifier-1.0.1"
       sources."tr46-0.0.3"
       sources."tsconfck-2.0.2"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."type-check-0.3.2"
       sources."typed-array-length-1.0.4"
       sources."typescript-4.9.4"
       sources."unbox-primitive-1.0.2"
       sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
-      (sources."uri-js-4.4.1" // {
-        dependencies = [
-          sources."punycode-2.2.0"
-        ];
-      })
+      sources."uri-js-4.4.1"
       sources."urijs-1.19.11"
-      sources."url-0.11.0"
       sources."utility-types-3.10.0"
       sources."validate-npm-package-name-3.0.0"
       sources."validator-13.7.0"
@@ -126348,14 +126091,14 @@ in
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
       sources."@babel/code-frame-7.18.6"
-      sources."@babel/compat-data-7.20.10"
+      sources."@babel/compat-data-7.20.14"
       (sources."@babel/core-7.20.12" // {
         dependencies = [
           sources."json5-2.2.3"
           sources."semver-6.3.0"
         ];
       })
-      (sources."@babel/generator-7.20.7" // {
+      (sources."@babel/generator-7.20.14" // {
         dependencies = [
           sources."@jridgewell/gen-mapping-0.3.2"
         ];
@@ -126392,9 +126135,9 @@ in
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/helper-validator-option-7.18.6"
       sources."@babel/helper-wrap-function-7.20.5"
-      sources."@babel/helpers-7.20.7"
+      sources."@babel/helpers-7.20.13"
       sources."@babel/highlight-7.18.6"
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6"
       sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7"
       sources."@babel/plugin-proposal-async-generator-functions-7.20.7"
@@ -126432,7 +126175,7 @@ in
       sources."@babel/plugin-transform-arrow-functions-7.20.7"
       sources."@babel/plugin-transform-async-to-generator-7.20.7"
       sources."@babel/plugin-transform-block-scoped-functions-7.18.6"
-      sources."@babel/plugin-transform-block-scoping-7.20.11"
+      sources."@babel/plugin-transform-block-scoping-7.20.14"
       sources."@babel/plugin-transform-classes-7.20.7"
       sources."@babel/plugin-transform-computed-properties-7.20.7"
       sources."@babel/plugin-transform-destructuring-7.20.7"
@@ -126453,7 +126196,7 @@ in
       sources."@babel/plugin-transform-object-super-7.18.6"
       sources."@babel/plugin-transform-parameters-7.20.7"
       sources."@babel/plugin-transform-property-literals-7.18.6"
-      sources."@babel/plugin-transform-react-jsx-7.20.7"
+      sources."@babel/plugin-transform-react-jsx-7.20.13"
       sources."@babel/plugin-transform-regenerator-7.20.5"
       sources."@babel/plugin-transform-reserved-words-7.18.6"
       sources."@babel/plugin-transform-shorthand-properties-7.18.6"
@@ -126469,9 +126212,9 @@ in
         ];
       })
       sources."@babel/preset-modules-0.1.5"
-      sources."@babel/runtime-7.20.7"
+      sources."@babel/runtime-7.20.13"
       sources."@babel/template-7.20.7"
-      sources."@babel/traverse-7.20.12"
+      sources."@babel/traverse-7.20.13"
       sources."@babel/types-7.20.7"
       sources."@iarna/toml-2.2.5"
       sources."@jridgewell/gen-mapping-0.1.1"
@@ -126531,7 +126274,7 @@ in
       })
       sources."assert-plus-1.0.0"
       sources."assign-symbols-1.0.0"
-      sources."async-each-1.0.3"
+      sources."async-each-1.0.4"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
@@ -126605,7 +126348,7 @@ in
       sources."caller-path-2.0.0"
       sources."callsites-2.0.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
@@ -126631,7 +126374,7 @@ in
       sources."convert-source-map-1.9.0"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      sources."core-js-compat-3.27.1"
+      sources."core-js-compat-3.27.2"
       sources."core-util-is-1.0.3"
       sources."cosmiconfig-5.2.1"
       (sources."create-ecdh-4.0.4" // {
@@ -126801,7 +126544,7 @@ in
       sources."function.prototype.name-1.1.5"
       sources."functions-have-names-1.2.3"
       sources."gensync-1.0.0-beta.2"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-port-3.2.0"
       sources."get-symbol-description-1.0.0"
       sources."get-value-2.0.6"
@@ -126853,7 +126596,7 @@ in
       sources."html-tags-1.2.0"
       (sources."htmlnano-0.2.9" // {
         dependencies = [
-          sources."acorn-8.8.1"
+          sources."acorn-8.8.2"
           sources."posthtml-0.15.2"
           sources."posthtml-parser-0.7.2"
           sources."terser-5.16.1"
@@ -127140,7 +126883,7 @@ in
           sources."bn.js-4.12.0"
         ];
       })
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       (sources."purgecss-2.3.0" // {
         dependencies = [
           sources."commander-5.1.0"
@@ -127395,10 +127138,10 @@ in
   parcel = nodeEnv.buildNodePackage {
     name = "parcel";
     packageName = "parcel";
-    version = "2.8.2";
+    version = "2.8.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/parcel/-/parcel-2.8.2.tgz";
-      sha512 = "XMVf3Ip9Iokv0FC3ulN/B0cb5O21qaw0RhUPz7zULQlY794ZpFP9mNtN7HvCVEgjl5/q2sYMcTA8l+5QJ2zZ/Q==";
+      url = "https://registry.npmjs.org/parcel/-/parcel-2.8.3.tgz";
+      sha512 = "5rMBpbNE72g6jZvkdR5gS2nyhwIXaJy8i65osOqs/+5b7zgf3eMKgjSsDrv6bhz3gzifsba6MBJiZdBckl+vnA==";
     };
     dependencies = [
       sources."@babel/code-frame-7.18.6"
@@ -127429,79 +127172,79 @@ in
       sources."@msgpackr-extract/msgpackr-extract-linux-arm64-2.2.0"
       sources."@msgpackr-extract/msgpackr-extract-linux-x64-2.2.0"
       sources."@msgpackr-extract/msgpackr-extract-win32-x64-2.2.0"
-      sources."@parcel/bundler-default-2.8.2"
-      sources."@parcel/cache-2.8.2"
-      sources."@parcel/codeframe-2.8.2"
-      sources."@parcel/compressor-raw-2.8.2"
-      sources."@parcel/config-default-2.8.2"
-      sources."@parcel/core-2.8.2"
-      sources."@parcel/diagnostic-2.8.2"
-      sources."@parcel/events-2.8.2"
-      sources."@parcel/fs-2.8.2"
-      sources."@parcel/fs-search-2.8.2"
-      sources."@parcel/graph-2.8.2"
-      sources."@parcel/hash-2.8.2"
-      sources."@parcel/logger-2.8.2"
-      sources."@parcel/markdown-ansi-2.8.2"
-      sources."@parcel/namer-default-2.8.2"
-      sources."@parcel/node-resolver-core-2.8.2"
-      sources."@parcel/optimizer-css-2.8.2"
-      sources."@parcel/optimizer-htmlnano-2.8.2"
-      sources."@parcel/optimizer-image-2.8.2"
-      sources."@parcel/optimizer-svgo-2.8.2"
-      sources."@parcel/optimizer-terser-2.8.2"
-      sources."@parcel/package-manager-2.8.2"
-      sources."@parcel/packager-css-2.8.2"
-      sources."@parcel/packager-html-2.8.2"
-      sources."@parcel/packager-js-2.8.2"
-      sources."@parcel/packager-raw-2.8.2"
-      sources."@parcel/packager-svg-2.8.2"
-      sources."@parcel/plugin-2.8.2"
-      sources."@parcel/reporter-cli-2.8.2"
-      sources."@parcel/reporter-dev-server-2.8.2"
-      sources."@parcel/resolver-default-2.8.2"
-      sources."@parcel/runtime-browser-hmr-2.8.2"
-      sources."@parcel/runtime-js-2.8.2"
-      sources."@parcel/runtime-react-refresh-2.8.2"
-      sources."@parcel/runtime-service-worker-2.8.2"
+      sources."@parcel/bundler-default-2.8.3"
+      sources."@parcel/cache-2.8.3"
+      sources."@parcel/codeframe-2.8.3"
+      sources."@parcel/compressor-raw-2.8.3"
+      sources."@parcel/config-default-2.8.3"
+      sources."@parcel/core-2.8.3"
+      sources."@parcel/diagnostic-2.8.3"
+      sources."@parcel/events-2.8.3"
+      sources."@parcel/fs-2.8.3"
+      sources."@parcel/fs-search-2.8.3"
+      sources."@parcel/graph-2.8.3"
+      sources."@parcel/hash-2.8.3"
+      sources."@parcel/logger-2.8.3"
+      sources."@parcel/markdown-ansi-2.8.3"
+      sources."@parcel/namer-default-2.8.3"
+      sources."@parcel/node-resolver-core-2.8.3"
+      sources."@parcel/optimizer-css-2.8.3"
+      sources."@parcel/optimizer-htmlnano-2.8.3"
+      sources."@parcel/optimizer-image-2.8.3"
+      sources."@parcel/optimizer-svgo-2.8.3"
+      sources."@parcel/optimizer-terser-2.8.3"
+      sources."@parcel/package-manager-2.8.3"
+      sources."@parcel/packager-css-2.8.3"
+      sources."@parcel/packager-html-2.8.3"
+      sources."@parcel/packager-js-2.8.3"
+      sources."@parcel/packager-raw-2.8.3"
+      sources."@parcel/packager-svg-2.8.3"
+      sources."@parcel/plugin-2.8.3"
+      sources."@parcel/reporter-cli-2.8.3"
+      sources."@parcel/reporter-dev-server-2.8.3"
+      sources."@parcel/resolver-default-2.8.3"
+      sources."@parcel/runtime-browser-hmr-2.8.3"
+      sources."@parcel/runtime-js-2.8.3"
+      sources."@parcel/runtime-react-refresh-2.8.3"
+      sources."@parcel/runtime-service-worker-2.8.3"
       sources."@parcel/source-map-2.1.1"
-      sources."@parcel/transformer-babel-2.8.2"
-      sources."@parcel/transformer-css-2.8.2"
-      (sources."@parcel/transformer-html-2.8.2" // {
+      sources."@parcel/transformer-babel-2.8.3"
+      sources."@parcel/transformer-css-2.8.3"
+      (sources."@parcel/transformer-html-2.8.3" // {
         dependencies = [
           sources."posthtml-parser-0.10.2"
         ];
       })
-      sources."@parcel/transformer-image-2.8.2"
-      sources."@parcel/transformer-js-2.8.2"
-      sources."@parcel/transformer-json-2.8.2"
-      sources."@parcel/transformer-postcss-2.8.2"
-      (sources."@parcel/transformer-posthtml-2.8.2" // {
+      sources."@parcel/transformer-image-2.8.3"
+      sources."@parcel/transformer-js-2.8.3"
+      sources."@parcel/transformer-json-2.8.3"
+      sources."@parcel/transformer-postcss-2.8.3"
+      (sources."@parcel/transformer-posthtml-2.8.3" // {
         dependencies = [
           sources."posthtml-parser-0.10.2"
         ];
       })
-      sources."@parcel/transformer-raw-2.8.2"
-      sources."@parcel/transformer-react-refresh-wrap-2.8.2"
-      (sources."@parcel/transformer-svg-2.8.2" // {
+      sources."@parcel/transformer-raw-2.8.3"
+      sources."@parcel/transformer-react-refresh-wrap-2.8.3"
+      (sources."@parcel/transformer-svg-2.8.3" // {
         dependencies = [
           sources."posthtml-parser-0.10.2"
         ];
       })
-      sources."@parcel/types-2.8.2"
-      sources."@parcel/utils-2.8.2"
+      sources."@parcel/types-2.8.3"
+      sources."@parcel/utils-2.8.3"
       (sources."@parcel/watcher-2.1.0" // {
         dependencies = [
           sources."node-addon-api-3.2.1"
         ];
       })
-      sources."@parcel/workers-2.8.2"
+      sources."@parcel/workers-2.8.3"
       sources."@swc/helpers-0.4.14"
       sources."@trysound/sax-0.2.0"
       sources."@types/parse-json-4.0.0"
       sources."abab-2.0.6"
       sources."abortcontroller-polyfill-1.7.5"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       (sources."acorn-globals-4.3.4" // {
         dependencies = [
           sources."acorn-6.4.2"
@@ -127528,7 +127271,7 @@ in
       sources."buffer-from-1.1.2"
       sources."callsites-3.1.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."caseless-0.12.0"
       (sources."chalk-4.1.2" // {
         dependencies = [
@@ -127598,7 +127341,7 @@ in
       sources."get-port-4.2.0"
       sources."getpass-0.1.7"
       sources."glob-8.1.0"
-      sources."globals-13.19.0"
+      sources."globals-13.20.0"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."has-flag-3.0.0"
@@ -127656,7 +127399,7 @@ in
       sources."mime-db-1.52.0"
       sources."mime-types-2.1.35"
       sources."minimatch-5.1.6"
-      sources."msgpackr-1.8.1"
+      sources."msgpackr-1.8.2"
       sources."msgpackr-extract-2.2.0"
       sources."nanoid-3.3.4"
       sources."node-addon-api-4.3.0"
@@ -127715,7 +127458,7 @@ in
       sources."posthtml-render-3.0.0"
       sources."prelude-ls-1.1.2"
       sources."psl-1.9.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       (sources."purgecss-5.0.0" // {
         dependencies = [
           sources."commander-9.5.0"
@@ -127755,7 +127498,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."tough-cookie-2.5.0"
       sources."tr46-1.0.1"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
@@ -127915,7 +127658,7 @@ in
       sources."gelf-stream-1.1.1"
       sources."gelfling-0.3.1"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."getpass-0.1.7"
       sources."glob-7.2.3"
       sources."graceful-fs-4.2.10"
@@ -127996,7 +127739,7 @@ in
       sources."proxy-addr-2.0.7"
       sources."prr-1.0.1"
       sources."psl-1.9.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.11.0"
       sources."range-parser-1.2.1"
       (sources."raw-body-2.5.1" // {
@@ -128267,7 +128010,7 @@ in
       sources."function-bind-1.1.1"
       sources."functions-have-names-1.2.3"
       sources."get-browser-rtc-1.1.0"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stdin-4.0.1"
       sources."glob-7.2.3"
       sources."graceful-fs-4.2.10"
@@ -128632,7 +128375,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."get-browser-rtc-1.1.0"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."getpass-0.1.7"
       sources."glob-7.2.3"
       sources."graceful-fs-4.2.10"
@@ -128750,7 +128493,7 @@ in
       sources."proxy-addr-2.0.7"
       sources."psl-1.9.0"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.11.0"
       sources."queue-microtask-1.2.3"
       sources."queue-tick-1.0.1"
@@ -129110,7 +128853,7 @@ in
       })
       sources."@pm2/pm2-version-check-1.0.4"
       sources."@tootallnate/once-1.1.2"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-walk-8.2.0"
       sources."agent-base-6.0.2"
       sources."amp-0.3.1"
@@ -129280,10 +129023,10 @@ in
       sources."string_decoder-0.10.31"
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."systeminformation-5.17.3"
+      sources."systeminformation-5.17.4"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.1"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."tv4-1.3.0"
       sources."tx2-1.0.5"
       sources."type-check-0.3.2"
@@ -129307,7 +129050,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Production process manager for Node.JS applications with a built-in load balancer.";
-      homepage = "https://pm2.keymetrics.io/";
+      homepage = "http://pm2.keymetrics.io/";
       license = "AGPL-3.0";
     };
     production = true;
@@ -129317,10 +129060,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "7.25.0";
+    version = "7.26.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-7.25.0.tgz";
-      sha512 = "FGFQUON8kJ6ma39elJ8lyD8wPIfgp3opGJD9sX0TgIJk4zSr556qCgC8AN+3BFHe4yuRkEauf4JVLW2RKyyEcA==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-7.26.1.tgz";
+      sha512 = "l86ZNy8RZmG2aDxZVk6+vt9c8aV0tMZICQxPksRQOL5r2n92kgaIauYSFUZ+LNmPJFsbSGKpsvgOF41oiS7JWw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -129399,24 +129142,24 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@swc/core-1.3.27"
-      sources."@swc/core-darwin-arm64-1.3.27"
-      sources."@swc/core-darwin-x64-1.3.27"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.27"
-      sources."@swc/core-linux-arm64-gnu-1.3.27"
-      sources."@swc/core-linux-arm64-musl-1.3.27"
-      sources."@swc/core-linux-x64-gnu-1.3.27"
-      sources."@swc/core-linux-x64-musl-1.3.27"
-      sources."@swc/core-win32-arm64-msvc-1.3.27"
-      sources."@swc/core-win32-ia32-msvc-1.3.27"
-      sources."@swc/core-win32-x64-msvc-1.3.27"
-      sources."@swc/wasm-1.3.27"
+      sources."@swc/core-1.3.29"
+      sources."@swc/core-darwin-arm64-1.3.29"
+      sources."@swc/core-darwin-x64-1.3.29"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.29"
+      sources."@swc/core-linux-arm64-gnu-1.3.29"
+      sources."@swc/core-linux-arm64-musl-1.3.29"
+      sources."@swc/core-linux-x64-gnu-1.3.29"
+      sources."@swc/core-linux-x64-musl-1.3.29"
+      sources."@swc/core-win32-arm64-msvc-1.3.29"
+      sources."@swc/core-win32-ia32-msvc-1.3.29"
+      sources."@swc/core-win32-x64-msvc-1.3.29"
+      sources."@swc/wasm-1.3.30"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
       sources."@tsconfig/node16-1.0.3"
       sources."@types/node-18.11.18"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-walk-8.2.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -129665,9 +129408,9 @@ in
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
       sources."@babel/code-frame-7.18.6"
-      sources."@babel/compat-data-7.20.10"
+      sources."@babel/compat-data-7.20.14"
       sources."@babel/core-7.20.12"
-      (sources."@babel/generator-7.20.7" // {
+      (sources."@babel/generator-7.20.14" // {
         dependencies = [
           sources."@jridgewell/gen-mapping-0.3.2"
         ];
@@ -129683,11 +129426,11 @@ in
       sources."@babel/helper-string-parser-7.19.4"
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/helper-validator-option-7.18.6"
-      sources."@babel/helpers-7.20.7"
+      sources."@babel/helpers-7.20.13"
       sources."@babel/highlight-7.18.6"
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@babel/template-7.20.7"
-      sources."@babel/traverse-7.20.12"
+      sources."@babel/traverse-7.20.13"
       sources."@babel/types-7.20.7"
       sources."@istanbuljs/load-nyc-config-1.1.0"
       sources."@istanbuljs/schema-0.1.3"
@@ -129709,7 +129452,7 @@ in
       sources."browserslist-4.21.4"
       sources."caching-transform-4.0.0"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."chalk-2.4.2"
       sources."clean-stack-2.2.0"
       sources."cliui-6.0.0"
@@ -130283,13 +130026,13 @@ in
       sources."follow-redirects-1.15.2"
       sources."fs-extra-10.1.0"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-4.1.0"
       sources."got-9.6.0"
       sources."graceful-fs-4.2.10"
       sources."has-1.0.3"
       sources."has-symbols-1.0.3"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."https-proxy-agent-5.0.1"
       sources."ini-1.3.8"
       sources."ip-2.0.0"
@@ -130307,7 +130050,7 @@ in
       sources."minimist-1.2.7"
       sources."moment-2.29.4"
       sources."ms-2.1.2"
-      sources."node-abort-controller-3.0.1"
+      sources."node-abort-controller-3.1.1"
       sources."normalize-url-4.5.1"
       sources."object-inspect-1.12.3"
       sources."once-1.4.0"
@@ -130355,10 +130098,10 @@ in
   pyright = nodeEnv.buildNodePackage {
     name = "pyright";
     packageName = "pyright";
-    version = "1.1.290";
+    version = "1.1.291";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.290.tgz";
-      sha512 = "iHT8G2+R/GUfYWxxd4ud5Lj/0H0bE1eWVR0avKKgPtkBeLkUz3sorjKpfuaJdsuJNrunzMtZsmYPD366t39klg==";
+      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.291.tgz";
+      sha512 = "wkSlCEhF1OwtJqHuifwxk76UMr1NPqsAbPIlCh7tiZx8VUdZs17NCGNorhyb2M+GFEvp8pod9Xyu1LXN1JL2kQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -130373,10 +130116,10 @@ in
   quicktype = nodeEnv.buildNodePackage {
     name = "quicktype";
     packageName = "quicktype";
-    version = "20.0.26";
+    version = "21.0.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/quicktype/-/quicktype-20.0.26.tgz";
-      sha512 = "q0pOSWfVgGEATW96fvbAOEe9od48EqMCGpv86XNt9aznVngdB4eJRyPK1Z0Jvl10/cWDze2bvzPT2b+LChSfAQ==";
+      url = "https://registry.npmjs.org/quicktype/-/quicktype-21.0.4.tgz";
+      sha512 = "zpmXft8rIemnKKA/aNmwUk21QY5GDRSNJegD3ESPBAVt1/V40lsZDF3h1oYqjYCawOjEpPOizYaxMMNhbVEL3w==";
     };
     dependencies = [
       sources."@cspotcode/source-map-support-0.8.1"
@@ -130385,18 +130128,18 @@ in
       sources."@jridgewell/sourcemap-codec-1.4.14"
       sources."@jridgewell/trace-mapping-0.3.9"
       sources."@mark.probst/typescript-json-schema-0.55.0"
-      sources."@swc/core-1.3.27"
-      sources."@swc/core-darwin-arm64-1.3.27"
-      sources."@swc/core-darwin-x64-1.3.27"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.27"
-      sources."@swc/core-linux-arm64-gnu-1.3.27"
-      sources."@swc/core-linux-arm64-musl-1.3.27"
-      sources."@swc/core-linux-x64-gnu-1.3.27"
-      sources."@swc/core-linux-x64-musl-1.3.27"
-      sources."@swc/core-win32-arm64-msvc-1.3.27"
-      sources."@swc/core-win32-ia32-msvc-1.3.27"
-      sources."@swc/core-win32-x64-msvc-1.3.27"
-      sources."@swc/wasm-1.3.27"
+      sources."@swc/core-1.3.30"
+      sources."@swc/core-darwin-arm64-1.3.30"
+      sources."@swc/core-darwin-x64-1.3.30"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.30"
+      sources."@swc/core-linux-arm64-gnu-1.3.30"
+      sources."@swc/core-linux-arm64-musl-1.3.30"
+      sources."@swc/core-linux-x64-gnu-1.3.30"
+      sources."@swc/core-linux-x64-musl-1.3.30"
+      sources."@swc/core-win32-arm64-msvc-1.3.30"
+      sources."@swc/core-win32-ia32-msvc-1.3.30"
+      sources."@swc/core-win32-x64-msvc-1.3.30"
+      sources."@swc/wasm-1.3.30"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
@@ -130405,7 +130148,7 @@ in
       sources."@types/node-16.18.11"
       sources."@types/urijs-1.19.19"
       sources."abort-controller-3.0.0"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-walk-8.2.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -130471,9 +130214,9 @@ in
       sources."path-is-absolute-1.0.1"
       sources."pluralize-8.0.0"
       sources."process-0.11.10"
-      sources."quicktype-core-20.0.26"
-      sources."quicktype-graphql-input-20.0.26"
-      sources."quicktype-typescript-input-20.0.26"
+      sources."quicktype-core-21.0.4"
+      sources."quicktype-graphql-input-21.0.4"
+      sources."quicktype-typescript-input-21.0.4"
       sources."readable-stream-4.3.0"
       sources."reduce-flatten-2.0.0"
       sources."require-directory-2.1.1"
@@ -130566,7 +130309,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."functions-have-names-1.2.3"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."glob-7.2.3"
       sources."gopd-1.0.1"
       sources."has-1.0.3"
@@ -130653,13 +130396,13 @@ in
       sources."@ampproject/remapping-2.2.0"
       sources."@babel/cli-7.20.7"
       sources."@babel/code-frame-7.18.6"
-      sources."@babel/compat-data-7.20.10"
+      sources."@babel/compat-data-7.20.14"
       (sources."@babel/core-7.20.12" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      (sources."@babel/generator-7.20.7" // {
+      (sources."@babel/generator-7.20.14" // {
         dependencies = [
           sources."@jridgewell/gen-mapping-0.3.2"
         ];
@@ -130696,9 +130439,9 @@ in
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/helper-validator-option-7.18.6"
       sources."@babel/helper-wrap-function-7.20.5"
-      sources."@babel/helpers-7.20.7"
+      sources."@babel/helpers-7.20.13"
       sources."@babel/highlight-7.18.6"
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6"
       sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7"
       sources."@babel/plugin-proposal-async-generator-functions-7.20.7"
@@ -130737,7 +130480,7 @@ in
       sources."@babel/plugin-transform-arrow-functions-7.20.7"
       sources."@babel/plugin-transform-async-to-generator-7.20.7"
       sources."@babel/plugin-transform-block-scoped-functions-7.18.6"
-      sources."@babel/plugin-transform-block-scoping-7.20.11"
+      sources."@babel/plugin-transform-block-scoping-7.20.14"
       sources."@babel/plugin-transform-classes-7.20.7"
       sources."@babel/plugin-transform-computed-properties-7.20.7"
       sources."@babel/plugin-transform-destructuring-7.20.7"
@@ -130758,7 +130501,7 @@ in
       sources."@babel/plugin-transform-parameters-7.20.7"
       sources."@babel/plugin-transform-property-literals-7.18.6"
       sources."@babel/plugin-transform-react-display-name-7.18.6"
-      sources."@babel/plugin-transform-react-jsx-7.20.7"
+      sources."@babel/plugin-transform-react-jsx-7.20.13"
       sources."@babel/plugin-transform-react-jsx-development-7.18.6"
       sources."@babel/plugin-transform-react-pure-annotations-7.18.6"
       sources."@babel/plugin-transform-regenerator-7.20.5"
@@ -130784,9 +130527,9 @@ in
       sources."@babel/preset-react-7.18.6"
       sources."@babel/preset-stage-0-7.8.3"
       sources."@babel/register-7.18.9"
-      sources."@babel/runtime-7.20.7"
+      sources."@babel/runtime-7.20.13"
       sources."@babel/template-7.20.7"
-      sources."@babel/traverse-7.20.12"
+      sources."@babel/traverse-7.20.13"
       sources."@babel/types-7.20.7"
       sources."@jridgewell/gen-mapping-0.1.1"
       sources."@jridgewell/resolve-uri-3.1.0"
@@ -130802,7 +130545,7 @@ in
       sources."@types/parse-json-4.0.0"
       sources."@types/prop-types-15.7.5"
       sources."@types/q-1.5.5"
-      sources."@types/react-17.0.52"
+      sources."@types/react-17.0.53"
       sources."@types/scheduler-0.16.2"
       sources."@webassemblyjs/ast-1.9.0"
       sources."@webassemblyjs/floating-point-hex-parser-1.9.0"
@@ -130871,7 +130614,7 @@ in
       })
       sources."assign-symbols-1.0.0"
       sources."async-2.6.4"
-      sources."async-each-1.0.3"
+      sources."async-each-1.0.4"
       sources."async-limiter-1.0.1"
       sources."atob-2.1.2"
       (sources."autoprefixer-9.8.8" // {
@@ -130989,7 +130732,7 @@ in
       sources."camel-case-3.0.0"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."case-sensitive-paths-webpack-plugin-2.4.0"
       sources."caw-2.0.1"
       sources."chalk-2.4.2"
@@ -131066,7 +130809,7 @@ in
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      sources."core-js-compat-3.27.1"
+      sources."core-js-compat-3.27.2"
       sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
       sources."cosmiconfig-6.0.0"
@@ -131366,7 +131109,7 @@ in
       sources."functions-have-names-1.2.3"
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-proxy-2.1.0"
       sources."get-stream-3.0.0"
       sources."get-symbol-description-1.0.0"
@@ -131907,7 +131650,7 @@ in
       })
       sources."pump-2.0.1"
       sources."pumpify-1.5.1"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."q-1.5.1"
       sources."qs-6.11.0"
       sources."query-string-5.1.1"
@@ -132506,10 +132249,10 @@ in
   readability-cli = nodeEnv.buildNodePackage {
     name = "readability-cli";
     packageName = "readability-cli";
-    version = "2.4.2";
+    version = "2.4.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/readability-cli/-/readability-cli-2.4.2.tgz";
-      sha512 = "dQ0EuULmLd65pa9H27xreYuQiNFerDQxI3weqPRHcuiFQnK0b4YNhcZHZw7w3a0YYpXVlcP6bKK/BaiUUuqBoQ==";
+      url = "https://registry.npmjs.org/readability-cli/-/readability-cli-2.4.4.tgz";
+      sha512 = "KNVRUT4JKrnNCkD4IuMm9zU5bkFc699lue7xT66lIhjXTARwKlBRwiSZYgx7mCKC/Zj40dw89UULFAyihnXLXQ==";
     };
     dependencies = [
       sources."@mapbox/node-pre-gyp-1.0.10"
@@ -132517,7 +132260,7 @@ in
       sources."@tootallnate/once-2.0.0"
       sources."abab-2.0.6"
       sources."abbrev-1.1.1"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -132629,7 +132372,7 @@ in
       sources."path-is-absolute-1.0.1"
       sources."prelude-ls-1.1.2"
       sources."psl-1.9.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."querystringify-2.2.0"
       sources."readable-stream-3.6.0"
       sources."require-directory-2.1.1"
@@ -132654,7 +132397,7 @@ in
       sources."type-check-0.3.2"
       sources."universalify-0.2.0"
       sources."url-parse-1.5.10"
-      sources."utf-8-validate-6.0.0"
+      sources."utf-8-validate-6.0.2"
       sources."util-deprecate-1.0.2"
       sources."w3c-hr-time-1.0.2"
       sources."w3c-xmlserializer-3.0.0"
@@ -132694,7 +132437,7 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.18.6"
-      sources."@babel/generator-7.20.7"
+      sources."@babel/generator-7.20.14"
       sources."@babel/helper-annotate-as-pure-7.18.6"
       sources."@babel/helper-environment-visitor-7.18.9"
       sources."@babel/helper-function-name-7.19.0"
@@ -132704,10 +132447,10 @@ in
       sources."@babel/helper-string-parser-7.19.4"
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/highlight-7.18.6"
-      sources."@babel/parser-7.20.7"
-      sources."@babel/runtime-7.20.7"
+      sources."@babel/parser-7.20.13"
+      sources."@babel/runtime-7.20.13"
       sources."@babel/template-7.20.7"
-      sources."@babel/traverse-7.20.12"
+      sources."@babel/traverse-7.20.13"
       sources."@babel/types-7.20.7"
       sources."@emotion/is-prop-valid-1.2.0"
       sources."@emotion/memoize-0.8.0"
@@ -132721,7 +132464,7 @@ in
       sources."@jridgewell/sourcemap-codec-1.4.14"
       sources."@jridgewell/trace-mapping-0.3.17"
       sources."@redocly/ajv-8.11.0"
-      sources."@redocly/openapi-core-1.0.0-beta.120"
+      sources."@redocly/openapi-core-1.0.0-beta.122"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/eslint-8.4.10"
@@ -132746,7 +132489,7 @@ in
       sources."@webassemblyjs/wast-printer-1.11.1"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-import-assertions-1.8.0"
       (sources."ajv-6.12.6" // {
         dependencies = [
@@ -132816,7 +132559,7 @@ in
       sources."call-me-maybe-1.0.2"
       sources."camelcase-6.3.0"
       sources."camelize-1.0.1"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       (sources."chalk-2.4.2" // {
         dependencies = [
           sources."has-flag-3.0.0"
@@ -132839,7 +132582,7 @@ in
       sources."configstore-5.0.1"
       sources."console-browserify-1.2.0"
       sources."constants-browserify-1.0.0"
-      sources."core-js-3.27.1"
+      sources."core-js-3.27.2"
       sources."core-util-is-1.0.3"
       (sources."create-ecdh-4.0.4" // {
         dependencies = [
@@ -132923,7 +132666,7 @@ in
       })
       sources."hmac-drbg-1.0.1"
       sources."hoist-non-react-statics-3.3.2"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http2-client-1.3.5"
       sources."https-browserify-1.0.0"
       sources."iconv-lite-0.6.3"
@@ -133136,7 +132879,7 @@ in
       })
       (sources."uri-js-4.4.1" // {
         dependencies = [
-          sources."punycode-2.2.0"
+          sources."punycode-2.3.0"
         ];
       })
       (sources."url-0.11.0" // {
@@ -133198,7 +132941,7 @@ in
     };
     dependencies = [
       sources."@types/prop-types-15.7.5"
-      sources."@types/react-18.0.26"
+      sources."@types/react-18.0.27"
       sources."@types/scheduler-0.16.2"
       sources."@types/yoga-layout-1.9.2"
       sources."ansi-escapes-4.3.2"
@@ -133456,7 +133199,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-4.1.0"
       sources."glob-8.0.3"
       sources."glob-parent-5.1.2"
@@ -133468,7 +133211,7 @@ in
       sources."has-symbols-1.0.3"
       sources."has-yarn-2.1.0"
       sources."highlight.js-11.7.0"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-errors-2.0.0"
       (sources."https-proxy-agent-2.2.4" // {
         dependencies = [
@@ -133662,10 +133405,10 @@ in
   rimraf = nodeEnv.buildNodePackage {
     name = "rimraf";
     packageName = "rimraf";
-    version = "4.1.1";
+    version = "4.1.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/rimraf/-/rimraf-4.1.1.tgz";
-      sha512 = "Z4Y81w8atcvaJuJuBB88VpADRH66okZAuEm+Jtaufa+s7rZmIz+Hik2G53kGaNytE7lsfXyWktTmfVz0H9xuDg==";
+      url = "https://registry.npmjs.org/rimraf/-/rimraf-4.1.2.tgz";
+      sha512 = "BlIbgFryTbw3Dz6hyoWFhKk+unCcHMSkZGrTFVAx2WmttdBSonsdtRlwiuTbDqTKr+UlXIUqJVS4QT5tUzGENQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -133680,10 +133423,10 @@ in
   rollup = nodeEnv.buildNodePackage {
     name = "rollup";
     packageName = "rollup";
-    version = "3.10.0";
+    version = "3.12.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/rollup/-/rollup-3.10.0.tgz";
-      sha512 = "JmRYz44NjC1MjVF2VKxc0M1a97vn+cDxeqWmnwyAF4FvpjK8YFdHpaqvQB+3IxCvX05vJxKZkoMDU8TShhmJVA==";
+      url = "https://registry.npmjs.org/rollup/-/rollup-3.12.0.tgz";
+      sha512 = "4MZ8kA2HNYahIjz63rzrMMRvDqQDeS9LoriJvMuV0V6zIGysP36e9t4yObUfwdT9h/szXoHQideICftcdZklWg==";
     };
     dependencies = [
       sources."fsevents-2.3.2"
@@ -133717,16 +133460,16 @@ in
       sources."@types/node-14.17.34"
       sources."@types/semver-7.3.13"
       sources."@types/vscode-1.66.0"
-      sources."@typescript-eslint/eslint-plugin-5.48.2"
-      sources."@typescript-eslint/parser-5.48.2"
-      sources."@typescript-eslint/scope-manager-5.48.2"
-      sources."@typescript-eslint/type-utils-5.48.2"
-      sources."@typescript-eslint/types-5.48.2"
-      sources."@typescript-eslint/typescript-estree-5.48.2"
-      sources."@typescript-eslint/utils-5.48.2"
-      sources."@typescript-eslint/visitor-keys-5.48.2"
+      sources."@typescript-eslint/eslint-plugin-5.49.0"
+      sources."@typescript-eslint/parser-5.49.0"
+      sources."@typescript-eslint/scope-manager-5.49.0"
+      sources."@typescript-eslint/type-utils-5.49.0"
+      sources."@typescript-eslint/types-5.49.0"
+      sources."@typescript-eslint/typescript-estree-5.49.0"
+      sources."@typescript-eslint/utils-5.49.0"
+      sources."@typescript-eslint/visitor-keys-5.49.0"
       sources."@vscode/test-electron-2.2.2"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-jsx-5.3.2"
       sources."agent-base-6.0.2"
       sources."ajv-6.12.6"
@@ -133770,8 +133513,8 @@ in
       sources."cross-spawn-7.0.3"
       sources."css-select-5.1.0"
       sources."css-what-6.1.0"
-      sources."d3-7.8.1"
-      sources."d3-array-3.2.1"
+      sources."d3-7.8.2"
+      sources."d3-array-3.2.2"
       sources."d3-axis-3.0.0"
       sources."d3-brush-3.0.0"
       sources."d3-chord-3.0.1"
@@ -133890,11 +133633,11 @@ in
       })
       sources."function-bind-1.1.1"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."github-from-package-0.0.0"
       sources."glob-7.2.3"
       sources."glob-parent-5.1.2"
-      sources."globals-13.19.0"
+      sources."globals-13.20.0"
       sources."globby-11.1.0"
       sources."graceful-fs-4.2.10"
       sources."grapheme-splitter-1.0.4"
@@ -133921,7 +133664,7 @@ in
       sources."is-path-inside-3.0.3"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
-      sources."js-sdsl-4.2.0"
+      sources."js-sdsl-4.3.0"
       sources."js-yaml-4.1.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
@@ -133979,7 +133722,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."pseudomap-1.0.2"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.11.0"
       sources."queue-microtask-1.2.3"
       (sources."rc-1.2.8" // {
@@ -134024,7 +133767,7 @@ in
       sources."tmp-0.2.1"
       sources."to-regex-range-5.0.1"
       sources."traverse-0.3.9"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       (sources."tsutils-3.21.0" // {
         dependencies = [
           sources."tslib-1.14.1"
@@ -134156,7 +133899,7 @@ in
       sources."formidable-1.0.11"
       sources."fresh-0.2.0"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."has-1.0.3"
       sources."has-symbols-1.0.3"
       sources."http-auth-2.0.7"
@@ -134265,13 +134008,13 @@ in
   serve = nodeEnv.buildNodePackage {
     name = "serve";
     packageName = "serve";
-    version = "14.1.2";
+    version = "14.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serve/-/serve-14.1.2.tgz";
-      sha512 = "luwVfJwbeE7dhCKeRU0vIBpt4bXdbAfzwsWJIQ5eqrIW2e+4nLWXbSlZ0WzelSFHQq+FlueOW6dr90jEewS9zw==";
+      url = "https://registry.npmjs.org/serve/-/serve-14.2.0.tgz";
+      sha512 = "+HOw/XK1bW8tw5iBilBz/mJLWRzM8XM6MPxL4J/dKzdxq1vfdEWSwhaR7/yS8EJp5wzvP92p1qirysJvnEtjXg==";
     };
     dependencies = [
-      sources."@zeit/schemas-2.21.0"
+      sources."@zeit/schemas-2.29.0"
       sources."accepts-1.3.8"
       sources."ajv-8.11.0"
       (sources."ansi-align-3.0.1" // {
@@ -134340,7 +134083,7 @@ in
       sources."path-is-inside-1.0.2"
       sources."path-key-3.1.1"
       sources."path-to-regexp-2.2.1"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."range-parser-1.2.0"
       sources."rc-1.2.8"
       sources."registry-auth-token-3.3.2"
@@ -134373,7 +134116,7 @@ in
       sources."vary-1.1.2"
       sources."which-2.0.2"
       sources."widest-line-4.0.1"
-      (sources."wrap-ansi-8.0.1" // {
+      (sources."wrap-ansi-8.1.0" // {
         dependencies = [
           sources."ansi-regex-6.0.1"
           sources."strip-ansi-7.0.1"
@@ -134393,10 +134136,10 @@ in
   serverless = nodeEnv.buildNodePackage {
     name = "serverless";
     packageName = "serverless";
-    version = "3.26.0";
+    version = "3.27.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serverless/-/serverless-3.26.0.tgz";
-      sha512 = "drVr4akkQwm2Pj7ZN9boh5PoI2nKvlXmy+Cb8Hh1Zv8ybsf47ZUQE6t7dakGA4irYf4SQCbVc72nKqISfarMCQ==";
+      url = "https://registry.npmjs.org/serverless/-/serverless-3.27.0.tgz";
+      sha512 = "+8EDo7x8IJxTj4KqQG71qpX7oq+EZy0NGm/04q3M5jK7L8rLowEtnzq82s93yeNSgmJSMopd3pTzuH9CCWkNMw==";
     };
     dependencies = [
       sources."2-thenable-1.0.0"
@@ -134405,7 +134148,7 @@ in
       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-6.2.2" // {
+      (sources."@serverless/dashboard-plugin-6.2.3" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."open-7.4.2"
@@ -134459,7 +134202,7 @@ in
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
       sources."available-typed-arrays-1.0.5"
-      (sources."aws-sdk-2.1296.0" // {
+      (sources."aws-sdk-2.1304.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -134652,7 +134395,7 @@ in
       sources."fs2-0.3.9"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stdin-8.0.0"
       sources."get-stream-6.0.1"
       sources."glob-7.2.3"
@@ -134667,7 +134410,7 @@ in
       sources."has-symbols-1.0.3"
       sources."has-tostringtag-1.0.0"
       sources."hexoid-1.0.0"
-      sources."http-cache-semantics-4.1.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"
@@ -134793,7 +134536,7 @@ in
       sources."process-utils-4.0.0"
       sources."promise-queue-2.2.5"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.11.0"
       sources."querystring-0.2.1"
       sources."queue-microtask-1.2.3"
@@ -134874,7 +134617,7 @@ in
       sources."tr46-0.0.3"
       sources."traverse-0.6.7"
       sources."trim-repeated-1.0.0"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."type-2.7.2"
       sources."type-fest-0.21.3"
       sources."unbzip2-stream-1.4.3"
@@ -135013,7 +134756,7 @@ in
       sources."fresh-0.5.2"
       sources."from-0.1.7"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."getpass-0.1.7"
       sources."global-https://github.com/component/global/archive/v2.0.1.tar.gz"
       sources."har-schema-2.0.0"
@@ -135074,7 +134817,7 @@ in
       sources."performance-now-2.1.0"
       sources."proxy-addr-2.0.7"
       sources."psl-1.9.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.11.0"
       sources."range-parser-1.2.1"
       sources."raw-body-2.5.1"
@@ -135560,10 +135303,10 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.1087.0";
+    version = "1.1091.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.1087.0.tgz";
-      sha512 = "4Ap2O59+qHCKmzeJu0Kq6S74M409UwRer3ss3wLCNO7vwj8hpfi4wvA+bZc8ywwKv028X9nLhw8hzcJ7bmsavQ==";
+      url = "https://registry.npmjs.org/snyk/-/snyk-1.1091.0.tgz";
+      sha512 = "NUofOS3cf4KoT0V3vS1NDC86eG86L29SIno8yIMiVvW7azOxw/IgO09oUhKzFUMXixzU0I9z6Ja+Uv0JsrMQnw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -135602,7 +135345,7 @@ in
       sources."node-gyp-build-4.6.0"
       sources."object-assign-4.1.1"
       sources."socket.io-adapter-2.4.0"
-      sources."socket.io-parser-4.2.1"
+      sources."socket.io-parser-4.2.2"
       sources."utf-8-validate-5.0.10"
       sources."vary-1.1.2"
       sources."ws-8.2.3"
@@ -135758,7 +135501,7 @@ in
       sources."util-deprecate-1.0.2"
       sources."validate-npm-package-license-3.0.4"
       sources."wcwidth-1.0.1"
-      (sources."wrap-ansi-8.0.1" // {
+      (sources."wrap-ansi-8.1.0" // {
         dependencies = [
           sources."ansi-styles-6.2.1"
         ];
@@ -135782,10 +135525,10 @@ in
   sql-formatter = nodeEnv.buildNodePackage {
     name = "sql-formatter";
     packageName = "sql-formatter";
-    version = "12.0.5";
+    version = "12.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/sql-formatter/-/sql-formatter-12.0.5.tgz";
-      sha512 = "nKils1bIf99WyDqr7252W6NhHjgJoL2mw7bvWb79uDzVd1xZceZ8zyy05behD92+xJIUzEibNMXwTuDFMwrHyg==";
+      url = "https://registry.npmjs.org/sql-formatter/-/sql-formatter-12.1.0.tgz";
+      sha512 = "XwbFwdes2SuETEj/a0WY2MjweFFzgn5phDum4WOdWjk+aay84xXPUl9BzevB89PLykx+4d9GRdXRaiY1VHzytg==";
     };
     dependencies = [
       sources."argparse-2.0.1"
@@ -135842,7 +135585,7 @@ in
           sources."push-stream-11.2.0"
         ];
       })
-      sources."async-each-1.0.3"
+      sources."async-each-1.0.4"
       sources."async-single-1.0.5"
       sources."async-write-2.1.0"
       sources."atob-2.1.2"
@@ -136047,7 +135790,7 @@ in
       sources."function-bind-1.1.1"
       sources."function.prototype.name-1.1.5"
       sources."functions-have-names-1.2.3"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-symbol-description-1.0.0"
       sources."get-value-2.0.6"
       sources."glob-6.0.4"
@@ -136856,7 +136599,7 @@ in
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
       sources."available-typed-arrays-1.0.5"
-      (sources."aws-sdk-2.1296.0" // {
+      (sources."aws-sdk-2.1304.0" // {
         dependencies = [
           sources."uuid-8.0.0"
         ];
@@ -137065,7 +136808,7 @@ in
       sources."generate-function-2.3.1"
       sources."generate-object-property-1.2.0"
       sources."get-caller-file-1.0.3"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-4.1.0"
       (sources."getpass-0.1.7" // {
         dependencies = [
@@ -137153,7 +136896,7 @@ in
         dependencies = [
           sources."esprima-4.0.1"
           sources."js-yaml-3.14.1"
-          sources."punycode-2.2.0"
+          sources."punycode-2.3.0"
           sources."uri-js-3.0.2"
         ];
       })
@@ -137362,7 +137105,7 @@ in
           sources."har-validator-5.1.5"
           sources."http-signature-1.2.0"
           sources."oauth-sign-0.9.0"
-          sources."punycode-2.2.0"
+          sources."punycode-2.3.0"
           sources."qs-6.5.3"
           sources."tough-cookie-2.5.0"
           sources."tunnel-agent-0.6.0"
@@ -137540,7 +137283,7 @@ in
       sources."unpipe-1.0.0"
       (sources."uri-js-4.4.1" // {
         dependencies = [
-          sources."punycode-2.2.0"
+          sources."punycode-2.3.0"
         ];
       })
       (sources."url-0.10.3" // {
@@ -137664,7 +137407,7 @@ in
       sources."@babel/code-frame-7.18.6"
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/highlight-7.18.6"
-      sources."@csstools/selector-specificity-2.0.2"
+      sources."@csstools/selector-specificity-2.1.1"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -137788,7 +137531,7 @@ in
       sources."postcss-safe-parser-6.0.0"
       sources."postcss-selector-parser-6.0.11"
       sources."postcss-value-parser-4.2.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."queue-microtask-1.2.3"
       sources."quick-lru-4.0.1"
       (sources."read-pkg-5.2.0" // {
@@ -137960,7 +137703,7 @@ in
       sources."performance-now-2.1.0"
       sources."progress-1.1.8"
       sources."psl-1.9.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.5.3"
       sources."read-1.0.5"
       sources."request-2.88.2"
@@ -138004,17 +137747,17 @@ in
   svelte-check = nodeEnv.buildNodePackage {
     name = "svelte-check";
     packageName = "svelte-check";
-    version = "3.0.2";
+    version = "3.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/svelte-check/-/svelte-check-3.0.2.tgz";
-      sha512 = "DkhKhV0Jt0gh7q9DBB26+J2Vfb9y4/4JWxnbkXBZha7542LOhwvj3edJFjyJ+xjdaXyInZ+YRRYc3V6wytP2ew==";
+      url = "https://registry.npmjs.org/svelte-check/-/svelte-check-3.0.3.tgz";
+      sha512 = "ByBFXo3bfHRGIsYEasHkdMhLkNleVfszX/Ns1oip58tPJlKdo5Ssr8kgVIuo5oq00hss8AIcdesuy0Xt0BcTvg==";
     };
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
       sources."@babel/code-frame-7.18.6"
-      sources."@babel/compat-data-7.20.10"
+      sources."@babel/compat-data-7.20.14"
       sources."@babel/core-7.20.12"
-      (sources."@babel/generator-7.20.7" // {
+      (sources."@babel/generator-7.20.14" // {
         dependencies = [
           sources."@jridgewell/gen-mapping-0.3.2"
         ];
@@ -138030,11 +137773,11 @@ in
       sources."@babel/helper-string-parser-7.19.4"
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/helper-validator-option-7.18.6"
-      sources."@babel/helpers-7.20.7"
+      sources."@babel/helpers-7.20.13"
       sources."@babel/highlight-7.18.6"
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@babel/template-7.20.7"
-      sources."@babel/traverse-7.20.12"
+      sources."@babel/traverse-7.20.13"
       sources."@babel/types-7.20.7"
       (sources."@cspotcode/source-map-support-0.8.1" // {
         dependencies = [
@@ -138049,18 +137792,18 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@swc/core-1.3.27"
-      sources."@swc/core-darwin-arm64-1.3.27"
-      sources."@swc/core-darwin-x64-1.3.27"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.27"
-      sources."@swc/core-linux-arm64-gnu-1.3.27"
-      sources."@swc/core-linux-arm64-musl-1.3.27"
-      sources."@swc/core-linux-x64-gnu-1.3.27"
-      sources."@swc/core-linux-x64-musl-1.3.27"
-      sources."@swc/core-win32-arm64-msvc-1.3.27"
-      sources."@swc/core-win32-ia32-msvc-1.3.27"
-      sources."@swc/core-win32-x64-msvc-1.3.27"
-      sources."@swc/wasm-1.3.27"
+      sources."@swc/core-1.3.30"
+      sources."@swc/core-darwin-arm64-1.3.30"
+      sources."@swc/core-darwin-x64-1.3.30"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.30"
+      sources."@swc/core-linux-arm64-gnu-1.3.30"
+      sources."@swc/core-linux-arm64-musl-1.3.30"
+      sources."@swc/core-linux-x64-gnu-1.3.30"
+      sources."@swc/core-linux-x64-musl-1.3.30"
+      sources."@swc/core-win32-arm64-msvc-1.3.30"
+      sources."@swc/core-win32-ia32-msvc-1.3.30"
+      sources."@swc/core-win32-x64-msvc-1.3.30"
+      sources."@swc/wasm-1.3.30"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
@@ -138068,7 +137811,7 @@ in
       sources."@types/node-18.11.18"
       sources."@types/pug-2.0.6"
       sources."@types/sass-1.43.1"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-walk-8.2.0"
       sources."ansi-styles-3.2.1"
       sources."anymatch-3.1.3"
@@ -138085,7 +137828,7 @@ in
       sources."buffer-crc32-0.2.13"
       sources."call-bind-1.0.2"
       sources."callsites-3.1.0"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."chalk-2.4.2"
       sources."character-parser-2.2.0"
       sources."chokidar-3.5.3"
@@ -138115,7 +137858,7 @@ in
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
       sources."gensync-1.0.0-beta.2"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."glob-7.2.3"
       sources."glob-parent-5.1.2"
       sources."globals-11.12.0"
@@ -138213,11 +137956,10 @@ in
       sources."sass-1.57.1"
       sources."sax-1.2.4"
       sources."semver-6.3.0"
-      sources."sorcery-0.10.0"
+      sources."sorcery-0.11.0"
       sources."source-map-0.6.1"
       sources."source-map-js-1.0.2"
       sources."source-map-resolve-0.6.0"
-      sources."sourcemap-codec-1.4.8"
       sources."strip-indent-3.0.0"
       (sources."stylus-0.55.0" // {
         dependencies = [
@@ -138231,12 +137973,12 @@ in
       sources."supports-color-5.5.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
       sources."svelte-3.55.1"
-      sources."svelte-preprocess-5.0.0"
+      sources."svelte-preprocess-5.0.1"
       sources."to-fast-properties-2.0.0"
       sources."to-regex-range-5.0.1"
       sources."token-stream-1.0.0"
       sources."ts-node-10.9.1"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."typescript-4.9.4"
       sources."update-browserslist-db-1.0.10"
       sources."v8-compile-cache-lib-3.0.1"
@@ -138260,17 +138002,17 @@ in
   svelte-language-server = nodeEnv.buildNodePackage {
     name = "svelte-language-server";
     packageName = "svelte-language-server";
-    version = "0.15.2";
+    version = "0.15.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/svelte-language-server/-/svelte-language-server-0.15.2.tgz";
-      sha512 = "U8V3ZBx6IQbTfCkyf1Hss+xNmDTJJ2KyLLo7hv+JxBJpqZzBdfWkyJpCTrvN9FP10X4LFKbb3vIl558fKl9Meg==";
+      url = "https://registry.npmjs.org/svelte-language-server/-/svelte-language-server-0.15.3.tgz";
+      sha512 = "HwPvDZGMCSBkdRD0cfEBTPfy5F3qxqcYNIyMrD0zUH9FoWy7gpEpUZVbCTZ7d5QQVst9rgNdGhzfd+O/s+3b8g==";
     };
     dependencies = [
       sources."@ampproject/remapping-2.2.0"
       sources."@babel/code-frame-7.18.6"
-      sources."@babel/compat-data-7.20.10"
+      sources."@babel/compat-data-7.20.14"
       sources."@babel/core-7.20.12"
-      (sources."@babel/generator-7.20.7" // {
+      (sources."@babel/generator-7.20.14" // {
         dependencies = [
           sources."@jridgewell/gen-mapping-0.3.2"
         ];
@@ -138286,11 +138028,11 @@ in
       sources."@babel/helper-string-parser-7.19.4"
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/helper-validator-option-7.18.6"
-      sources."@babel/helpers-7.20.7"
+      sources."@babel/helpers-7.20.13"
       sources."@babel/highlight-7.18.6"
-      sources."@babel/parser-7.20.7"
+      sources."@babel/parser-7.20.13"
       sources."@babel/template-7.20.7"
-      sources."@babel/traverse-7.20.12"
+      sources."@babel/traverse-7.20.13"
       sources."@babel/types-7.20.7"
       (sources."@cspotcode/source-map-support-0.8.1" // {
         dependencies = [
@@ -138308,18 +138050,18 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@swc/core-1.3.27"
-      sources."@swc/core-darwin-arm64-1.3.27"
-      sources."@swc/core-darwin-x64-1.3.27"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.27"
-      sources."@swc/core-linux-arm64-gnu-1.3.27"
-      sources."@swc/core-linux-arm64-musl-1.3.27"
-      sources."@swc/core-linux-x64-gnu-1.3.27"
-      sources."@swc/core-linux-x64-musl-1.3.27"
-      sources."@swc/core-win32-arm64-msvc-1.3.27"
-      sources."@swc/core-win32-ia32-msvc-1.3.27"
-      sources."@swc/core-win32-x64-msvc-1.3.27"
-      sources."@swc/wasm-1.3.27"
+      sources."@swc/core-1.3.30"
+      sources."@swc/core-darwin-arm64-1.3.30"
+      sources."@swc/core-darwin-x64-1.3.30"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.30"
+      sources."@swc/core-linux-arm64-gnu-1.3.30"
+      sources."@swc/core-linux-arm64-musl-1.3.30"
+      sources."@swc/core-linux-x64-gnu-1.3.30"
+      sources."@swc/core-linux-x64-musl-1.3.30"
+      sources."@swc/core-win32-arm64-msvc-1.3.30"
+      sources."@swc/core-win32-ia32-msvc-1.3.30"
+      sources."@swc/core-win32-x64-msvc-1.3.30"
+      sources."@swc/wasm-1.3.30"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
@@ -138332,8 +138074,8 @@ in
           sources."vscode-uri-2.1.2"
         ];
       })
-      sources."@vscode/l10n-0.0.10"
-      sources."acorn-8.8.1"
+      sources."@vscode/l10n-0.0.11"
+      sources."acorn-8.8.2"
       sources."acorn-walk-8.2.0"
       sources."ansi-styles-3.2.1"
       sources."anymatch-3.1.3"
@@ -138349,7 +138091,7 @@ in
       sources."browserslist-4.21.4"
       sources."buffer-crc32-0.2.13"
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."chalk-2.4.2"
       sources."character-parser-2.2.0"
       sources."chokidar-3.5.3"
@@ -138382,7 +138124,7 @@ in
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
       sources."gensync-1.0.0-beta.2"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."glob-7.2.3"
       sources."glob-parent-5.1.2"
       sources."globals-11.12.0"
@@ -138482,11 +138224,10 @@ in
       sources."sass-1.57.1"
       sources."sax-1.2.4"
       sources."semver-6.3.0"
-      sources."sorcery-0.10.0"
+      sources."sorcery-0.11.0"
       sources."source-map-0.6.1"
       sources."source-map-js-1.0.2"
       sources."source-map-resolve-0.6.0"
-      sources."sourcemap-codec-1.4.8"
       sources."strip-indent-3.0.0"
       (sources."stylus-0.55.0" // {
         dependencies = [
@@ -138500,19 +138241,19 @@ in
       sources."supports-color-5.5.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
       sources."svelte-3.55.1"
-      sources."svelte-preprocess-5.0.0"
+      sources."svelte-preprocess-5.0.1"
       sources."svelte2tsx-0.6.0"
       sources."to-fast-properties-2.0.0"
       sources."to-regex-range-5.0.1"
       sources."token-stream-1.0.0"
       sources."ts-node-10.9.1"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."typescript-4.9.4"
       sources."update-browserslist-db-1.0.10"
       sources."v8-compile-cache-lib-3.0.1"
       sources."void-elements-3.1.0"
-      sources."vscode-css-languageservice-6.2.1"
-      sources."vscode-html-languageservice-5.0.3"
+      sources."vscode-css-languageservice-6.2.3"
+      sources."vscode-html-languageservice-5.0.4"
       sources."vscode-jsonrpc-8.0.2"
       sources."vscode-languageserver-8.0.2"
       sources."vscode-languageserver-protocol-3.17.2"
@@ -138605,7 +138346,7 @@ in
       sources."asap-2.0.6"
       sources."assign-symbols-1.0.0"
       sources."async-1.5.2"
-      sources."async-each-1.0.3"
+      sources."async-each-1.0.4"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
       sources."balanced-match-1.0.2"
@@ -138780,7 +138521,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."fsevents-1.2.13"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-3.0.0"
       sources."get-value-2.0.6"
       sources."glob-7.2.3"
@@ -139014,7 +138755,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."pseudomap-1.0.2"
       sources."pstree.remy-1.1.8"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-4.0.0"
       sources."range-parser-1.2.1"
       (sources."raw-body-2.0.2" // {
@@ -139251,18 +138992,18 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@swc/core-1.3.27"
-      sources."@swc/core-darwin-arm64-1.3.27"
-      sources."@swc/core-darwin-x64-1.3.27"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.27"
-      sources."@swc/core-linux-arm64-gnu-1.3.27"
-      sources."@swc/core-linux-arm64-musl-1.3.27"
-      sources."@swc/core-linux-x64-gnu-1.3.27"
-      sources."@swc/core-linux-x64-musl-1.3.27"
-      sources."@swc/core-win32-arm64-msvc-1.3.27"
-      sources."@swc/core-win32-ia32-msvc-1.3.27"
-      sources."@swc/core-win32-x64-msvc-1.3.27"
-      sources."@swc/wasm-1.3.27"
+      sources."@swc/core-1.3.30"
+      sources."@swc/core-darwin-arm64-1.3.30"
+      sources."@swc/core-darwin-x64-1.3.30"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.30"
+      sources."@swc/core-linux-arm64-gnu-1.3.30"
+      sources."@swc/core-linux-arm64-musl-1.3.30"
+      sources."@swc/core-linux-x64-gnu-1.3.30"
+      sources."@swc/core-linux-x64-musl-1.3.30"
+      sources."@swc/core-win32-arm64-msvc-1.3.30"
+      sources."@swc/core-win32-ia32-msvc-1.3.30"
+      sources."@swc/core-win32-x64-msvc-1.3.30"
+      sources."@swc/wasm-1.3.30"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
@@ -139336,7 +139077,7 @@ in
       sources."to-regex-range-5.0.1"
       (sources."ts-node-10.9.1" // {
         dependencies = [
-          sources."acorn-8.8.1"
+          sources."acorn-8.8.2"
           sources."acorn-walk-8.2.0"
           sources."arg-4.1.3"
         ];
@@ -139510,7 +139251,7 @@ in
       sources."prism-media-0.0.4"
       sources."process-nextick-args-2.0.1"
       sources."psl-1.9.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.5.3"
       sources."ramda-0.25.0"
       sources."rc-1.2.8"
@@ -139698,7 +139439,7 @@ in
       sources."@jridgewell/source-map-0.3.2"
       sources."@jridgewell/sourcemap-codec-1.4.14"
       sources."@jridgewell/trace-mapping-0.3.17"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."buffer-from-1.1.2"
       sources."commander-2.20.3"
       sources."source-map-0.6.1"
@@ -139717,51 +139458,41 @@ in
   textlint = nodeEnv.buildNodePackage {
     name = "textlint";
     packageName = "textlint";
-    version = "12.5.1";
+    version = "13.0.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/textlint/-/textlint-12.5.1.tgz";
-      sha512 = "LoFU1yBIm/gxM++jDdvdfS2diW14NBHsimRyChi8Kb5h5pUHcG0rGfW2PflUzfYcHF0XykgW9WBdPd1WWnyS7Q==";
+      url = "https://registry.npmjs.org/textlint/-/textlint-13.0.4.tgz";
+      sha512 = "XBPK+cRMYLY3NodKoCFMncmVJRk59S+aSgkwpdNnV8VXFo1hF0EEysbwEp9s8ov0LhVO8flfd51/L+VlUFeTlg==";
     };
     dependencies = [
       sources."@azu/format-text-1.0.1"
       sources."@azu/style-format-1.0.0"
-      sources."@textlint/ast-node-types-12.3.0"
-      sources."@textlint/ast-tester-12.5.0"
-      sources."@textlint/ast-traverse-12.5.0"
-      (sources."@textlint/config-loader-12.5.0" // {
-        dependencies = [
-          sources."rc-config-loader-4.1.2"
-        ];
-      })
-      sources."@textlint/feature-flag-12.5.0"
-      sources."@textlint/fixer-formatter-12.5.1"
-      sources."@textlint/kernel-12.5.0"
-      (sources."@textlint/linter-formatter-12.5.0" // {
-        dependencies = [
-          sources."argparse-1.0.10"
-          sources."js-yaml-3.14.1"
-        ];
-      })
-      sources."@textlint/markdown-to-ast-12.5.0"
-      sources."@textlint/module-interop-12.5.0"
-      sources."@textlint/source-code-fixer-12.5.0"
-      sources."@textlint/text-to-ast-12.5.0"
-      sources."@textlint/textlint-plugin-markdown-12.5.0"
-      sources."@textlint/textlint-plugin-text-12.5.0"
-      sources."@textlint/types-12.5.0"
-      sources."@textlint/utils-12.5.0"
+      sources."@textlint/ast-node-types-13.0.4"
+      sources."@textlint/ast-tester-13.0.4"
+      sources."@textlint/ast-traverse-13.0.4"
+      sources."@textlint/config-loader-13.0.4"
+      sources."@textlint/feature-flag-13.0.4"
+      sources."@textlint/fixer-formatter-13.0.4"
+      sources."@textlint/kernel-13.0.4"
+      sources."@textlint/linter-formatter-13.0.4"
+      sources."@textlint/markdown-to-ast-13.0.4"
+      sources."@textlint/module-interop-13.0.4"
+      sources."@textlint/source-code-fixer-13.0.4"
+      sources."@textlint/text-to-ast-13.0.4"
+      sources."@textlint/textlint-plugin-markdown-13.0.4"
+      sources."@textlint/textlint-plugin-text-13.0.4"
+      sources."@textlint/types-13.0.4"
+      sources."@textlint/utils-13.0.4"
       sources."@types/mdast-3.0.10"
       sources."@types/unist-2.0.6"
       sources."ajv-8.12.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
-      sources."argparse-2.0.1"
+      sources."argparse-1.0.10"
       sources."astral-regex-2.0.0"
       sources."bail-1.0.5"
       sources."balanced-match-1.0.2"
-      sources."boundary-1.0.1"
+      sources."boundary-2.0.0"
       sources."brace-expansion-1.1.11"
-      sources."call-bind-1.0.2"
       sources."ccount-1.1.0"
       sources."chalk-4.1.2"
       sources."character-entities-1.2.4"
@@ -139773,9 +139504,7 @@ in
       sources."concat-map-0.0.1"
       sources."crypt-0.0.2"
       sources."debug-4.3.4"
-      sources."deep-equal-1.1.1"
       sources."deep-is-0.1.4"
-      sources."define-properties-1.1.4"
       sources."diff-4.0.2"
       sources."emoji-regex-8.0.0"
       sources."error-ex-1.3.2"
@@ -139783,6 +139512,7 @@ in
       sources."esprima-4.0.1"
       sources."extend-3.0.2"
       sources."fast-deep-equal-3.1.3"
+      sources."fast-equals-4.0.3"
       sources."fast-levenshtein-2.0.6"
       sources."fault-1.0.4"
       sources."file-entry-cache-5.0.1"
@@ -139792,34 +139522,26 @@ in
       sources."format-0.2.2"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."functions-have-names-1.2.3"
-      sources."get-intrinsic-1.1.3"
       sources."get-stdin-5.0.1"
       sources."glob-7.2.3"
       sources."graceful-fs-4.2.10"
       sources."has-1.0.3"
       sources."has-flag-4.0.0"
-      sources."has-property-descriptors-1.0.0"
-      sources."has-symbols-1.0.3"
-      sources."has-tostringtag-1.0.0"
       sources."hosted-git-info-2.8.9"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."is-alphabetical-1.0.4"
       sources."is-alphanumerical-1.0.4"
-      sources."is-arguments-1.1.1"
       sources."is-arrayish-0.2.1"
       sources."is-buffer-2.0.5"
       sources."is-core-module-2.11.0"
-      sources."is-date-object-1.0.5"
       sources."is-decimal-1.0.4"
       sources."is-file-1.0.0"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-hexadecimal-1.0.4"
       sources."is-plain-obj-2.1.0"
-      sources."is-regex-1.1.4"
       sources."is-utf8-0.2.1"
-      sources."js-yaml-4.1.0"
+      sources."js-yaml-3.14.1"
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-traverse-1.0.0"
       sources."json5-2.2.3"
@@ -139860,8 +139582,6 @@ in
       sources."mkdirp-0.5.6"
       sources."ms-2.1.2"
       sources."normalize-package-data-2.5.0"
-      sources."object-is-1.1.5"
-      sources."object-keys-1.1.1"
       sources."once-1.4.0"
       sources."optionator-0.9.1"
       sources."p-limit-1.3.0"
@@ -139879,11 +139599,11 @@ in
       sources."pinkie-promise-2.0.1"
       sources."pluralize-2.0.0"
       sources."prelude-ls-1.2.1"
-      sources."punycode-2.2.0"
-      (sources."rc-config-loader-3.0.0" // {
+      sources."punycode-2.3.0"
+      (sources."rc-config-loader-4.1.2" // {
         dependencies = [
-          sources."argparse-1.0.10"
-          sources."js-yaml-3.14.1"
+          sources."argparse-2.0.1"
+          sources."js-yaml-4.1.0"
         ];
       })
       sources."read-pkg-1.1.0"
@@ -139897,7 +139617,6 @@ in
           sources."strip-bom-3.0.0"
         ];
       })
-      sources."regexp.prototype.flags-1.4.3"
       sources."remark-footnotes-3.0.0"
       sources."remark-frontmatter-3.0.0"
       sources."remark-gfm-1.0.0"
@@ -139916,7 +139635,7 @@ in
       sources."string-width-4.2.3"
       sources."strip-ansi-6.0.1"
       sources."strip-bom-2.0.0"
-      sources."structured-source-3.0.2"
+      sources."structured-source-4.0.0"
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
       sources."table-6.8.1"
@@ -139984,7 +139703,7 @@ in
       sources."define-properties-1.1.4"
       sources."function-bind-1.1.1"
       sources."functions-have-names-1.2.3"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."has-1.0.3"
       sources."has-property-descriptors-1.0.0"
       sources."has-symbols-1.0.3"
@@ -140016,7 +139735,7 @@ in
       sources."@babel/highlight-7.18.6"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@textlint/ast-node-types-12.3.0"
+      sources."@textlint/ast-node-types-13.0.4"
       sources."@types/hast-2.3.4"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
@@ -140139,7 +139858,7 @@ in
       sources."hast-util-whitespace-1.0.4"
       sources."hastscript-6.0.0"
       sources."hosted-git-info-2.8.9"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."ignore-5.2.4"
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
@@ -140318,7 +140037,7 @@ in
       sources."supports-color-5.5.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
       sources."term-size-2.2.1"
-      sources."textlint-rule-helper-2.2.4"
+      sources."textlint-rule-helper-2.3.0"
       sources."through-2.3.8"
       (sources."through2-2.0.0" // {
         dependencies = [
@@ -140459,61 +140178,77 @@ in
       sources."@azu/format-text-1.0.1"
       sources."@azu/style-format-1.0.0"
       sources."@textlint/ast-node-types-4.4.3"
-      (sources."@textlint/ast-tester-12.5.0" // {
+      (sources."@textlint/ast-tester-12.6.1" // {
         dependencies = [
-          sources."@textlint/ast-node-types-12.3.0"
+          sources."@textlint/ast-node-types-12.6.1"
         ];
       })
-      (sources."@textlint/ast-traverse-12.5.0" // {
+      (sources."@textlint/ast-traverse-12.6.1" // {
         dependencies = [
-          sources."@textlint/ast-node-types-12.3.0"
+          sources."@textlint/ast-node-types-12.6.1"
         ];
       })
-      (sources."@textlint/config-loader-12.5.0" // {
+      (sources."@textlint/config-loader-13.0.4" // {
         dependencies = [
-          sources."rc-config-loader-4.1.2"
+          sources."@textlint/ast-node-types-13.0.4"
+          sources."@textlint/ast-tester-13.0.4"
+          sources."@textlint/ast-traverse-13.0.4"
+          sources."@textlint/feature-flag-13.0.4"
+          sources."@textlint/kernel-13.0.4"
+          sources."@textlint/source-code-fixer-13.0.4"
+          sources."@textlint/types-13.0.4"
+          sources."@textlint/utils-13.0.4"
+          sources."boundary-2.0.0"
+          sources."structured-source-4.0.0"
         ];
       })
-      sources."@textlint/feature-flag-12.5.0"
-      sources."@textlint/fixer-formatter-12.5.1"
-      (sources."@textlint/kernel-12.5.0" // {
+      sources."@textlint/feature-flag-12.6.1"
+      (sources."@textlint/fixer-formatter-13.0.4" // {
         dependencies = [
-          sources."@textlint/ast-node-types-12.3.0"
+          sources."@textlint/ast-node-types-13.0.4"
+          sources."@textlint/types-13.0.4"
         ];
       })
-      (sources."@textlint/linter-formatter-12.5.0" // {
+      (sources."@textlint/kernel-12.6.1" // {
         dependencies = [
-          sources."argparse-1.0.10"
-          sources."js-yaml-3.14.1"
+          sources."@textlint/ast-node-types-12.6.1"
+          sources."boundary-2.0.0"
+          sources."structured-source-4.0.0"
         ];
       })
-      (sources."@textlint/markdown-to-ast-12.5.0" // {
+      (sources."@textlint/linter-formatter-13.0.4" // {
         dependencies = [
-          sources."@textlint/ast-node-types-12.3.0"
+          sources."@textlint/ast-node-types-13.0.4"
+          sources."@textlint/types-13.0.4"
         ];
       })
-      sources."@textlint/module-interop-12.5.0"
-      sources."@textlint/source-code-fixer-12.5.0"
-      (sources."@textlint/text-to-ast-12.5.0" // {
+      (sources."@textlint/markdown-to-ast-12.6.1" // {
         dependencies = [
-          sources."@textlint/ast-node-types-12.3.0"
+          sources."@textlint/ast-node-types-12.6.1"
         ];
       })
-      sources."@textlint/textlint-plugin-markdown-12.5.0"
-      sources."@textlint/textlint-plugin-text-12.5.0"
-      (sources."@textlint/types-12.5.0" // {
+      sources."@textlint/module-interop-13.0.4"
+      sources."@textlint/source-code-fixer-12.6.1"
+      (sources."@textlint/text-to-ast-12.6.1" // {
         dependencies = [
-          sources."@textlint/ast-node-types-12.3.0"
+          sources."@textlint/ast-node-types-12.6.1"
         ];
       })
-      sources."@textlint/utils-12.5.0"
+      sources."@textlint/textlint-plugin-markdown-12.6.1"
+      sources."@textlint/textlint-plugin-text-12.6.1"
+      (sources."@textlint/types-12.6.1" // {
+        dependencies = [
+          sources."@textlint/ast-node-types-12.6.1"
+        ];
+      })
+      sources."@textlint/utils-12.6.1"
       sources."@types/mdast-3.0.10"
       sources."@types/structured-source-3.0.0"
       sources."@types/unist-2.0.6"
       sources."ajv-8.12.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
-      sources."argparse-2.0.1"
+      sources."argparse-1.0.10"
       sources."astral-regex-2.0.0"
       sources."bail-1.0.5"
       sources."balanced-match-1.0.2"
@@ -140544,6 +140279,7 @@ in
       sources."esprima-4.0.1"
       sources."extend-3.0.2"
       sources."fast-deep-equal-3.1.3"
+      sources."fast-equals-4.0.3"
       sources."fast-levenshtein-2.0.6"
       sources."fault-1.0.4"
       sources."file-entry-cache-5.0.1"
@@ -140554,7 +140290,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."functions-have-names-1.2.3"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stdin-5.0.1"
       sources."glob-7.2.3"
       sources."graceful-fs-4.2.10"
@@ -140583,7 +140319,7 @@ in
       sources."is-plain-obj-2.1.0"
       sources."is-regex-1.1.4"
       sources."is-utf8-0.2.1"
-      sources."js-yaml-4.1.0"
+      sources."js-yaml-3.14.1"
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-traverse-1.0.0"
       sources."json5-2.2.3"
@@ -140647,11 +140383,11 @@ in
       sources."pluralize-2.0.0"
       sources."prelude-ls-1.2.1"
       sources."property-information-5.6.0"
-      sources."punycode-2.2.0"
-      (sources."rc-config-loader-3.0.0" // {
+      sources."punycode-2.3.0"
+      (sources."rc-config-loader-4.1.2" // {
         dependencies = [
-          sources."argparse-1.0.10"
-          sources."js-yaml-3.14.1"
+          sources."argparse-2.0.1"
+          sources."js-yaml-4.1.0"
         ];
       })
       sources."read-pkg-1.1.0"
@@ -140695,12 +140431,25 @@ in
       sources."supports-preserve-symlinks-flag-1.0.0"
       sources."table-6.8.1"
       sources."text-table-0.2.0"
-      (sources."textlint-12.5.1" // {
-        dependencies = [
-          sources."@textlint/ast-node-types-12.3.0"
+      (sources."textlint-13.0.4" // {
+        dependencies = [
+          sources."@textlint/ast-node-types-13.0.4"
+          sources."@textlint/ast-tester-13.0.4"
+          sources."@textlint/ast-traverse-13.0.4"
+          sources."@textlint/feature-flag-13.0.4"
+          sources."@textlint/kernel-13.0.4"
+          sources."@textlint/markdown-to-ast-13.0.4"
+          sources."@textlint/source-code-fixer-13.0.4"
+          sources."@textlint/text-to-ast-13.0.4"
+          sources."@textlint/textlint-plugin-markdown-13.0.4"
+          sources."@textlint/textlint-plugin-text-13.0.4"
+          sources."@textlint/types-13.0.4"
+          sources."@textlint/utils-13.0.4"
+          sources."boundary-2.0.0"
+          sources."structured-source-4.0.0"
         ];
       })
-      sources."textlint-tester-12.5.0"
+      sources."textlint-tester-12.6.1"
       (sources."textlint-util-to-string-3.1.1" // {
         dependencies = [
           sources."unified-8.4.2"
@@ -140819,9 +140568,9 @@ in
       sources."sentence-splitter-3.2.2"
       sources."string_decoder-1.3.0"
       sources."structured-source-3.0.2"
-      (sources."textlint-rule-helper-2.2.4" // {
+      (sources."textlint-rule-helper-2.3.0" // {
         dependencies = [
-          sources."@textlint/ast-node-types-12.3.0"
+          sources."@textlint/ast-node-types-13.0.4"
           sources."boundary-2.0.0"
           sources."structured-source-4.0.0"
         ];
@@ -140873,13 +140622,13 @@ in
       sha512 = "gO4N3OnPLvE6+fvJ1Y5m8MzDVrqMEWzW8pTGMXjL8VAXmQkD6YQ9eDMbsVN0/DzEe8tcsBqNgA/iIrQ64oECuQ==";
     };
     dependencies = [
-      sources."@textlint/ast-node-types-12.3.0"
+      sources."@textlint/ast-node-types-13.0.4"
       sources."@types/unist-2.0.6"
       sources."boundary-2.0.0"
       sources."lodash-4.17.21"
       sources."split-lines-2.1.0"
       sources."structured-source-4.0.0"
-      sources."textlint-rule-helper-2.2.4"
+      sources."textlint-rule-helper-2.3.0"
       sources."unist-util-is-4.1.0"
       sources."unist-util-visit-2.0.3"
       sources."unist-util-visit-parents-3.1.1"
@@ -140903,13 +140652,13 @@ in
       sha512 = "obQ3y0hqX6OWCrM8K5K6WSJGE4BOyNfGF6hUGPet56taTm/xzkRu8XA6vpn2GFr4zom/oMa0sBJ3OtDWCgrS/g==";
     };
     dependencies = [
-      sources."@textlint/ast-node-types-12.3.0"
+      sources."@textlint/ast-node-types-13.0.4"
       sources."@types/unist-2.0.6"
       sources."boundary-2.0.0"
       sources."lodash-4.17.21"
       sources."strip-json-comments-3.1.1"
       sources."structured-source-4.0.0"
-      sources."textlint-rule-helper-2.2.4"
+      sources."textlint-rule-helper-2.3.0"
       sources."unist-util-is-4.1.0"
       sources."unist-util-visit-2.0.3"
       sources."unist-util-visit-parents-3.1.1"
@@ -140944,7 +140693,7 @@ in
       sources."function-bind-1.1.1"
       sources."function.prototype.name-1.1.5"
       sources."functions-have-names-1.2.3"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-symbol-description-1.0.0"
       sources."globalthis-1.0.3"
       sources."gopd-1.0.1"
@@ -141001,7 +140750,7 @@ in
       sha512 = "yvOJavJD+PgyUzvsoLDDzDtgCVBva/HNhEvsFnYVugrWz0qy2hr+/4B4wkzjro4wfPbwz20GQe5h13N4DeUEeA==";
     };
     dependencies = [
-      sources."@babel/runtime-7.20.7"
+      sources."@babel/runtime-7.20.13"
       (sources."@eslint/eslintrc-1.4.1" // {
         dependencies = [
           sources."debug-4.3.4"
@@ -141019,10 +140768,10 @@ in
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@textlint/ast-node-types-12.3.0"
+      sources."@textlint/ast-node-types-13.0.4"
       sources."@types/json5-0.0.29"
       sources."@types/unist-2.0.6"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-jsx-5.3.2"
       sources."adverb-where-0.2.5"
       sources."ajv-6.12.6"
@@ -141036,7 +140785,7 @@ in
       sources."array.prototype.tosorted-1.1.1"
       sources."ast-types-flow-0.0.7"
       sources."available-typed-arrays-1.0.5"
-      sources."axe-core-4.6.2"
+      sources."axe-core-4.6.3"
       sources."axobject-query-3.1.1"
       sources."balanced-match-1.0.2"
       sources."boundary-2.0.0"
@@ -141105,11 +140854,11 @@ in
       sources."function-bind-1.1.1"
       sources."function.prototype.name-1.1.5"
       sources."functions-have-names-1.2.3"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-symbol-description-1.0.0"
       sources."glob-7.2.3"
       sources."glob-parent-6.0.2"
-      sources."globals-13.19.0"
+      sources."globals-13.20.0"
       sources."globalthis-1.0.3"
       sources."gopd-1.0.1"
       sources."grapheme-splitter-1.0.4"
@@ -141150,7 +140899,7 @@ in
       sources."is-weakset-2.0.2"
       sources."isarray-2.0.5"
       sources."isexe-2.0.0"
-      sources."js-sdsl-4.2.0"
+      sources."js-sdsl-4.3.0"
       sources."js-tokens-4.0.0"
       sources."js-yaml-4.1.0"
       sources."json-schema-traverse-0.4.1"
@@ -141189,7 +140938,7 @@ in
       sources."path-parse-1.0.7"
       sources."prelude-ls-1.2.1"
       sources."prop-types-15.8.1"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."queue-microtask-1.2.3"
       sources."react-is-16.13.1"
       sources."regenerator-runtime-0.13.11"
@@ -141216,7 +140965,7 @@ in
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
       sources."text-table-0.2.0"
-      sources."textlint-rule-helper-2.2.4"
+      sources."textlint-rule-helper-2.3.0"
       sources."too-wordy-0.3.4"
       sources."tsconfig-paths-3.14.1"
       sources."type-check-0.4.0"
@@ -141327,7 +141076,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.27.1"
+      sources."core-js-3.27.2"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
       sources."css-select-4.3.0"
@@ -141397,7 +141146,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."gauge-3.0.2"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-5.2.0"
       sources."getpass-0.1.7"
       sources."glob-7.2.3"
@@ -141413,7 +141162,7 @@ in
       sources."has-tostringtag-1.0.0"
       sources."has-unicode-2.0.1"
       sources."htmlparser2-6.1.0"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-errors-1.8.1"
       sources."http-signature-1.2.0"
       sources."http2-wrapper-1.0.3"
@@ -141538,7 +141287,7 @@ in
       sources."proxy-addr-2.0.7"
       sources."psl-1.9.0"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.9.7"
       sources."quick-lru-5.1.1"
       sources."range-parser-1.2.1"
@@ -141606,7 +141355,7 @@ in
       sources."tough-cookie-2.5.0"
       sources."tr46-0.0.3"
       sources."trim-repeated-1.0.0"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-is-1.6.18"
@@ -141729,7 +141478,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.27.1"
+      sources."core-js-3.27.2"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
       sources."css-select-4.3.0"
@@ -141799,7 +141548,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."gauge-3.0.2"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-5.2.0"
       sources."getpass-0.1.7"
       sources."glob-7.2.3"
@@ -141815,7 +141564,7 @@ in
       sources."has-tostringtag-1.0.0"
       sources."has-unicode-2.0.1"
       sources."htmlparser2-6.1.0"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-errors-1.8.1"
       sources."http-signature-1.2.0"
       sources."http2-wrapper-1.0.3"
@@ -141940,7 +141689,7 @@ in
       sources."proxy-addr-2.0.7"
       sources."psl-1.9.0"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.9.7"
       sources."quick-lru-5.1.1"
       sources."range-parser-1.2.1"
@@ -142009,7 +141758,7 @@ in
       sources."tough-cookie-2.5.0"
       sources."tr46-0.0.3"
       sources."trim-repeated-1.0.0"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-is-1.6.18"
@@ -142147,7 +141896,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.27.1"
+      sources."core-js-3.27.2"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -142225,7 +141974,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."gauge-2.7.4"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-4.1.0"
       sources."getpass-0.1.7"
       sources."glob-7.2.3"
@@ -142241,7 +141990,7 @@ in
       sources."has-symbols-1.0.3"
       sources."has-unicode-2.0.1"
       sources."htmlparser2-3.10.1"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       (sources."http-errors-1.7.2" // {
         dependencies = [
           sources."inherits-2.0.3"
@@ -142364,7 +142113,7 @@ in
       sources."proxy-addr-2.0.7"
       sources."psl-1.9.0"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.11.0"
       sources."range-parser-1.2.1"
       sources."raw-body-2.4.0"
@@ -142822,7 +142571,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.27.1"
+      sources."core-js-3.27.2"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -142908,7 +142657,7 @@ in
       sources."has-flag-4.0.0"
       sources."has-unicode-2.0.1"
       sources."htmlparser2-3.10.1"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       (sources."http-errors-1.7.2" // {
         dependencies = [
           sources."inherits-2.0.3"
@@ -143061,7 +142810,7 @@ in
       sources."proxy-addr-2.0.7"
       sources."psl-1.9.0"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.7.0"
       sources."quick-lru-5.1.1"
       sources."range-parser-1.2.1"
@@ -143290,7 +143039,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.27.1"
+      sources."core-js-3.27.2"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -143376,7 +143125,7 @@ in
       sources."has-flag-4.0.0"
       sources."has-unicode-2.0.1"
       sources."htmlparser2-3.10.1"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       (sources."http-errors-1.7.2" // {
         dependencies = [
           sources."inherits-2.0.3"
@@ -143529,7 +143278,7 @@ in
       sources."proxy-addr-2.0.7"
       sources."psl-1.9.0"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.7.0"
       sources."quick-lru-5.1.1"
       sources."range-parser-1.2.1"
@@ -144061,10 +143810,10 @@ in
   three = nodeEnv.buildNodePackage {
     name = "three";
     packageName = "three";
-    version = "0.148.0";
+    version = "0.149.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/three/-/three-0.148.0.tgz";
-      sha512 = "8uzVV+qhTPi0bOFs/3te3RW6hb3urL8jYEl6irjCWo/l6sr8MPNMcClFev/MMYeIxr0gmDcoXTy/8LXh/LXkfw==";
+      url = "https://registry.npmjs.org/three/-/three-0.149.0.tgz";
+      sha512 = "tohpUxPDht0qExRLDTM8sjRLc5d9STURNrdnK3w9A+V4pxaTBfKWWT/IqtiLfg23Vfc3Z+ImNfvRw1/0CtxrkQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -144164,7 +143913,7 @@ in
       sources."graceful-fs-4.2.10"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-signature-1.2.0"
       sources."http2-wrapper-1.0.3"
       sources."humanize-0.0.9"
@@ -144199,7 +143948,7 @@ in
       sources."performance-now-2.1.0"
       sources."psl-1.9.0"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.5.3"
       sources."quick-lru-5.1.1"
       (sources."request-2.88.2" // {
@@ -144513,24 +144262,24 @@ in
       sources."@jridgewell/resolve-uri-3.1.0"
       sources."@jridgewell/sourcemap-codec-1.4.14"
       sources."@jridgewell/trace-mapping-0.3.9"
-      sources."@swc/core-1.3.27"
-      sources."@swc/core-darwin-arm64-1.3.27"
-      sources."@swc/core-darwin-x64-1.3.27"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.27"
-      sources."@swc/core-linux-arm64-gnu-1.3.27"
-      sources."@swc/core-linux-arm64-musl-1.3.27"
-      sources."@swc/core-linux-x64-gnu-1.3.27"
-      sources."@swc/core-linux-x64-musl-1.3.27"
-      sources."@swc/core-win32-arm64-msvc-1.3.27"
-      sources."@swc/core-win32-ia32-msvc-1.3.27"
-      sources."@swc/core-win32-x64-msvc-1.3.27"
-      sources."@swc/wasm-1.3.27"
+      sources."@swc/core-1.3.30"
+      sources."@swc/core-darwin-arm64-1.3.30"
+      sources."@swc/core-darwin-x64-1.3.30"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.30"
+      sources."@swc/core-linux-arm64-gnu-1.3.30"
+      sources."@swc/core-linux-arm64-musl-1.3.30"
+      sources."@swc/core-linux-x64-gnu-1.3.30"
+      sources."@swc/core-linux-x64-musl-1.3.30"
+      sources."@swc/core-win32-arm64-msvc-1.3.30"
+      sources."@swc/core-win32-ia32-msvc-1.3.30"
+      sources."@swc/core-win32-x64-msvc-1.3.30"
+      sources."@swc/wasm-1.3.30"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
       sources."@tsconfig/node14-1.0.3"
       sources."@tsconfig/node16-1.0.3"
       sources."@types/node-18.11.18"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-walk-8.2.0"
       sources."arg-4.1.3"
       sources."create-require-1.1.1"
@@ -144592,10 +144341,10 @@ in
   typescript-language-server = nodeEnv.buildNodePackage {
     name = "typescript-language-server";
     packageName = "typescript-language-server";
-    version = "3.0.2";
+    version = "3.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/typescript-language-server/-/typescript-language-server-3.0.2.tgz";
-      sha512 = "KJ5kdKzdlNO0mfHbnb9nDKiL244fEd/fqW+b8trVchaLcCFo1aAd0sGX/vP563tdstBew/P1TzKLTnYa17/b8A==";
+      url = "https://registry.npmjs.org/typescript-language-server/-/typescript-language-server-3.0.3.tgz";
+      sha512 = "7FQOXbyWQOnRmOujX/Td2/mBICLuDaVdecALzwx5x7CreV5/GL8+o1KLIMvS7D3/OShV0CiRGmkNmF3Y5L/pdg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -144645,17 +144394,17 @@ in
   ungit = nodeEnv.buildNodePackage {
     name = "ungit";
     packageName = "ungit";
-    version = "1.5.22";
+    version = "1.5.23";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ungit/-/ungit-1.5.22.tgz";
-      sha512 = "zLD9pr4aFn0wzP31xUyag5jpaWmjJHEBp5+xdOC5j0PgmacgKn+PloZYg2rB1rQ/zmOJTo5nOYhkNAoledz9ZA==";
+      url = "https://registry.npmjs.org/ungit/-/ungit-1.5.23.tgz";
+      sha512 = "3FJW6C12Cn71UiRPTUKmyUYy4qPrJjY7El8bEMqOvakn6knHMuPuM7ijOiNGm7nfKdsRY95gR7pDveqULd367w==";
     };
     dependencies = [
       sources."@colors/colors-1.5.0"
       sources."@dabh/diagnostics-2.0.3"
       sources."@pnpm/network.ca-file-1.0.2"
       sources."@pnpm/npm-conf-1.0.5"
-      sources."@primer/octicons-17.8.0"
+      sources."@primer/octicons-17.10.2"
       sources."@sindresorhus/is-5.3.0"
       sources."@socket.io/component-emitter-3.1.0"
       sources."@szmarczak/http-timer-5.0.1"
@@ -144775,7 +144524,7 @@ in
       sources."destroy-1.2.0"
       sources."detective-5.2.1"
       sources."diff-5.1.0"
-      sources."diff2html-3.4.29"
+      sources."diff2html-3.4.31"
       (sources."diffie-hellman-5.0.3" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -144829,7 +144578,7 @@ in
       sources."function-bind-1.1.1"
       sources."get-assigned-identifiers-1.2.0"
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-6.0.1"
       sources."getmac-5.20.0"
       sources."glob-7.2.3"
@@ -144853,7 +144602,7 @@ in
         ];
       })
       sources."htmlescape-1.1.1"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-errors-2.0.0"
       sources."http2-wrapper-2.2.0"
       sources."https-browserify-1.0.0"
@@ -144921,7 +144670,7 @@ in
       sources."minimalistic-crypto-utils-1.0.1"
       sources."minimatch-3.1.2"
       sources."minimist-1.2.7"
-      sources."mkdirp-1.0.4"
+      sources."mkdirp-2.1.3"
       sources."mkdirp-classic-0.5.3"
       sources."module-deps-6.2.3"
       sources."moment-2.29.4"
@@ -144993,7 +144742,7 @@ in
       sources."resolve-1.22.1"
       sources."resolve-alpn-1.2.1"
       sources."responselike-3.0.0"
-      sources."rimraf-3.0.2"
+      sources."rimraf-4.1.2"
       sources."ripemd160-2.0.2"
       sources."safe-buffer-5.2.1"
       sources."safe-stable-stringify-2.4.2"
@@ -145030,7 +144779,7 @@ in
         ];
       })
       sources."socket.io-adapter-2.4.0"
-      (sources."socket.io-parser-4.2.1" // {
+      (sources."socket.io-parser-4.2.2" // {
         dependencies = [
           sources."debug-4.3.4"
           sources."ms-2.1.2"
@@ -145084,7 +144833,7 @@ in
       sources."tty-browserify-0.0.1"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      sources."typescript-4.8.4"
+      sources."typescript-4.9.4"
       sources."uid-safe-2.1.5"
       sources."umd-3.0.3"
       sources."undeclared-identifiers-1.1.3"
@@ -145215,8 +144964,8 @@ in
       sources."trough-2.1.0"
       sources."typedarray-0.0.6"
       sources."unified-engine-10.1.0"
-      sources."unist-util-inspect-7.0.1"
-      sources."unist-util-stringify-position-3.0.2"
+      sources."unist-util-inspect-7.0.2"
+      sources."unist-util-stringify-position-3.0.3"
       sources."util-deprecate-1.0.2"
       sources."vfile-5.3.6"
       sources."vfile-message-3.1.3"
@@ -145276,7 +145025,7 @@ in
       sources."commander-7.2.0"
       sources."concat-map-0.0.1"
       sources."console-control-strings-1.1.0"
-      sources."d3-array-3.2.1"
+      sources."d3-array-3.2.2"
       sources."d3-color-3.1.0"
       sources."d3-delaunay-6.0.2"
       sources."d3-dispatch-3.0.1"
@@ -145436,7 +145185,7 @@ in
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."commander-7.2.0"
-      sources."d3-array-3.2.1"
+      sources."d3-array-3.2.2"
       sources."d3-color-3.1.0"
       sources."d3-delaunay-6.0.2"
       sources."d3-dispatch-3.0.1"
@@ -145533,16 +145282,39 @@ in
   vercel = nodeEnv.buildNodePackage {
     name = "vercel";
     packageName = "vercel";
-    version = "28.12.6";
+    version = "28.14.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/vercel/-/vercel-28.12.6.tgz";
-      sha512 = "hDR6CfEu2kp5QNbQwS7tS87t7BTYkkF62lIlDx5KXSD/1OniYmVr8P1fyWNmkQ1biRjMNMa6/MMHT/md5b7Qlg==";
+      url = "https://registry.npmjs.org/vercel/-/vercel-28.14.0.tgz";
+      sha512 = "WMAWwJpj7zxPyMpnpEB4ofsu6ERvjXxzjtsd7AfzNBrgRZ88yBZ3yW5vKHPTVnEtJX8BvGq5o5lBQJOKlm2nfg==";
     };
     dependencies = [
+      sources."@babel/runtime-7.12.1"
       sources."@cspotcode/source-map-support-0.8.1"
       sources."@edge-runtime/format-1.1.0"
       sources."@edge-runtime/primitives-2.0.0"
       sources."@edge-runtime/vm-2.0.0"
+      sources."@esbuild/android-arm-0.16.17"
+      sources."@esbuild/android-arm64-0.16.17"
+      sources."@esbuild/android-x64-0.16.17"
+      sources."@esbuild/darwin-arm64-0.16.17"
+      sources."@esbuild/darwin-x64-0.16.17"
+      sources."@esbuild/freebsd-arm64-0.16.17"
+      sources."@esbuild/freebsd-x64-0.16.17"
+      sources."@esbuild/linux-arm-0.16.17"
+      sources."@esbuild/linux-arm64-0.16.17"
+      sources."@esbuild/linux-ia32-0.16.17"
+      sources."@esbuild/linux-loong64-0.16.17"
+      sources."@esbuild/linux-mips64el-0.16.17"
+      sources."@esbuild/linux-ppc64-0.16.17"
+      sources."@esbuild/linux-riscv64-0.16.17"
+      sources."@esbuild/linux-s390x-0.16.17"
+      sources."@esbuild/linux-x64-0.16.17"
+      sources."@esbuild/netbsd-x64-0.16.17"
+      sources."@esbuild/openbsd-x64-0.16.17"
+      sources."@esbuild/sunos-x64-0.16.17"
+      sources."@esbuild/win32-arm64-0.16.17"
+      sources."@esbuild/win32-ia32-0.16.17"
+      sources."@esbuild/win32-x64-0.16.17"
       sources."@jridgewell/resolve-uri-3.1.0"
       sources."@jridgewell/sourcemap-codec-1.4.14"
       sources."@jridgewell/trace-mapping-0.3.9"
@@ -145555,18 +145327,18 @@ in
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@rollup/pluginutils-4.2.1"
-      sources."@swc/core-1.3.27"
-      sources."@swc/core-darwin-arm64-1.3.27"
-      sources."@swc/core-darwin-x64-1.3.27"
-      sources."@swc/core-linux-arm-gnueabihf-1.3.27"
-      sources."@swc/core-linux-arm64-gnu-1.3.27"
-      sources."@swc/core-linux-arm64-musl-1.3.27"
-      sources."@swc/core-linux-x64-gnu-1.3.27"
-      sources."@swc/core-linux-x64-musl-1.3.27"
-      sources."@swc/core-win32-arm64-msvc-1.3.27"
-      sources."@swc/core-win32-ia32-msvc-1.3.27"
-      sources."@swc/core-win32-x64-msvc-1.3.27"
-      sources."@swc/wasm-1.3.27"
+      sources."@swc/core-1.3.30"
+      sources."@swc/core-darwin-arm64-1.3.30"
+      sources."@swc/core-darwin-x64-1.3.30"
+      sources."@swc/core-linux-arm-gnueabihf-1.3.30"
+      sources."@swc/core-linux-arm64-gnu-1.3.30"
+      sources."@swc/core-linux-arm64-musl-1.3.30"
+      sources."@swc/core-linux-x64-gnu-1.3.30"
+      sources."@swc/core-linux-x64-musl-1.3.30"
+      sources."@swc/core-win32-arm64-msvc-1.3.30"
+      sources."@swc/core-win32-ia32-msvc-1.3.30"
+      sources."@swc/core-win32-x64-msvc-1.3.30"
+      sources."@swc/wasm-1.3.30"
       sources."@ts-morph/common-0.11.1"
       sources."@tsconfig/node10-1.0.9"
       sources."@tsconfig/node12-1.0.11"
@@ -145574,27 +145346,34 @@ in
       sources."@tsconfig/node16-1.0.3"
       sources."@types/json-schema-7.0.11"
       sources."@types/node-14.18.33"
-      sources."@vercel/build-utils-5.9.0"
-      sources."@vercel/go-2.2.30"
-      sources."@vercel/hydrogen-0.0.44"
-      sources."@vercel/next-3.3.15"
+      sources."@vercel/build-utils-6.0.0"
+      sources."@vercel/gatsby-plugin-vercel-analytics-1.0.7"
+      (sources."@vercel/gatsby-plugin-vercel-builder-1.0.2" // {
+        dependencies = [
+          sources."ajv-8.12.0"
+          sources."esbuild-0.16.17"
+        ];
+      })
+      sources."@vercel/go-2.2.31"
+      sources."@vercel/hydrogen-0.0.45"
+      sources."@vercel/next-3.3.19"
       sources."@vercel/nft-0.22.5"
-      sources."@vercel/node-2.8.13"
-      sources."@vercel/node-bridge-3.1.9"
-      sources."@vercel/python-3.1.40"
-      sources."@vercel/redwood-1.0.51"
-      sources."@vercel/remix-1.2.5"
+      sources."@vercel/node-2.8.16"
+      sources."@vercel/node-bridge-3.1.10"
+      sources."@vercel/python-3.1.41"
+      sources."@vercel/redwood-1.0.52"
+      sources."@vercel/remix-1.2.8"
       (sources."@vercel/routing-utils-2.1.8" // {
         dependencies = [
           sources."ajv-6.12.6"
           sources."json-schema-traverse-0.4.1"
         ];
       })
-      sources."@vercel/ruby-1.3.56"
-      sources."@vercel/static-build-1.1.7"
+      sources."@vercel/ruby-1.3.57"
+      sources."@vercel/static-build-1.3.0"
       sources."@vercel/static-config-2.0.11"
       sources."abbrev-1.1.1"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-walk-8.2.0"
       sources."agent-base-6.0.2"
       sources."ajv-8.6.3"
@@ -145643,6 +145422,7 @@ in
       sources."esbuild-windows-64-0.14.47"
       sources."esbuild-windows-arm64-0.14.47"
       sources."estree-walker-2.0.2"
+      sources."etag-1.8.1"
       sources."exit-hook-2.2.1"
       sources."fast-deep-equal-3.1.3"
       sources."fast-glob-3.2.12"
@@ -145650,6 +145430,7 @@ in
       sources."fastq-1.15.0"
       sources."file-uri-to-path-1.0.0"
       sources."fill-range-7.0.1"
+      sources."fs-extra-11.1.0"
       (sources."fs-minipass-2.1.0" // {
         dependencies = [
           sources."minipass-3.3.6"
@@ -145672,6 +145453,7 @@ in
       sources."is-number-7.0.0"
       sources."json-schema-to-ts-1.6.4"
       sources."json-schema-traverse-1.0.0"
+      sources."jsonfile-6.1.0"
       sources."lru-cache-6.0.0"
       sources."make-dir-3.1.0"
       sources."make-error-1.3.6"
@@ -145701,9 +145483,10 @@ in
       sources."picomatch-2.3.1"
       sources."pretty-bytes-5.6.0"
       sources."pretty-ms-7.0.1"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."queue-microtask-1.2.3"
       sources."readable-stream-3.6.0"
+      sources."regenerator-runtime-0.13.11"
       sources."require-from-string-2.0.2"
       sources."resolve-from-5.0.0"
       sources."reusify-1.0.4"
@@ -145725,9 +145508,11 @@ in
       sources."ts-node-10.9.1"
       sources."ts-toolbelt-6.15.5"
       sources."typescript-4.3.4"
+      sources."universalify-2.0.0"
       sources."uri-js-4.4.1"
       sources."util-deprecate-1.0.2"
       sources."v8-compile-cache-lib-3.0.1"
+      sources."web-vitals-0.2.4"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
       sources."wide-align-1.1.5"
@@ -145858,10 +145643,10 @@ in
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."glob-7.2.3"
       sources."glob-parent-5.1.2"
-      sources."globals-13.19.0"
+      sources."globals-13.20.0"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.3"
@@ -145904,7 +145689,7 @@ in
       sources."progress-2.0.3"
       sources."pug-error-2.0.0"
       sources."pug-lexer-5.0.1"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."regexpp-3.2.0"
       sources."require-from-string-2.0.2"
       sources."resolve-1.22.1"
@@ -146139,16 +145924,16 @@ in
       sha512 = "r8+ZWDHRAnUPQMyZQa2eZzZyYE8wGia3SCL9ZtVjl6S2MLA5l6NVg3z8Atz4nDQ9JPih858bj0vnthGsjhNLjg==";
     };
     dependencies = [
-      sources."@vscode/l10n-0.0.10"
-      sources."core-js-3.27.1"
+      sources."@vscode/l10n-0.0.11"
+      sources."core-js-3.27.2"
       sources."jsonc-parser-3.2.0"
       sources."picomatch-2.3.1"
       sources."regenerator-runtime-0.13.11"
       sources."request-light-0.5.8"
       sources."typescript-4.9.4"
-      sources."vscode-css-languageservice-6.2.1"
-      sources."vscode-html-languageservice-5.0.3"
-      sources."vscode-json-languageservice-5.1.3"
+      sources."vscode-css-languageservice-6.2.3"
+      sources."vscode-html-languageservice-5.0.4"
+      sources."vscode-json-languageservice-5.1.4"
       sources."vscode-jsonrpc-8.1.0-next.7"
       sources."vscode-languageserver-8.1.0-next.6"
       (sources."vscode-languageserver-protocol-3.17.3-next.6" // {
@@ -146360,7 +146145,7 @@ in
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
       sources."psl-1.9.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.5.3"
       sources."read-metadata-1.0.0"
       (sources."readable-stream-2.3.7" // {
@@ -146460,7 +146245,7 @@ in
       sha512 = "/dd2bJLxOmX8Ie0EPTlmU+F8cxAekn/1m8K9OAFoijm4fc8SdHznFUUEKuz2RMMhsaL5+rccj8xLFAJELYNbaA==";
     };
     dependencies = [
-      sources."@adobe/css-tools-4.0.2"
+      sources."@adobe/css-tools-4.1.0"
       sources."@babel/code-frame-7.18.6"
       sources."@babel/helper-validator-identifier-7.19.1"
       sources."@babel/highlight-7.18.6"
@@ -146814,7 +146599,7 @@ in
       sources."hosted-git-info-2.8.9"
       sources."html-void-elements-1.0.5"
       sources."html-whitespace-sensitive-tag-names-1.0.3"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."iconv-lite-0.4.24"
       sources."ignore-3.3.10"
       (sources."import-fresh-3.3.0" // {
@@ -147065,7 +146850,7 @@ in
       sources."proto-list-1.2.4"
       sources."pseudomap-1.0.2"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."quick-lru-1.1.0"
       sources."rc-1.2.8"
       sources."read-pkg-3.0.0"
@@ -147319,7 +147104,7 @@ in
       sources."unist-util-inspect-4.1.4"
       sources."unist-util-is-2.1.3"
       sources."unist-util-modify-children-1.1.6"
-      sources."unist-util-stringify-position-3.0.2"
+      sources."unist-util-stringify-position-3.0.3"
       sources."unist-util-visit-1.4.1"
       (sources."unist-util-visit-parents-2.1.2" // {
         dependencies = [
@@ -147429,207 +147214,130 @@ in
   wavedrom-cli = nodeEnv.buildNodePackage {
     name = "wavedrom-cli";
     packageName = "wavedrom-cli";
-    version = "2.8.1";
+    version = "3.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/wavedrom-cli/-/wavedrom-cli-2.8.1.tgz";
-      sha512 = "slGcIXCA/j5d2uzQ7flA4/veF0P0eE+Om/Bw7uEO2LC9a3mVNdB+2bSR1CILMjvgyFy9Q9D6eseomQgp7UW5Dg==";
+      url = "https://registry.npmjs.org/wavedrom-cli/-/wavedrom-cli-3.1.1.tgz";
+      sha512 = "EwAUg6706mBujMLbb4Czhe9Ax5Dw3x64t/X2hn+vIVvVexAANSifVg3yB7ILZmeRSGmv9uYo6kL5J1c/DiGdaw==";
     };
     dependencies = [
-      sources."@babel/runtime-corejs3-7.20.7"
-      sources."@mapbox/node-pre-gyp-1.0.10"
-      sources."@tootallnate/once-1.1.2"
-      sources."@types/raf-3.4.0"
-      sources."abab-2.0.6"
-      sources."abbrev-1.1.1"
-      sources."acorn-8.8.1"
-      (sources."acorn-globals-6.0.0" // {
-        dependencies = [
-          sources."acorn-7.4.1"
-        ];
-      })
-      sources."acorn-walk-7.2.0"
-      sources."agent-base-6.0.2"
+      sources."@babel/runtime-7.20.13"
+      sources."@jimp/bmp-0.16.2"
+      sources."@jimp/core-0.16.2"
+      sources."@jimp/custom-0.16.2"
+      sources."@jimp/gif-0.16.2"
+      sources."@jimp/jpeg-0.16.2"
+      sources."@jimp/plugin-blit-0.16.2"
+      sources."@jimp/plugin-blur-0.16.2"
+      sources."@jimp/plugin-circle-0.16.2"
+      sources."@jimp/plugin-color-0.16.2"
+      sources."@jimp/plugin-contain-0.16.2"
+      sources."@jimp/plugin-cover-0.16.2"
+      sources."@jimp/plugin-crop-0.16.2"
+      sources."@jimp/plugin-displace-0.16.2"
+      sources."@jimp/plugin-dither-0.16.2"
+      sources."@jimp/plugin-fisheye-0.16.2"
+      sources."@jimp/plugin-flip-0.16.2"
+      sources."@jimp/plugin-gaussian-0.16.2"
+      sources."@jimp/plugin-invert-0.16.2"
+      sources."@jimp/plugin-mask-0.16.2"
+      sources."@jimp/plugin-normalize-0.16.2"
+      sources."@jimp/plugin-print-0.16.2"
+      sources."@jimp/plugin-resize-0.16.2"
+      sources."@jimp/plugin-rotate-0.16.2"
+      sources."@jimp/plugin-scale-0.16.2"
+      sources."@jimp/plugin-shadow-0.16.2"
+      sources."@jimp/plugin-threshold-0.16.2"
+      sources."@jimp/plugins-0.16.2"
+      sources."@jimp/png-0.16.2"
+      sources."@jimp/tiff-0.16.2"
+      sources."@jimp/types-0.16.2"
+      sources."@jimp/utils-0.16.2"
+      sources."@resvg/resvg-js-2.2.0"
+      sources."@resvg/resvg-js-android-arm-eabi-2.2.0"
+      sources."@resvg/resvg-js-android-arm64-2.2.0"
+      sources."@resvg/resvg-js-darwin-arm64-2.2.0"
+      sources."@resvg/resvg-js-darwin-x64-2.2.0"
+      sources."@resvg/resvg-js-linux-arm-gnueabihf-2.2.0"
+      sources."@resvg/resvg-js-linux-arm64-gnu-2.2.0"
+      sources."@resvg/resvg-js-linux-arm64-musl-2.2.0"
+      sources."@resvg/resvg-js-linux-x64-gnu-2.2.0"
+      sources."@resvg/resvg-js-linux-x64-musl-2.2.0"
+      sources."@resvg/resvg-js-win32-arm64-msvc-2.2.0"
+      sources."@resvg/resvg-js-win32-ia32-msvc-2.2.0"
+      sources."@resvg/resvg-js-win32-x64-msvc-2.2.0"
+      sources."@types/node-16.9.1"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
-      sources."aproba-2.0.0"
-      sources."are-we-there-yet-2.0.0"
-      sources."asynckit-0.4.0"
+      sources."any-base-1.1.0"
       sources."atob-2.1.2"
-      sources."balanced-match-1.0.2"
-      sources."bit-field-1.7.0"
-      sources."brace-expansion-1.1.11"
-      sources."browser-process-hrtime-1.0.0"
+      sources."base64-js-1.5.1"
+      (sources."bit-field-1.7.0" // {
+        dependencies = [
+          sources."fs-extra-10.1.0"
+        ];
+      })
+      sources."bmp-js-0.1.0"
       sources."btoa-1.2.1"
-      sources."bufferutil-4.0.7"
-      sources."canvas-2.11.0"
-      sources."canvg-3.0.7"
-      sources."chownr-2.0.0"
+      sources."buffer-5.7.1"
+      sources."buffer-equal-0.0.1"
       sources."cliui-8.0.1"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."color-support-1.1.3"
-      sources."combined-stream-1.0.8"
-      sources."concat-map-0.0.1"
-      sources."console-control-strings-1.1.0"
-      sources."core-js-pure-3.27.1"
-      sources."cssom-0.4.4"
-      (sources."cssstyle-2.3.0" // {
-        dependencies = [
-          sources."cssom-0.3.8"
-        ];
-      })
-      (sources."data-urls-2.0.0" // {
-        dependencies = [
-          sources."tr46-2.1.0"
-          sources."webidl-conversions-6.1.0"
-          sources."whatwg-url-8.7.0"
-        ];
-      })
-      sources."debug-4.3.4"
-      sources."decimal.js-10.4.3"
-      sources."decompress-response-4.2.1"
-      sources."deep-is-0.1.4"
-      sources."delayed-stream-1.0.0"
-      sources."delegates-1.0.0"
-      sources."detect-libc-2.0.1"
-      (sources."domexception-2.0.1" // {
-        dependencies = [
-          sources."webidl-conversions-5.0.0"
-        ];
-      })
+      sources."dom-walk-0.1.2"
       sources."emoji-regex-8.0.0"
-      sources."encoding-0.1.13"
       sources."escalade-3.1.1"
-      sources."escodegen-2.0.0"
-      sources."esprima-4.0.1"
       sources."estraverse-5.3.0"
-      sources."esutils-2.0.3"
-      sources."fast-levenshtein-2.0.6"
-      sources."form-data-3.0.1"
-      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."gauge-3.0.2"
+      sources."exif-parser-0.1.12"
+      sources."file-type-9.0.0"
+      sources."fs-extra-11.1.0"
       sources."get-caller-file-2.0.5"
-      sources."glob-7.2.3"
+      sources."gifwrap-0.9.4"
+      sources."global-4.4.0"
       sources."graceful-fs-4.2.10"
-      sources."has-unicode-2.0.1"
-      sources."html-encoding-sniffer-2.0.1"
-      sources."http-proxy-agent-4.0.1"
-      sources."https-proxy-agent-5.0.1"
-      sources."iconv-lite-0.6.3"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
+      sources."ieee754-1.2.1"
+      sources."image-q-4.0.0"
       sources."is-fullwidth-code-point-3.0.0"
-      sources."is-potential-custom-element-name-1.0.1"
-      (sources."jsdom-16.7.0" // {
-        dependencies = [
-          sources."tr46-2.1.0"
-          sources."webidl-conversions-6.1.0"
-          sources."whatwg-url-8.7.0"
-        ];
-      })
+      sources."is-function-1.0.2"
+      sources."jimp-0.16.2"
+      sources."jpeg-js-0.4.4"
       sources."json5-2.2.3"
       sources."jsonfile-6.1.0"
-      sources."levn-0.3.0"
-      sources."lodash-4.17.21"
+      sources."load-bmfont-1.4.1"
       sources."logidrom-0.3.1"
-      sources."lru-cache-6.0.0"
-      (sources."make-dir-3.1.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."mime-db-1.52.0"
-      sources."mime-types-2.1.35"
-      sources."mimic-response-2.1.0"
-      sources."minimatch-3.1.2"
-      sources."minipass-4.0.0"
-      (sources."minizlib-2.1.2" // {
-        dependencies = [
-          sources."minipass-3.3.6"
-        ];
-      })
-      sources."mkdirp-1.0.4"
-      sources."ms-2.1.2"
-      sources."nan-2.17.0"
-      sources."node-fetch-2.6.8"
-      sources."node-gyp-build-4.6.0"
-      sources."nopt-5.0.0"
-      sources."npmlog-5.0.1"
-      sources."nwsapi-2.2.2"
-      sources."object-assign-4.1.1"
-      sources."once-1.4.0"
+      sources."mime-1.6.0"
+      sources."min-document-2.19.0"
+      sources."minimist-1.2.7"
+      sources."mkdirp-0.5.6"
+      sources."omggif-1.0.10"
       sources."onml-2.1.0"
-      sources."optionator-0.8.3"
-      sources."parse5-6.0.1"
-      sources."path-is-absolute-1.0.1"
-      sources."performance-now-2.1.0"
-      sources."prelude-ls-1.1.2"
-      sources."psl-1.9.0"
-      sources."punycode-2.2.0"
-      sources."querystringify-2.2.0"
-      sources."raf-3.4.1"
-      sources."readable-stream-3.6.0"
+      sources."pako-1.0.11"
+      sources."parse-bmfont-ascii-1.0.6"
+      sources."parse-bmfont-binary-1.0.6"
+      sources."parse-bmfont-xml-1.1.4"
+      sources."parse-headers-2.0.5"
+      sources."phin-2.9.3"
+      sources."pixelmatch-4.0.2"
+      sources."pngjs-3.4.0"
+      sources."process-0.11.10"
       sources."regenerator-runtime-0.13.11"
       sources."require-directory-2.1.1"
-      sources."requires-port-1.0.0"
-      sources."rgbcolor-1.0.1"
-      sources."rimraf-3.0.2"
-      sources."safe-buffer-5.2.1"
-      sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
-      sources."saxes-5.0.1"
-      sources."semver-7.3.8"
-      sources."set-blocking-2.0.0"
-      sources."signal-exit-3.0.7"
-      sources."simple-concat-1.0.1"
-      sources."simple-get-3.1.1"
-      sources."source-map-0.6.1"
-      sources."stackblur-canvas-2.5.0"
       sources."string-width-4.2.3"
-      sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
-      sources."svg-pathdata-5.0.5"
-      sources."svg2img-0.9.4"
-      sources."symbol-tree-3.2.4"
-      sources."tar-6.1.13"
-      (sources."tough-cookie-4.1.2" // {
-        dependencies = [
-          sources."universalify-0.2.0"
-        ];
-      })
-      sources."tr46-0.0.3"
+      sources."svg2img-1.0.0-beta.2"
+      sources."timm-1.7.1"
+      sources."tinycolor2-1.5.2"
       sources."tspan-0.4.0"
-      sources."type-check-0.3.2"
       sources."universalify-2.0.0"
-      sources."url-parse-1.5.10"
-      sources."utf-8-validate-5.0.10"
-      sources."util-deprecate-1.0.2"
-      sources."w3c-hr-time-1.0.2"
-      sources."w3c-xmlserializer-2.0.0"
-      sources."wavedrom-2.9.1"
-      sources."webidl-conversions-3.0.1"
-      (sources."whatwg-encoding-1.0.5" // {
-        dependencies = [
-          sources."iconv-lite-0.4.24"
-        ];
-      })
-      sources."whatwg-mimetype-2.3.0"
-      sources."whatwg-url-5.0.0"
-      sources."wide-align-1.1.5"
-      sources."word-wrap-1.2.3"
+      sources."utif-2.0.1"
+      sources."wavedrom-3.1.1"
       sources."wrap-ansi-7.0.0"
-      sources."wrappy-1.0.2"
-      sources."ws-7.5.9"
-      sources."xml-name-validator-3.0.0"
-      sources."xmlchars-2.2.0"
+      sources."xhr-2.6.0"
+      sources."xml-parse-from-string-1.0.1"
+      sources."xml2js-0.4.23"
+      sources."xmlbuilder-11.0.1"
+      sources."xtend-4.0.2"
       sources."y18n-5.0.8"
-      sources."yallist-4.0.0"
       sources."yargs-17.6.2"
       sources."yargs-parser-21.1.1"
     ];
@@ -147646,10 +147354,10 @@ in
   web-ext = nodeEnv.buildNodePackage {
     name = "web-ext";
     packageName = "web-ext";
-    version = "7.4.0";
+    version = "7.5.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/web-ext/-/web-ext-7.4.0.tgz";
-      sha512 = "dT2HJaGNXxRNuOtzaVBtEULccL0kM2SN1ark1NnN/ZSlbucobBxCDj6119iki72YyuXpaXZCJGqfZtVf1Znocg==";
+      url = "https://registry.npmjs.org/web-ext/-/web-ext-7.5.0.tgz";
+      sha512 = "Ymflj7Aq/LOD+zGoyvwRbAPx/yMJeig2OEb/rRXYrWl6NWRI5E0c2iWGqlBcnL45iKrOzz70H438dVeJk0w2ug==";
     };
     dependencies = [
       sources."@babel/code-frame-7.18.6"
@@ -147665,7 +147373,7 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@babel/runtime-7.20.1"
+      sources."@babel/runtime-7.20.13"
       sources."@devicefarmer/adbkit-3.2.3"
       sources."@devicefarmer/adbkit-logcat-2.1.2"
       sources."@devicefarmer/adbkit-monkey-1.2.1"
@@ -147679,7 +147387,7 @@ in
       sources."@humanwhocodes/config-array-0.11.8"
       sources."@humanwhocodes/module-importer-1.0.1"
       sources."@humanwhocodes/object-schema-1.2.1"
-      sources."@mdn/browser-compat-data-5.2.17"
+      sources."@mdn/browser-compat-data-5.2.29"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -147693,18 +147401,17 @@ in
       sources."@types/yauzl-2.10.0"
       sources."abort-controller-3.0.0"
       sources."accepts-1.3.8"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-jsx-5.3.2"
-      sources."addons-linter-5.23.0"
+      sources."addons-linter-5.27.0"
       sources."addons-moz-compare-1.3.0"
-      (sources."addons-scanner-utils-8.1.0" // {
+      (sources."addons-scanner-utils-8.3.0" // {
         dependencies = [
           sources."node-fetch-2.6.7"
         ];
       })
       sources."adm-zip-0.5.10"
-      sources."ajv-8.11.2"
-      sources."ajv-merge-patch-5.0.1"
+      sources."ajv-8.12.0"
       (sources."ansi-align-3.0.1" // {
         dependencies = [
           sources."string-width-4.2.3"
@@ -147761,7 +147468,7 @@ in
       })
       sources."call-bind-1.0.2"
       sources."callsites-3.1.0"
-      sources."camelcase-7.0.0"
+      sources."camelcase-7.0.1"
       sources."caseless-0.12.0"
       sources."chalk-4.1.2"
       sources."cheerio-1.0.0-rc.12"
@@ -147799,7 +147506,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.5.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.25.3"
+      sources."core-js-3.27.1"
       sources."core-util-is-1.0.3"
       sources."cross-spawn-7.0.3"
       (sources."crypto-random-string-4.0.0" // {
@@ -147856,14 +147563,14 @@ in
       sources."escape-goat-4.0.0"
       sources."escape-html-1.0.3"
       sources."escape-string-regexp-4.0.0"
-      (sources."eslint-8.28.0" // {
+      (sources."eslint-8.32.0" // {
         dependencies = [
           sources."ajv-6.12.6"
           sources."json-schema-traverse-0.4.1"
           sources."strip-json-comments-3.1.1"
         ];
       })
-      sources."eslint-plugin-no-unsanitized-4.0.1"
+      sources."eslint-plugin-no-unsanitized-4.0.2"
       sources."eslint-scope-7.1.1"
       (sources."eslint-utils-3.0.0" // {
         dependencies = [
@@ -147890,11 +147597,7 @@ in
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
-      (sources."fast-json-patch-2.2.1" // {
-        dependencies = [
-          sources."fast-deep-equal-2.0.1"
-        ];
-      })
+      sources."fast-json-patch-3.1.1"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fast-redact-3.1.2"
@@ -147917,14 +147620,14 @@ in
       sources."first-chunk-stream-3.0.0"
       sources."flat-cache-3.0.4"
       sources."flatted-3.2.7"
-      sources."fluent-syntax-0.13.0"
+      sources."fluent-syntax-0.14.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."form-data-encoder-2.1.4"
       sources."formdata-polyfill-4.0.10"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
-      (sources."fs-extra-10.1.0" // {
+      (sources."fs-extra-11.1.0" // {
         dependencies = [
           sources."universalify-2.0.0"
         ];
@@ -147939,10 +147642,10 @@ in
         ];
       })
       sources."get-caller-file-2.0.5"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-5.2.0"
       sources."getpass-0.1.7"
-      (sources."glob-8.0.3" // {
+      (sources."glob-8.1.0" // {
         dependencies = [
           sources."brace-expansion-2.0.1"
           sources."minimatch-5.1.6"
@@ -147951,7 +147654,7 @@ in
       sources."glob-parent-6.0.2"
       sources."glob-to-regexp-0.4.1"
       sources."global-dirs-3.0.1"
-      sources."globals-13.19.0"
+      sources."globals-13.20.0"
       (sources."got-12.5.3" // {
         dependencies = [
           sources."get-stream-6.0.1"
@@ -147973,7 +147676,7 @@ in
       sources."has-symbols-1.0.3"
       sources."has-yarn-3.0.0"
       sources."htmlparser2-8.0.1"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http-errors-2.0.0"
       sources."http-signature-1.2.0"
       sources."http2-wrapper-2.2.0"
@@ -148013,8 +147716,8 @@ in
       sources."isexe-2.0.0"
       sources."isstream-0.1.2"
       sources."jed-1.1.1"
-      sources."jose-4.11.1"
-      sources."js-sdsl-4.2.0"
+      sources."jose-4.11.2"
+      sources."js-sdsl-4.3.0"
       sources."js-tokens-4.0.0"
       sources."js-yaml-4.1.0"
       sources."jsbn-0.1.1"
@@ -148030,11 +147733,7 @@ in
           sources."universalify-2.0.0"
         ];
       })
-      (sources."jsonwebtoken-8.5.1" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
+      sources."jsonwebtoken-9.0.0"
       sources."jsprim-1.4.2"
       (sources."jszip-3.10.1" // {
         dependencies = [
@@ -148057,14 +147756,8 @@ in
       })
       sources."lines-and-columns-2.0.3"
       sources."locate-path-6.0.0"
-      sources."lodash.includes-4.3.0"
-      sources."lodash.isboolean-3.0.3"
-      sources."lodash.isinteger-4.0.4"
-      sources."lodash.isnumber-3.0.3"
-      sources."lodash.isplainobject-4.0.6"
-      sources."lodash.isstring-4.0.1"
+      sources."lodash-4.17.21"
       sources."lodash.merge-4.6.2"
-      sources."lodash.once-4.1.1"
       sources."lowercase-keys-3.0.0"
       sources."lru-cache-6.0.0"
       sources."make-error-1.3.6"
@@ -148137,10 +147830,10 @@ in
       sources."pend-1.2.0"
       sources."performance-now-2.1.0"
       sources."picocolors-1.0.0"
-      sources."pino-8.7.0"
+      sources."pino-8.8.0"
       sources."pino-abstract-transport-1.0.0"
       sources."pino-std-serializers-6.1.0"
-      sources."postcss-8.4.19"
+      sources."postcss-8.4.21"
       sources."prelude-ls-1.2.1"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
@@ -148150,7 +147843,7 @@ in
       sources."proxy-addr-2.0.7"
       sources."psl-1.9.0"
       sources."pump-3.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."pupa-3.1.0"
       sources."qs-6.11.0"
       sources."queue-6.0.2"
@@ -148228,7 +147921,7 @@ in
       sources."shell-quote-1.7.3"
       sources."shellwords-0.1.1"
       sources."side-channel-1.0.4"
-      sources."sign-addon-5.1.0"
+      sources."sign-addon-5.2.0"
       sources."signal-exit-3.0.7"
       sources."sonic-boom-3.2.1"
       sources."source-map-0.6.1"
@@ -148288,7 +147981,7 @@ in
         ];
       })
       sources."uri-js-4.4.1"
-      sources."utf-8-validate-5.0.10"
+      sources."utf-8-validate-6.0.2"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
       sources."uuid-8.3.2"
@@ -148308,7 +148001,7 @@ in
       sources."widest-line-4.0.1"
       sources."winreg-0.0.12"
       sources."word-wrap-1.2.3"
-      (sources."wrap-ansi-8.0.1" // {
+      (sources."wrap-ansi-8.1.0" // {
         dependencies = [
           sources."ansi-regex-6.0.1"
           sources."ansi-styles-6.2.1"
@@ -148317,7 +148010,7 @@ in
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
-      sources."ws-8.11.0"
+      sources."ws-8.12.0"
       sources."xdg-basedir-5.1.0"
       sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
@@ -148380,13 +148073,13 @@ in
       sources."@webassemblyjs/wast-printer-1.11.1"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-import-assertions-1.8.0"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
       sources."browserslist-4.21.4"
       sources."buffer-from-1.1.2"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."chrome-trace-event-1.0.3"
       sources."commander-2.20.3"
       sources."electron-to-chromium-1.4.284"
@@ -148416,7 +148109,7 @@ in
       sources."neo-async-2.6.2"
       sources."node-releases-2.0.8"
       sources."picocolors-1.0.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."randombytes-2.1.0"
       sources."safe-buffer-5.2.1"
       sources."schema-utils-3.1.1"
@@ -148484,13 +148177,13 @@ in
       sources."@webpack-cli/serve-2.0.1"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-import-assertions-1.8.0"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
       sources."browserslist-4.21.4"
       sources."buffer-from-1.1.2"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."chrome-trace-event-1.0.3"
       sources."clone-deep-4.0.1"
       sources."colorette-2.0.19"
@@ -148543,7 +148236,7 @@ in
       sources."path-parse-1.0.7"
       sources."picocolors-1.0.0"
       sources."pkg-dir-4.2.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."randombytes-2.1.0"
       sources."rechoir-0.8.0"
       sources."resolve-1.22.1"
@@ -148609,8 +148302,8 @@ in
       sources."@types/eslint-8.4.10"
       sources."@types/eslint-scope-3.7.4"
       sources."@types/estree-0.0.51"
-      sources."@types/express-4.17.15"
-      sources."@types/express-serve-static-core-4.17.32"
+      sources."@types/express-4.17.16"
+      sources."@types/express-serve-static-core-4.17.33"
       sources."@types/http-proxy-1.17.9"
       sources."@types/json-schema-7.0.11"
       sources."@types/mime-3.0.1"
@@ -148640,7 +148333,7 @@ in
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
       sources."accepts-1.3.8"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-import-assertions-1.8.0"
       sources."ajv-8.12.0"
       sources."ajv-formats-2.1.1"
@@ -148664,7 +148357,7 @@ in
       sources."bufferutil-4.0.7"
       sources."bytes-3.0.0"
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."chokidar-3.5.3"
       sources."chrome-trace-event-1.0.3"
       sources."colorette-2.0.19"
@@ -148727,7 +148420,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.1"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stream-6.0.1"
       sources."glob-7.2.3"
       sources."glob-parent-5.1.2"
@@ -148808,7 +148501,7 @@ in
           sources."ipaddr.js-1.9.1"
         ];
       })
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."qs-6.11.0"
       sources."randombytes-2.1.0"
       sources."range-parser-1.2.1"
@@ -148885,7 +148578,7 @@ in
       sources."unpipe-1.0.0"
       sources."update-browserslist-db-1.0.10"
       sources."uri-js-4.4.1"
-      sources."utf-8-validate-6.0.0"
+      sources."utf-8-validate-6.0.2"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
       sources."uuid-8.3.2"
@@ -148958,7 +148651,7 @@ in
       sources."@webassemblyjs/wast-printer-1.11.1"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-import-assertions-1.8.0"
       sources."ajv-8.12.0"
       sources."ajv-formats-2.1.1"
@@ -148966,7 +148659,7 @@ in
       sources."braces-3.0.2"
       sources."browserslist-4.21.4"
       sources."buffer-from-1.1.2"
-      sources."caniuse-lite-1.0.30001445"
+      sources."caniuse-lite-1.0.30001449"
       sources."chrome-trace-event-1.0.3"
       sources."commander-2.20.3"
       sources."dir-glob-3.0.1"
@@ -149015,7 +148708,7 @@ in
       sources."path-type-4.0.0"
       sources."picocolors-1.0.0"
       sources."picomatch-2.3.1"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."queue-microtask-1.2.3"
       sources."randombytes-2.1.0"
       sources."require-from-string-2.0.2"
@@ -149410,7 +149103,7 @@ in
         ];
       })
       sources."torrent-piece-2.0.1"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."type-fest-0.21.3"
       sources."typedarray-0.0.6"
       sources."uint64be-2.0.2"
@@ -149469,10 +149162,10 @@ in
   "@withgraphite/graphite-cli" = nodeEnv.buildNodePackage {
     name = "_at_withgraphite_slash_graphite-cli";
     packageName = "@withgraphite/graphite-cli";
-    version = "0.20.12";
+    version = "0.20.13";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@withgraphite/graphite-cli/-/graphite-cli-0.20.12.tgz";
-      sha512 = "Dki/T3/T3Anl9swh2AbQz2M9ne3jK6kTuInhd5ZIUY9CdXJd1olK1w7o6TWcN6Ez2qT0SQbt9lsjZQEH2vMxxQ==";
+      url = "https://registry.npmjs.org/@withgraphite/graphite-cli/-/graphite-cli-0.20.13.tgz";
+      sha512 = "7no/PSf+6WElM1fSgihirkMB6Kz9sLO852q/o/mrzBZuGcHjQeN8bLp1AuK5eKzUo8yohJaVgYqDWtKiLWmU7Q==";
     };
     dependencies = [
       sources."@withgraphite/graphite-cli-routes-0.23.0"
@@ -149548,10 +149241,10 @@ in
   wrangler = nodeEnv.buildNodePackage {
     name = "wrangler";
     packageName = "wrangler";
-    version = "2.8.0";
+    version = "2.8.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/wrangler/-/wrangler-2.8.0.tgz";
-      sha512 = "CAhjoeTnVFB65HPmOSquXbQ37lc2X77iOirX4tRMuRNKQng2NztHOfo++6BZdlV29E4IPD9boTRXck3R+O8mrg==";
+      url = "https://registry.npmjs.org/wrangler/-/wrangler-2.8.1.tgz";
+      sha512 = "O4wUr6/FUpk9KVstOUVYbiiZcWc1jKo7q0FfdwEjnMB3oN7Ofs6cIiX++Lzj1ldFSCOw2/aW3UYgixch6B2WCA==";
     };
     dependencies = [
       sources."@cloudflare/kv-asset-handler-0.2.0"
@@ -149625,7 +149318,7 @@ in
       sources."get-stream-6.0.1"
       sources."glob-parent-5.1.2"
       sources."html-rewriter-wasm-0.4.1"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."human-signals-3.0.1"
       sources."ioredis-4.28.5"
       sources."is-binary-path-2.1.0"
@@ -149690,7 +149383,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."undici-5.9.1"
       sources."urlpattern-polyfill-4.0.3"
-      sources."utf-8-validate-6.0.0"
+      sources."utf-8-validate-6.0.2"
       sources."validate-npm-package-name-4.0.0"
       sources."which-2.0.2"
       sources."ws-8.12.0"
@@ -149735,7 +149428,7 @@ in
       sha512 = "P1Ct7+DNrOcr2JAxDZ3Q5i5sx2LSveu7iLaoUL0A+YiG0GKf0l5+9j3rwMeyh6JeTL1+HfQV1rnwEvzhNIvpFw==";
     };
     dependencies = [
-      sources."@babel/runtime-7.20.7"
+      sources."@babel/runtime-7.20.13"
       (sources."@eslint/eslintrc-1.4.1" // {
         dependencies = [
           sources."debug-4.3.4"
@@ -149754,7 +149447,7 @@ in
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@types/json5-0.0.29"
-      sources."acorn-8.8.1"
+      sources."acorn-8.8.2"
       sources."acorn-jsx-5.3.2"
       sources."adverb-where-0.2.5"
       sources."ajv-6.12.6"
@@ -149768,7 +149461,7 @@ in
       sources."array.prototype.tosorted-1.1.1"
       sources."ast-types-flow-0.0.7"
       sources."available-typed-arrays-1.0.5"
-      sources."axe-core-4.6.2"
+      sources."axe-core-4.6.3"
       sources."axobject-query-3.1.1"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
@@ -149836,11 +149529,11 @@ in
       sources."function-bind-1.1.1"
       sources."function.prototype.name-1.1.5"
       sources."functions-have-names-1.2.3"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-symbol-description-1.0.0"
       sources."glob-7.2.3"
       sources."glob-parent-6.0.2"
-      sources."globals-13.19.0"
+      sources."globals-13.20.0"
       sources."globalthis-1.0.3"
       sources."gopd-1.0.1"
       sources."grapheme-splitter-1.0.4"
@@ -149881,7 +149574,7 @@ in
       sources."is-weakset-2.0.2"
       sources."isarray-2.0.5"
       sources."isexe-2.0.0"
-      sources."js-sdsl-4.2.0"
+      sources."js-sdsl-4.3.0"
       sources."js-tokens-4.0.0"
       sources."js-yaml-4.1.0"
       sources."json-schema-traverse-0.4.1"
@@ -149920,7 +149613,7 @@ in
       sources."path-parse-1.0.7"
       sources."prelude-ls-1.2.1"
       sources."prop-types-15.8.1"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."queue-microtask-1.2.3"
       sources."react-is-16.13.1"
       sources."regenerator-runtime-0.13.11"
@@ -150003,7 +149696,7 @@ in
       sources."fast-deep-equal-3.1.3"
       sources."json-schema-traverse-1.0.0"
       sources."jsonc-parser-3.2.0"
-      sources."punycode-2.2.0"
+      sources."punycode-2.3.0"
       sources."request-light-0.5.8"
       sources."require-from-string-2.0.2"
       sources."uri-js-4.4.1"
@@ -150129,7 +149822,7 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@babel/runtime-7.20.7"
+      sources."@babel/runtime-7.20.13"
       sources."@gar/promisify-1.1.3"
       sources."@isaacs/string-locale-compare-1.1.0"
       sources."@nodelib/fs.scandir-2.1.5"
@@ -150301,7 +149994,7 @@ in
       sources."config-chain-1.1.13"
       sources."configstore-5.0.1"
       sources."console-control-strings-1.1.0"
-      sources."core-js-3.27.1"
+      sources."core-js-3.27.2"
       sources."core-util-is-1.0.3"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-7.0.3"
@@ -150387,7 +150080,7 @@ in
       sources."fullname-4.0.1"
       sources."function-bind-1.1.1"
       sources."gauge-1.2.7"
-      sources."get-intrinsic-1.1.3"
+      sources."get-intrinsic-1.2.0"
       sources."get-stdin-4.0.1"
       sources."get-stream-4.1.0"
       (sources."glob-8.1.0" // {
@@ -150520,7 +150213,7 @@ in
           sources."cacheable-request-6.1.0"
           sources."get-stream-5.2.0"
           sources."got-9.6.0"
-          sources."http-cache-semantics-4.1.0"
+          sources."http-cache-semantics-4.1.1"
           sources."lowercase-keys-2.0.0"
           sources."normalize-url-4.5.1"
           sources."p-cancelable-1.1.0"
@@ -150552,7 +150245,7 @@ in
       sources."make-dir-3.1.0"
       (sources."make-fetch-happen-9.1.0" // {
         dependencies = [
-          sources."http-cache-semantics-4.1.0"
+          sources."http-cache-semantics-4.1.1"
         ];
       })
       sources."map-age-cleaner-0.1.3"
@@ -150564,7 +150257,7 @@ in
       })
       sources."mem-5.1.1"
       sources."mem-fs-2.2.1"
-      sources."mem-fs-editor-9.5.0"
+      sources."mem-fs-editor-9.6.0"
       (sources."meow-5.0.0" // {
         dependencies = [
           sources."read-pkg-up-3.0.0"
@@ -150636,7 +150329,7 @@ in
           sources."cacheable-request-6.1.0"
           sources."get-stream-5.2.0"
           sources."got-9.6.0"
-          sources."http-cache-semantics-4.1.0"
+          sources."http-cache-semantics-4.1.1"
           sources."lowercase-keys-2.0.0"
           sources."normalize-url-4.5.1"
           sources."p-cancelable-1.1.0"
@@ -150666,7 +150359,7 @@ in
           sources."@tootallnate/once-2.0.0"
           sources."cacache-16.1.3"
           sources."debug-4.3.4"
-          sources."http-cache-semantics-4.1.0"
+          sources."http-cache-semantics-4.1.1"
           sources."http-proxy-agent-5.0.0"
           sources."lru-cache-7.14.1"
           (sources."make-fetch-happen-10.2.1" // {
@@ -150734,7 +150427,7 @@ in
           sources."defer-to-connect-2.0.1"
           sources."get-stream-5.2.0"
           sources."got-11.8.6"
-          sources."http-cache-semantics-4.1.0"
+          sources."http-cache-semantics-4.1.1"
           sources."json-buffer-3.0.1"
           sources."keyv-4.5.2"
           sources."lowercase-keys-2.0.0"
@@ -150959,7 +150652,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."treeverse-1.0.4"
       sources."trim-newlines-2.0.0"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."tunnel-0.0.6"
       (sources."twig-1.15.4" // {
         dependencies = [
@@ -151110,10 +150803,10 @@ in
   "@zwave-js/server" = nodeEnv.buildNodePackage {
     name = "_at_zwave-js_slash_server";
     packageName = "@zwave-js/server";
-    version = "1.24.1";
+    version = "1.25.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@zwave-js/server/-/server-1.24.1.tgz";
-      sha512 = "QRBETwKH0V8jTyRXyvko/gdhGck8cXEK/8rnoGAtWjpch/tr83HXNJMdZZhD6KLO9iDl5avWeA+w1m226lwTGg==";
+      url = "https://registry.npmjs.org/@zwave-js/server/-/server-1.25.0.tgz";
+      sha512 = "+2WlJQ7M9D0mNrE1ovEFNqmDyhewY0kIMtddbbZVGtV2YYRzdBTZfqqwfzFhUAFdeEMyOn6gSIHDmw66t8FbSQ==";
     };
     dependencies = [
       sources."@alcalzone/jsonl-db-2.5.3"
@@ -151135,23 +150828,23 @@ in
       sources."@esm2cjs/p-timeout-5.1.0"
       sources."@esm2cjs/responselike-3.0.0"
       sources."@homebridge/ciao-1.1.5"
-      (sources."@sentry/core-7.31.1" // {
+      (sources."@sentry/core-7.34.0" // {
         dependencies = [
           sources."tslib-1.14.1"
         ];
       })
-      (sources."@sentry/integrations-7.31.1" // {
+      (sources."@sentry/integrations-7.34.0" // {
         dependencies = [
           sources."tslib-1.14.1"
         ];
       })
-      (sources."@sentry/node-7.31.1" // {
+      (sources."@sentry/node-7.34.0" // {
         dependencies = [
           sources."tslib-1.14.1"
         ];
       })
-      sources."@sentry/types-7.31.1"
-      (sources."@sentry/utils-7.31.1" // {
+      sources."@sentry/types-7.34.0"
+      (sources."@sentry/utils-7.34.0" // {
         dependencies = [
           sources."tslib-1.14.1"
         ];
@@ -151171,14 +150864,14 @@ in
       sources."@serialport/parser-spacepacket-10.5.0"
       sources."@serialport/stream-10.5.0"
       sources."@types/http-cache-semantics-4.0.1"
-      sources."@zwave-js/cc-10.4.0"
-      sources."@zwave-js/config-10.4.0"
-      sources."@zwave-js/core-10.4.0"
-      sources."@zwave-js/host-10.4.0"
-      sources."@zwave-js/nvmedit-10.4.0"
-      sources."@zwave-js/serial-10.4.0"
+      sources."@zwave-js/cc-10.5.2"
+      sources."@zwave-js/config-10.5.2"
+      sources."@zwave-js/core-10.5.0"
+      sources."@zwave-js/host-10.5.2"
+      sources."@zwave-js/nvmedit-10.5.0"
+      sources."@zwave-js/serial-10.5.2"
       sources."@zwave-js/shared-10.4.0"
-      sources."@zwave-js/testing-10.4.0"
+      sources."@zwave-js/testing-10.5.2"
       sources."agent-base-6.0.2"
       sources."alcalzone-shared-4.0.8"
       sources."ansi-colors-4.1.3"
@@ -151219,7 +150912,7 @@ in
       sources."get-caller-file-2.0.5"
       sources."get-stream-6.0.1"
       sources."graceful-fs-4.2.10"
-      sources."http-cache-semantics-4.1.0"
+      sources."http-cache-semantics-4.1.1"
       sources."http2-wrapper-2.2.0"
       sources."https-proxy-agent-5.0.1"
       sources."human-signals-2.1.0"
@@ -151280,9 +150973,9 @@ in
       sources."strip-final-newline-2.0.0"
       sources."text-hex-1.0.0"
       sources."triple-beam-1.3.0"
-      sources."tslib-2.4.1"
+      sources."tslib-2.5.0"
       sources."universalify-2.0.0"
-      sources."utf-8-validate-6.0.0"
+      sources."utf-8-validate-6.0.2"
       sources."util-deprecate-1.0.2"
       sources."which-2.0.2"
       sources."winston-3.8.2"
@@ -151295,7 +150988,7 @@ in
       sources."yallist-4.0.0"
       sources."yargs-17.6.2"
       sources."yargs-parser-21.1.1"
-      sources."zwave-js-10.4.0"
+      sources."zwave-js-10.5.4"
     ];
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/pkgs/development/python-modules/agate-sql/default.nix b/pkgs/development/python-modules/agate-sql/default.nix
index ca43befd033..5c6cf00cd23 100644
--- a/pkgs/development/python-modules/agate-sql/default.nix
+++ b/pkgs/development/python-modules/agate-sql/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "agate-sql";
-  version = "0.5.8";
+  version = "0.5.9";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "581e062ae878cc087d3d0948670d46b16589df0790bf814524b0587a359f2ada";
+    sha256 = "sha256-MLZCoypbZxFhq++ejsNjUvLniiTOhJBU7axpRti53cY=";
   };
 
   propagatedBuildInputs = [ agate sqlalchemy ];
diff --git a/pkgs/development/python-modules/aio-geojson-generic-client/default.nix b/pkgs/development/python-modules/aio-geojson-generic-client/default.nix
index 534e8441e77..9a302f5af08 100644
--- a/pkgs/development/python-modules/aio-geojson-generic-client/default.nix
+++ b/pkgs/development/python-modules/aio-geojson-generic-client/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "aio-geojson-generic-client";
-  version = "0.1";
+  version = "0.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "exxamalte";
     repo = "python-aio-geojson-generic-client";
     rev = "refs/tags/v${version}";
-    hash = "sha256-6Gc3SRRQiISBZnCg7a+rCQHR4NQipBHmG5gWZZXIsxY=";
+    hash = "sha256-toDvliFMxicaEhlxb7wCadDJErpsIPcZbJz7TpO83GE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aliyun-python-sdk-dbfs/default.nix b/pkgs/development/python-modules/aliyun-python-sdk-dbfs/default.nix
index bd693ead16c..0635b941c93 100644
--- a/pkgs/development/python-modules/aliyun-python-sdk-dbfs/default.nix
+++ b/pkgs/development/python-modules/aliyun-python-sdk-dbfs/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "aliyun-python-sdk-dbfs";
-  version = "2.0.5";
+  version = "2.0.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-WQyYgjEe2oxNXBcHMhFXJ++XlIWf/rtJylvb6exwg7k=";
+    hash = "sha256-R3ov7EssN9kcf8SA8juPu9+TEptzo9Vkb8YwzwFlMQ4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/blinkpy/default.nix b/pkgs/development/python-modules/blinkpy/default.nix
index 20525c0f267..8b28cfacf1a 100644
--- a/pkgs/development/python-modules/blinkpy/default.nix
+++ b/pkgs/development/python-modules/blinkpy/default.nix
@@ -1,32 +1,34 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pytestCheckHook
 , python-dateutil
 , python-slugify
-, requests
-, pytestCheckHook
 , pythonAtLeast
 , pythonOlder
+, requests
+, sortedcontainers
 }:
 
 buildPythonPackage rec {
   pname = "blinkpy";
-  version = "0.19.2";
+  version = "0.20.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "fronzbot";
     repo = "blinkpy";
     rev = "refs/tags/v${version}";
-    hash = "sha256-depaXtbXo5F1JC3M24i6ynWhpm9x9O7UCjkoSzFaSZI=";
+    hash = "sha256-6la8rCmMtH2N4/P5OVGht1wgSuiW16MmF5a422LADV4=";
   };
 
   propagatedBuildInputs = [
     python-dateutil
     python-slugify
     requests
+    sortedcontainers
   ];
 
   nativeCheckInputs = [
@@ -52,6 +54,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python library for the Blink Camera system";
     homepage = "https://github.com/fronzbot/blinkpy";
+    changelog = "https://github.com/fronzbot/blinkpy/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ dotlambda ];
   };
diff --git a/pkgs/development/python-modules/dictpath/default.nix b/pkgs/development/python-modules/dictpath/default.nix
deleted file mode 100644
index 8fbe1661ecd..00000000000
--- a/pkgs/development/python-modules/dictpath/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, pytestCheckHook
-, six
-}:
-
-buildPythonPackage rec {
-  pname = "dictpath";
-  version = "0.4.3";
-
-  src = fetchFromGitHub {
-    owner = "p1c2u";
-    repo = "dictpath";
-    rev = "refs/tags/${version}";
-    sha256 = "sha256-4QRFjbeaggoEPVGAmSY+qVMNW0DKqarNfRXaH6B58ew=";
-  };
-
-  postPatch = ''
-    sed -i "/^addopts/d" setup.cfg
-  '';
-
-  nativeCheckInputs = [
-    pytestCheckHook
-    six
-  ];
-
-  pythonImportsCheck = [ "dictpath" ];
-
-  meta = with lib; {
-    description = "Object-oriented dictionary paths";
-    homepage = "https://github.com/p1c2u/dictpath";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ dotlambda ];
-  };
-}
diff --git a/pkgs/development/python-modules/evdev/default.nix b/pkgs/development/python-modules/evdev/default.nix
index 354b1074993..659a2314d6d 100644
--- a/pkgs/development/python-modules/evdev/default.nix
+++ b/pkgs/development/python-modules/evdev/default.nix
@@ -1,25 +1,41 @@
-{ lib, buildPythonPackage, fetchPypi, linuxHeaders }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, linuxHeaders
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "evdev";
-  version = "1.6.0";
+  version = "1.6.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-7PoBtchPfoxs7TNnrJUoj0PNhO+/1919DNv8DRjIemo=";
+    hash = "sha256-KZ24YozHOyN/wcxX08KUj6oHVuKli2GUtb+B3CCB8eM=";
   };
 
-  buildInputs = [ linuxHeaders ];
+  buildInputs = [
+    linuxHeaders
+  ];
 
   patchPhase = ''
-    substituteInPlace setup.py --replace /usr/include/linux ${linuxHeaders}/include/linux
+    substituteInPlace setup.py \
+      --replace /usr/include/linux ${linuxHeaders}/include/linux
   '';
 
   doCheck = false;
 
+  pythonImportsCheck = [
+    "evdev"
+  ];
+
   meta = with lib; {
     description = "Provides bindings to the generic input event interface in Linux";
-    homepage = "https://pythonhosted.org/evdev";
+    homepage = "https://python-evdev.readthedocs.io/";
+    changelog = "https://github.com/gvalkov/python-evdev/blob/v${version}/docs/changelog.rst";
     license = licenses.bsd3;
     maintainers = with maintainers; [ goibhniu ];
     platforms = platforms.linux;
diff --git a/pkgs/development/python-modules/fakeredis/default.nix b/pkgs/development/python-modules/fakeredis/default.nix
index e2c64333df0..d4a878b6a15 100644
--- a/pkgs/development/python-modules/fakeredis/default.nix
+++ b/pkgs/development/python-modules/fakeredis/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "fakeredis";
-  version = "2.5.0";
+  version = "2.6.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "dsoftwareinc";
     repo = "fakeredis-py";
     rev = "refs/tags/v${version}";
-    hash = "sha256-yb6Tuko7swrrFRQmtXAhm1kl16O813epOOCzOMEg58E=";
+    hash = "sha256-COGzi/zK6ss47Qi2ll2e92V5WzzxdM5Z5cNmX3b1EH0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/fritzconnection/default.nix b/pkgs/development/python-modules/fritzconnection/default.nix
index f4e54cd1976..79301cf6003 100644
--- a/pkgs/development/python-modules/fritzconnection/default.nix
+++ b/pkgs/development/python-modules/fritzconnection/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "fritzconnection";
-  version = "1.10.3";
+  version = "1.11.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -16,8 +16,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "kbr";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-eRvo40VXgo+SQGeh88vRfHPnbrsVDyz03ToIgwRc43Q=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-BHlOX5STnKaIOM5tiBZ9JHNQIYVZfIPDMuSw6DAJliA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/goodwe/default.nix b/pkgs/development/python-modules/goodwe/default.nix
index e943ab50dd6..c9615f1ca30 100644
--- a/pkgs/development/python-modules/goodwe/default.nix
+++ b/pkgs/development/python-modules/goodwe/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "goodwe";
-  version = "0.2.21";
+  version = "0.2.22";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "marcelblijleven";
     repo = pname;
     rev = "refs/tags/v${version}";
-    sha256 = "sha256-ojVwvWj7DLCUzVKCdotRSUQHP1utS60TVFctDzUaN2w=";
+    sha256 = "sha256-mRI+SalWNGLEwL8UcQIrsEKOpzgat9VdmdV1E5H48aY=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/identify/default.nix b/pkgs/development/python-modules/identify/default.nix
index c0db14ca1fd..2d705352d1b 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.16";
+  version = "2.5.17";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pre-commit";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-4A+3O3z2bdJ/bUcIy9H8HTxaARxWJ7uDM4gD+dRFLtE=";
+    sha256 = "sha256-urviMomTJdbublr2nCj25R/xbs/pEsRKWxmklneTjOQ=";
   };
 
   nativeCheckInputs = [
diff --git a/pkgs/development/python-modules/insteon-frontend-home-assistant/default.nix b/pkgs/development/python-modules/insteon-frontend-home-assistant/default.nix
index 584aa0050ed..8d6677b046a 100644
--- a/pkgs/development/python-modules/insteon-frontend-home-assistant/default.nix
+++ b/pkgs/development/python-modules/insteon-frontend-home-assistant/default.nix
@@ -1,26 +1,37 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "insteon-frontend-home-assistant";
-  version = "0.2.0";
+  version = "0.3.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-AP8yf2eEBT8LWs03hKihCgbBkS9sEUg5NkYdagFiqwA=";
+    hash = "sha256-QaWRafp0901vQFMtlmFzkugNsM4PHRll+FUZlEz6E5g=";
   };
 
+  nativeBuildInputs = [
+    setuptools
+  ];
+
   # upstream has no tests
   doCheck = false;
 
-  pythonImportsCheck = [ "insteon_frontend" ];
+  pythonImportsCheck = [
+    "insteon_frontend"
+  ];
 
-  meta = {
+  meta = with lib; {
     description = "The Insteon frontend for Home Assistant";
     homepage = "https://github.com/teharris1/insteon-panel";
-    license = lib.licenses.mit;
-    maintainers = with lib.maintainers; [ dotlambda ];
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
   };
 }
diff --git a/pkgs/development/python-modules/pathable/default.nix b/pkgs/development/python-modules/pathable/default.nix
index b7ab5b9d32d..789162b1fe5 100644
--- a/pkgs/development/python-modules/pathable/default.nix
+++ b/pkgs/development/python-modules/pathable/default.nix
@@ -39,6 +39,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Library for object-oriented paths";
     homepage = "https://github.com/p1c2u/pathable";
+    changelog = "https://github.com/p1c2u/pathable/releases/tag/${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/py-sr25519-bindings/Cargo.lock b/pkgs/development/python-modules/py-sr25519-bindings/Cargo.lock
index ded748b6277..0a31c382b1d 100644
--- a/pkgs/development/python-modules/py-sr25519-bindings/Cargo.lock
+++ b/pkgs/development/python-modules/py-sr25519-bindings/Cargo.lock
@@ -10,9 +10,9 @@ checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544"
 
 [[package]]
 name = "arrayvec"
-version = "0.5.2"
+version = "0.7.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
+checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6"
 
 [[package]]
 name = "autocfg"
@@ -28,32 +28,14 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "block-buffer"
-version = "0.7.3"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "c0940dc441f31689269e10ac70eb1002a3a1d3ad1390e030043662eb7fe4688b"
+checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4"
 dependencies = [
- "block-padding",
- "byte-tools",
- "byteorder",
  "generic-array",
 ]
 
 [[package]]
-name = "block-padding"
-version = "0.1.5"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "fa79dedbb091f449f1f39e53edf88d5dbe95f895dae6135a8d7b881fb5af73f5"
-dependencies = [
- "byte-tools",
-]
-
-[[package]]
-name = "byte-tools"
-version = "0.3.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e3b5ca7a04898ad4bcd41c90c5285445ff5b791899bb1b0abdd2a2aa791211d7"
-
-[[package]]
 name = "byteorder"
 version = "1.4.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -66,57 +48,61 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
 
 [[package]]
+name = "cpufeatures"
+version = "0.2.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320"
+dependencies = [
+ "libc",
+]
+
+[[package]]
 name = "ctor"
-version = "0.1.23"
+version = "0.1.26"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cdffe87e1d521a10f9696f833fe502293ea446d7f256c06128293a4119bdf4cb"
+checksum = "6d2301688392eb071b0bf1a37be05c469d3cc4dbbd95df672fe28ab021e6a096"
 dependencies = [
  "quote",
  "syn",
 ]
 
 [[package]]
-name = "curve25519-dalek"
-version = "2.1.3"
+name = "curve25519-dalek-ng"
+version = "4.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4a9b85542f99a2dfa2a1b8e192662741c9859a846b296bef1c92ef9b58b5a216"
+checksum = "1c359b7249347e46fb28804470d071c921156ad62b3eef5d34e2ba867533dec8"
 dependencies = [
  "byteorder",
  "digest",
  "rand_core",
- "subtle",
+ "subtle-ng",
  "zeroize",
 ]
 
 [[package]]
 name = "digest"
-version = "0.8.1"
+version = "0.9.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f3d0c8c8752312f9713efd397ff63acb9f85585afbf179282e720e7704954dd5"
+checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066"
 dependencies = [
  "generic-array",
 ]
 
 [[package]]
-name = "fake-simd"
-version = "0.1.2"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "e88a8acf291dafb59c2d96e8f59828f3838bb1a70398823ade51a84de6a6deed"
-
-[[package]]
 name = "generic-array"
-version = "0.12.4"
+version = "0.14.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ffdf9f34f1447443d37393cc6c2b8313aebddcd96906caf34e54c68d8e57d7bd"
+checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9"
 dependencies = [
  "typenum",
+ "version_check",
 ]
 
 [[package]]
 name = "getrandom"
-version = "0.1.16"
+version = "0.2.8"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce"
+checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31"
 dependencies = [
  "cfg-if",
  "libc",
@@ -125,9 +111,9 @@ dependencies = [
 
 [[package]]
 name = "ghost"
-version = "0.1.6"
+version = "0.1.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb19fe8de3ea0920d282f7b77dd4227aea6b8b999b42cdf0ca41b2472b14443a"
+checksum = "41973d4c45f7a35af8753ba3457cc99d406d863941fd7f52663cff54a5ab99b3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -136,22 +122,9 @@ dependencies = [
 
 [[package]]
 name = "hex-literal"
-version = "0.2.2"
+version = "0.3.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d70693199b3cf4552f3fa720b54163927a3ebed2aef240efaf556033ab336a11"
-dependencies = [
- "hex-literal-impl",
- "proc-macro-hack",
-]
-
-[[package]]
-name = "hex-literal-impl"
-version = "0.2.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "59448fc2f82a5fb6907f78c3d69d843e82ff5b051923313cc4438cb0c7b745a8"
-dependencies = [
- "proc-macro-hack",
-]
+checksum = "7ebdb29d2ea9ed0083cd8cece49bbd968021bd99b0849edb4a9a7ee0fdf6a4e0"
 
 [[package]]
 name = "indoc"
@@ -209,15 +182,18 @@ dependencies = [
 
 [[package]]
 name = "keccak"
-version = "0.1.2"
+version = "0.1.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "f9b7d56ba4a8344d6be9729995e6b06f928af29998cdf79fe390cbf6b1fee838"
+checksum = "3afef3b6eff9ce9d8ff9b3601125eec7f0c8cbac7abd14f355d053fa56c98768"
+dependencies = [
+ "cpufeatures",
+]
 
 [[package]]
 name = "libc"
-version = "0.2.134"
+version = "0.2.139"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "329c933548736bc49fd575ee68c89e8be4d260064184389a5b77517cddd99ffb"
+checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
 
 [[package]]
 name = "lock_api"
@@ -231,9 +207,9 @@ dependencies = [
 
 [[package]]
 name = "merlin"
-version = "2.0.1"
+version = "3.0.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4e261cf0f8b3c42ded9f7d2bb59dea03aa52bc8a1cbc7482f9fc3fd1229d3b42"
+checksum = "58c38e2799fc0978b65dfff8023ec7843e2330bb462f19198840b34b6582397d"
 dependencies = [
  "byteorder",
  "keccak",
@@ -243,9 +219,9 @@ dependencies = [
 
 [[package]]
 name = "opaque-debug"
-version = "0.2.3"
+version = "0.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "2839e79665f131bdb5782e51f2c6c9599c133c6098982a54c794358bf432529c"
+checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5"
 
 [[package]]
 name = "parking_lot"
@@ -260,9 +236,9 @@ dependencies = [
 
 [[package]]
 name = "parking_lot_core"
-version = "0.8.5"
+version = "0.8.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "d76e8e1493bcac0d2766c42737f34458f1c8c50c0d23bcb24ea953affb273216"
+checksum = "60a2cfe6f0ad2bfc16aefa463b497d5c7a5ecd44a23efa72aa342d90177356dc"
 dependencies = [
  "cfg-if",
  "instant",
@@ -292,29 +268,23 @@ dependencies = [
 ]
 
 [[package]]
-name = "ppv-lite86"
-version = "0.2.16"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
-
-[[package]]
 name = "proc-macro-hack"
-version = "0.5.19"
+version = "0.5.20+deprecated"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5"
+checksum = "dc375e1527247fe1a97d8b7156678dfe7c1af2fc075c9a4db3690ecd2a148068"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.46"
+version = "1.0.50"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "94e2ef8dbfc347b10c094890f778ee2e36ca9bb4262e86dc99cd217e35f3470b"
+checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2"
 dependencies = [
  "unicode-ident",
 ]
 
 [[package]]
 name = "py-sr25519-bindings"
-version = "0.1.5"
+version = "0.2.0"
 dependencies = [
  "hex-literal",
  "pyo3",
@@ -361,55 +331,23 @@ dependencies = [
 
 [[package]]
 name = "quote"
-version = "1.0.21"
+version = "1.0.23"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179"
+checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
-name = "rand"
-version = "0.7.3"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03"
-dependencies = [
- "getrandom",
- "libc",
- "rand_chacha",
- "rand_core",
- "rand_hc",
-]
-
-[[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",
-]
-
-[[package]]
 name = "rand_core"
-version = "0.5.1"
+version = "0.6.4"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19"
+checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c"
 dependencies = [
  "getrandom",
 ]
 
 [[package]]
-name = "rand_hc"
-version = "0.2.0"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "ca3129af7b92a17112d59ad498c6f81eaf463253766b90396d39ea7a39d6613c"
-dependencies = [
- "rand_core",
-]
-
-[[package]]
 name = "redox_syscall"
 version = "0.2.16"
 source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -420,19 +358,18 @@ dependencies = [
 
 [[package]]
 name = "schnorrkel"
-version = "0.9.1"
+version = "0.10.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "021b403afe70d81eea68f6ea12f6b3c9588e5d536a94c3bf80f15e7faa267862"
+checksum = "844b7645371e6ecdf61ff246ba1958c29e802881a749ae3fb1993675d210d28d"
 dependencies = [
  "arrayref",
  "arrayvec",
- "curve25519-dalek",
- "getrandom",
+ "curve25519-dalek-ng",
  "merlin",
- "rand",
  "rand_core",
+ "serde_bytes",
  "sha2",
- "subtle",
+ "subtle-ng",
  "zeroize",
 ]
 
@@ -443,14 +380,30 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd"
 
 [[package]]
+name = "serde"
+version = "1.0.152"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
+
+[[package]]
+name = "serde_bytes"
+version = "0.11.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "718dc5fff5b36f99093fc49b280cfc96ce6fc824317783bff5a1fed0c7a64819"
+dependencies = [
+ "serde",
+]
+
+[[package]]
 name = "sha2"
-version = "0.8.2"
+version = "0.9.9"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "a256f46ea78a0c0d9ff00077504903ac881a1dafdc20da66545699e7776b3e69"
+checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800"
 dependencies = [
  "block-buffer",
+ "cfg-if",
+ "cpufeatures",
  "digest",
- "fake-simd",
  "opaque-debug",
 ]
 
@@ -461,16 +414,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0"
 
 [[package]]
-name = "subtle"
-version = "2.4.1"
+name = "subtle-ng"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601"
+checksum = "734676eb262c623cec13c3155096e08d1f8f29adce39ba17948b18dad1e54142"
 
 [[package]]
 name = "syn"
-version = "1.0.102"
+version = "1.0.107"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3fcd952facd492f9be3ef0d0b7032a6e442ee9b361d4acc2b1d0c4aaa5f613a1"
+checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -491,15 +444,15 @@ dependencies = [
 
 [[package]]
 name = "typenum"
-version = "1.15.0"
+version = "1.16.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987"
+checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba"
 
 [[package]]
 name = "unicode-ident"
-version = "1.0.4"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "dcc811dc4066ac62f84f11307873c4850cb653bfa9b1719cee2bd2204a4bc5dd"
+checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
 
 [[package]]
 name = "unicode-xid"
@@ -509,15 +462,21 @@ checksum = "f962df74c8c05a667b5ee8bcf162993134c104e96440b663c8daa176dc772d8c"
 
 [[package]]
 name = "unindent"
-version = "0.1.10"
+version = "0.1.11"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "58ee9362deb4a96cef4d437d1ad49cffc9b9e92d202b6995674e928ce684f112"
+checksum = "e1766d682d402817b5ac4490b3c3002d91dfa0d22812f341609f97b08757359c"
+
+[[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"
+version = "0.11.0+wasi-snapshot-preview1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519"
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
 
 [[package]]
 name = "winapi"
@@ -552,9 +511,9 @@ dependencies = [
 
 [[package]]
 name = "zeroize_derive"
-version = "1.3.2"
+version = "1.3.3"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3f8f187641dad4f680d25c4bfc4225b418165984179f26ca76ec4fb6441d3a17"
+checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c"
 dependencies = [
  "proc-macro2",
  "quote",
diff --git a/pkgs/development/python-modules/py-synologydsm-api/default.nix b/pkgs/development/python-modules/py-synologydsm-api/default.nix
index dd940f0ee43..ed2c0022a0a 100644
--- a/pkgs/development/python-modules/py-synologydsm-api/default.nix
+++ b/pkgs/development/python-modules/py-synologydsm-api/default.nix
@@ -1,31 +1,36 @@
 { lib
+, aiohttp
+, async-timeout
 , buildPythonPackage
 , fetchFromGitHub
 , poetry-core
 , pytestCheckHook
-, requests
-, urllib3
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "py-synologydsm-api";
-  version = "1.0.8";
+  version = "2.1.0";
   format = "pyproject";
 
+  disabled = pythonOlder "3.8";
+
   src = fetchFromGitHub {
     owner = "mib1185";
-    repo = "synologydsm-api";
-    rev = "v${version}";
-    sha256 = "sha256-9bh7uLt9+uda6yFCWV6xUh//jFC4DgiS+KtRXQrU3A8=";
+    repo = "py-synologydsm-api";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-bolcqPIBHglZ7Em8/66MBypivDPehdgTaPOxAjR9Bd0=";
   };
 
   nativeBuildInputs = [
     poetry-core
+    setuptools
   ];
 
   propagatedBuildInputs = [
-    requests
-    urllib3
+    aiohttp
+    async-timeout
   ];
 
   nativeCheckInputs = [
@@ -38,7 +43,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Python API for Synology DSM";
-    homepage = "https://github.com/hacf-fr/synologydsm-api";
+    homepage = "https://github.com/mib1185/py-synologydsm-api";
+    changelog = "https://github.com/mib1185/py-synologydsm-api/releases/tag/v${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ uvnikita ];
   };
diff --git a/pkgs/development/python-modules/pyaftership/default.nix b/pkgs/development/python-modules/pyaftership/default.nix
index fceece73a52..7c1c76c4adb 100644
--- a/pkgs/development/python-modules/pyaftership/default.nix
+++ b/pkgs/development/python-modules/pyaftership/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pyaftership";
-  version = "21.11.0";
+  version = "23.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,8 +18,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "ludeeus";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-SN7fvI/+VHYn2eYQe5wp6lEZ73YeZbsiPjDiq/Ibk3Q=";
+    rev = "refs/tags/${version}";
+    hash = "sha256-njlDScmxIYWxB4EL9lOSGCXqZDzP999gI9EkpcZyFlE=";
   };
 
   propagatedBuildInputs = [
@@ -46,6 +46,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python wrapper package for the AfterShip API";
     homepage = "https://github.com/ludeeus/pyaftership";
+    changelog = "https://github.com/ludeeus/pyaftership/releases/tag/${version}";
     license = licenses.mit;
     maintainers = with maintainers; [ jamiemagee ];
   };
diff --git a/pkgs/development/python-modules/pydaikin/default.nix b/pkgs/development/python-modules/pydaikin/default.nix
index 20514c06462..2d0b967cb34 100644
--- a/pkgs/development/python-modules/pydaikin/default.nix
+++ b/pkgs/development/python-modules/pydaikin/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "pydaikin";
-  version = "2.8.0";
+  version = "2.9.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "mustang51";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-AZDwoq4lCThzwHI0WCzrV9Il2MHp0LKxWg/dscGw0q0=";
+    hash = "sha256-cJkrBt4HRH2SX4YWo+gK4rd7uyZRzLUvFXJ6L5nxzeM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyisy/default.nix b/pkgs/development/python-modules/pyisy/default.nix
index d0f4437cddb..e1a3d542581 100644
--- a/pkgs/development/python-modules/pyisy/default.nix
+++ b/pkgs/development/python-modules/pyisy/default.nix
@@ -1,15 +1,17 @@
 { lib
+, aiohttp
 , buildPythonPackage
+, colorlog
 , fetchFromGitHub
-, requests
 , python-dateutil
-, aiohttp
 , pythonOlder
+, requests
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "pyisy";
-  version = "3.0.12";
+  version = "3.1.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,17 +20,23 @@ buildPythonPackage rec {
     owner = "automicus";
     repo = "PyISY";
     rev = "refs/tags/v${version}";
-    hash = "sha256-i9xC1Vijf/pU7WmRaosdEs5tPNos2hq3cGkT8MGM1Ro=";
+    hash = "sha256-X/flikSo0PKHz4iBw4AjhCwpTtt2P+1jrlTAanYgO1A=";
   };
 
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "setuptools-git-version" "" \
       --replace 'version_format="{tag}"' 'version="${version}"'
   '';
 
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   propagatedBuildInputs = [
     aiohttp
+    colorlog
     python-dateutil
     requests
   ];
diff --git a/pkgs/development/python-modules/pyquil/default.nix b/pkgs/development/python-modules/pyquil/default.nix
index 00351c5dc51..72ba19f8a2e 100644
--- a/pkgs/development/python-modules/pyquil/default.nix
+++ b/pkgs/development/python-modules/pyquil/default.nix
@@ -12,7 +12,9 @@
 , pytest-httpx
 , pytest-mock
 , pytestCheckHook
+, pythonAtLeast
 , pythonOlder
+, pythonRelaxDepsHook
 , qcs-api-client
 , respx
 , retry
@@ -24,7 +26,7 @@
 
 buildPythonPackage rec {
   pname = "pyquil";
-  version = "3.3.2";
+  version = "3.3.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -32,12 +34,17 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "rigetti";
     repo = pname;
-    rev = "v${version}";
-    hash = "sha256-Ur7dRxmnaAWXHk7c6NC3lBw59RRgh9vwAHFW00fViD4=";
+    rev = "refs/tags/v${version}";
+    hash = "sha256-jA6nYQSfdxd9FCTMQlYTe/EbV39vV0h9F9Fgf1M0+SY=";
   };
 
+  pythonRelaxDeps = [
+    "lark"
+  ];
+
   nativeBuildInputs = [
     poetry-core
+    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = [
@@ -55,21 +62,18 @@ buildPythonPackage rec {
   ];
 
   nativeCheckInputs = [
+    pytestCheckHook
+  ];
+
+  checkInputs = [
     pytest-asyncio
     pytest-freezegun
     pytest-httpx
     pytest-mock
-    pytestCheckHook
     respx
     ipython
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'lark = "^0.11.1"' 'lark = "*"' \
-      --replace 'qcs-api-client = ">=0.8.1,<0.21.0"' 'qcs-api-client = "*"'
-  '';
-
   disabledTestPaths = [
     # Tests require network access
     "test/e2e/"
@@ -85,6 +89,8 @@ buildPythonPackage rec {
     "test/unit/test_reference_wavefunction.py"
     # Out-dated
     "test/unit/test_qpu_client.py"
+    "test/unit/test_qvm_client.py"
+    "test/unit/test_reference_density.py"
   ];
 
   disabledTests = [
@@ -102,6 +108,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python library for creating Quantum Instruction Language (Quil) programs";
     homepage = "https://github.com/rigetti/pyquil";
+    changelog = "https://github.com/rigetti/pyquil/blob/v${version}/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/pytautulli/default.nix b/pkgs/development/python-modules/pytautulli/default.nix
index a9e5ff4510c..5d2c51675c4 100644
--- a/pkgs/development/python-modules/pytautulli/default.nix
+++ b/pkgs/development/python-modules/pytautulli/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pytautulli";
-  version = "23.1.0";
+  version = "23.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "ludeeus";
     repo = pname;
     rev = "refs/tags/${version}";
-    hash = "sha256-wNR97rGmm/Tmx/o0+r6BTL1muNv25nq9nZaE8/SAi14=";
+    hash = "sha256-5wE8FjLFu1oQkVqnWsbp253dsQ1/QGWC6hHSIFwLajY=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/qcs-api-client/default.nix b/pkgs/development/python-modules/qcs-api-client/default.nix
index 74b688c232f..48b0e0ac7e0 100644
--- a/pkgs/development/python-modules/qcs-api-client/default.nix
+++ b/pkgs/development/python-modules/qcs-api-client/default.nix
@@ -11,7 +11,9 @@
 , pytest-asyncio
 , pytestCheckHook
 , python-dateutil
+, pythonAtLeast
 , pythonOlder
+, pythonRelaxDepsHook
 , respx
 , retrying
 , rfc3339
@@ -20,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "qcs-api-client";
-  version = "0.21.2";
+  version = "0.21.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -29,11 +31,26 @@ buildPythonPackage rec {
     owner = "rigetti";
     repo = "qcs-api-client-python";
     rev = "refs/tags/v${version}";
-    hash = "sha256-gQow1bNRPhUm4zRu2T5FpcgOTcS2F1TQIz8WP1K0Xww=";
+    hash = "sha256-GEsCyqawLX6fTICjAOOREsO5FsmV6U/5+sDOW1v+VKE=";
   };
 
+  patches = [
+    # Switch to poetry-core, https://github.com/rigetti/qcs-api-client-python/pull/2
+    (fetchpatch {
+      name = "switch-to-poetry-core.patch";
+      url = "https://github.com/rigetti/qcs-api-client-python/commit/32f0b3c7070a65f4edf5b2552648d88435469e44.patch";
+      hash = "sha256-mOc+Q/5cmwPziojtxeEMWWHSDvqvzZlNRbPtOSeTinQ=";
+    })
+  ];
+
+  pythonRelaxDeps = [
+    "attrs"
+    "httpx"
+  ];
+
   nativeBuildInputs = [
     poetry-core
+    pythonRelaxDepsHook
   ];
 
   propagatedBuildInputs = [
@@ -54,32 +71,8 @@ buildPythonPackage rec {
     respx
   ];
 
-  patches = [
-    # Switch to poetry-core, https://github.com/rigetti/qcs-api-client-python/pull/2
-    (fetchpatch {
-      name = "switch-to-poetry-core.patch";
-      url = "https://github.com/rigetti/qcs-api-client-python/commit/32f0b3c7070a65f4edf5b2552648d88435469e44.patch";
-      hash = "sha256-mOc+Q/5cmwPziojtxeEMWWHSDvqvzZlNRbPtOSeTinQ=";
-    })
-  ];
-
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'attrs = "^20.1.0"' 'attrs = "*"' \
-      --replace 'httpx = "^0.15.0"' 'httpx = "*"' \
-      --replace 'iso8601 = "^0.1.13"' 'iso8601 = "*"' \
-      --replace 'pydantic = "^1.7.2"' 'pydantic = "*"' \
-      --replace 'pyjwt = "^1.7.1"' 'pyjwt = "*"'
-  '';
-
-  disabledTestPaths = [
-    # Test is outdated
-    "tests/test_client/test_additional_properties.py"
-    "tests/test_client/test_auth.py"
-    "tests/test_client/test_client.py"
-    "tests/test_client/test_datetime.py"
-    "tests/test_imports.py"
-  ];
+  # Tests are failing on Python 3.11, Fatal Python error: Aborted
+  doCheck = !(pythonAtLeast "3.11");
 
   pythonImportsCheck = [
     "qcs_api_client"
@@ -88,6 +81,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Python library for accessing the Rigetti QCS API";
     homepage = "https://qcs-api-client-python.readthedocs.io/";
+    changelog = "https://github.com/rigetti/qcs-api-client-python/releases/tag/v${version}";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/tools/coder/default.nix b/pkgs/development/tools/coder/default.nix
index 6998c9b8fb1..9fd3a86f597 100644
--- a/pkgs/development/tools/coder/default.nix
+++ b/pkgs/development/tools/coder/default.nix
@@ -5,19 +5,19 @@
 }:
 buildGoModule rec {
   pname = "coder";
-  version = "0.14.3";
+  version = "0.15.3";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-S+s6cOO2iISW3x+JM6mkpAC6KJv/x84RgXuaiFHZs+I=";
+    hash = "sha256-d3Cg7G1rjxEqKMsIqxZ6ZZDEMIoisDtjZMmyixZRpF4=";
   };
 
   # integration tests require network access
   doCheck = false;
 
-  vendorHash = "sha256-nqmwwdIOm6jTPTAuvIqPf0xgVgIbKsUIs0Mbfka0jyU=";
+  vendorHash = "sha256-F9r99WhL1Uv5NNVlQYpQc282BAl8bUhJI5mZZYwyEEg=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/continuous-integration/drone/default.nix b/pkgs/development/tools/continuous-integration/drone/default.nix
index 9e4dda54754..136e7c9baf8 100644
--- a/pkgs/development/tools/continuous-integration/drone/default.nix
+++ b/pkgs/development/tools/continuous-integration/drone/default.nix
@@ -22,8 +22,9 @@ buildGoModule rec {
   doCheck = false;
 
   meta = with lib; {
+    description = "Continuous Integration platform built on container technology";
+    homepage = "https://github.com/harness/drone";
     maintainers = with maintainers; [ elohmeier vdemeester techknowlogick ];
     license = with licenses; if enableUnfree then unfreeRedistributable else asl20;
-    description = "Continuous Integration platform built on container technology";
   };
 }
diff --git a/pkgs/development/tools/ginkgo/default.nix b/pkgs/development/tools/ginkgo/default.nix
index e33d773a40e..264e949095b 100644
--- a/pkgs/development/tools/ginkgo/default.nix
+++ b/pkgs/development/tools/ginkgo/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "ginkgo";
-  version = "2.7.0";
+  version = "2.7.1";
 
   src = fetchFromGitHub {
     owner = "onsi";
     repo = "ginkgo";
     rev = "v${version}";
-    sha256 = "sha256-UXuRhozEC6zjOzjRi88mS7vyMqvBSnFCj6HXC4zZEp0=";
+    sha256 = "sha256-Ny0lZRNeQSJtxAURFnSuPNiUVWHE47GLbA1mtHgA3O4=";
   };
-  vendorHash = "sha256-SV7G/FZ7kj2ghr15oTMK25Y4SjaIfRc3UfxMPFr4src=";
+  vendorHash = "sha256-jqDZmlCEgU4Nqc2vNH6NGdM74mywdVIj5v96tmRCvjQ=";
 
   # integration tests expect more file changes
   # types tests are missing CodeLocation
diff --git a/pkgs/development/tools/metal-cli/default.nix b/pkgs/development/tools/metal-cli/default.nix
index 9c254bb2c79..f6d5103745b 100644
--- a/pkgs/development/tools/metal-cli/default.nix
+++ b/pkgs/development/tools/metal-cli/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "metal-cli";
-  version = "0.12.0";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "equinix";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-oPMojw6CGncBJ8PZOTrzvQu2gRs1cw1Jwi38eOZggI8=";
+    hash = "sha256-v+8zfNV93nrRSwfn1u7SNYv7WYY74R8nPJFmreDb7i4=";
   };
 
   vendorHash = "sha256-drsNZXLNUWICLI8D+IvJE4X8GmWrP9U3dmpf9HnKCWw=";
diff --git a/pkgs/development/tools/misc/slint-lsp/default.nix b/pkgs/development/tools/misc/slint-lsp/default.nix
index 19f8929ff58..befeafa87a9 100644
--- a/pkgs/development/tools/misc/slint-lsp/default.nix
+++ b/pkgs/development/tools/misc/slint-lsp/default.nix
@@ -25,14 +25,14 @@ let
 in
 rustPlatform.buildRustPackage rec {
   pname = "slint-lsp";
-  version = "0.3.3";
+  version = "0.3.4";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-0JOA+T6GJnMUSK+oldZ+8XtgrDDLkccUKYYzjMExM7M=";
+    sha256 = "sha256-M4rd7179hpQW8jqjCY9ce64AhE6YWOC32tJg3v+00bo=";
   };
 
-  cargoSha256 = "sha256-282IAKbou3+0CYMcAhPNr35N3ugrN/fY82KTzyoTy2o=";
+  cargoHash = "sha256-3HcgnC2PQUyINm2gjxzqbCicvcGvpYtQn1p3qnqBzjc=";
 
   nativeBuildInputs = [ cmake pkg-config fontconfig ];
   buildInputs = rpathLibs ++ [ xorg.libxcb.dev ]
diff --git a/pkgs/development/tools/pscale/default.nix b/pkgs/development/tools/pscale/default.nix
index aabd70f1a86..6c6e88fc153 100644
--- a/pkgs/development/tools/pscale/default.nix
+++ b/pkgs/development/tools/pscale/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "pscale";
-  version = "0.127.0";
+  version = "0.128.0";
 
   src = fetchFromGitHub {
     owner = "planetscale";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-GWfEazFrGlH26X0ILMMQTGlzIKm/S9TPCT4ViF+AA+k=";
+    sha256 = "sha256-2EIaK7UyJH9YEKlOGnnKrq3ucVgEjbF2jVui0bASNcA=";
   };
 
-  vendorHash = "sha256-5dWZLVPRKJWNtNJ5swIMgSFP2idD34sR/hzQ/+HuykU=";
+  vendorHash = "sha256-uQ8/cNNFelG8zzrcEs9fEs8KkY6/odwOGmwMmyxUKS4=";
 
   ldflags = [
     "-s" "-w"
diff --git a/pkgs/development/tools/rust/cargo-semver-checks/default.nix b/pkgs/development/tools/rust/cargo-semver-checks/default.nix
index 71a34056434..bac2d2d9f39 100644
--- a/pkgs/development/tools/rust/cargo-semver-checks/default.nix
+++ b/pkgs/development/tools/rust/cargo-semver-checks/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-semver-checks";
-  version = "0.16.2";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "obi1kenobi";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2t3LWb2oeCYDAePXX1YuIN0o4LLEL58Hxt/1sNeuD3M=";
+    sha256 = "sha256-iUeEZ6u5IIRP0NEXzgMcleuUQ11meCFIpweTdod5SIk=";
   };
 
-  cargoSha256 = "sha256-K+eLQ7zGEGkh4vMABWucY/Ho2id/afwl4FSo5+Ca1Ec=";
+  cargoSha256 = "sha256-Fct5ebwGDGMqAHP+2NRseKTIsVQlQZFeZfbssaBzRgg=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix
index c97bfd09098..e12230f4531 100644
--- a/pkgs/development/web/flyctl/default.nix
+++ b/pkgs/development/web/flyctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "flyctl";
-  version = "0.0.450";
+  version = "0.0.451";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    sha256 = "sha256-UfqjrWzpi1axud4MkrJxIwq1vzqHZ0qAvI1kNh/tywY=";
+    sha256 = "sha256-Tm05vO1mdeTGLpz++rahUubb69ajw04eK57VKZFUoDo=";
   };
 
-  vendorHash = "sha256-ljyaF6Yz3bz5vjwZfDgYBb3o2l90YnV5DgolaDH3B9o=";
+  vendorHash = "sha256-oJa+HUuv8RG4ldAe/cS8iR6QcWdPl8BgHE4sRASauRM=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/games/runescape-launcher/default.nix b/pkgs/games/runescape-launcher/default.nix
index 44a5b95974e..6fbe73a6bed 100644
--- a/pkgs/games/runescape-launcher/default.nix
+++ b/pkgs/games/runescape-launcher/default.nix
@@ -28,13 +28,13 @@ let
 
   runescape = stdenv.mkDerivation rec {
     pname = "runescape-launcher";
-    version = "2.2.9";
+    version = "2.2.10";
 
     # Packages: https://content.runescape.com/downloads/ubuntu/dists/trusty/non-free/binary-amd64/Packages
     # upstream is https://content.runescape.com/downloads/ubuntu/pool/non-free/r/${pname}/${pname}_${version}_amd64.deb
     src = fetchurl {
       url = "https://archive.org/download/${pname}_${version}_amd64/${pname}_${version}_amd64.deb";
-      sha256 = "1zilpxh8k8baylbl9nqq9kgjiv2xzw4lizbgcmzky5rhmych8n4g";
+      sha256 = "1v96vjiblphhbqhpp3m7wbvdvcnp76ncdlf4pdcr2z1dz8nh6shg";
     };
 
     nativeBuildInputs = [
diff --git a/pkgs/os-specific/darwin/DarwinTools/default.nix b/pkgs/os-specific/darwin/DarwinTools/default.nix
index f648435eed2..72a37502845 100644
--- a/pkgs/os-specific/darwin/DarwinTools/default.nix
+++ b/pkgs/os-specific/darwin/DarwinTools/default.nix
@@ -5,8 +5,8 @@ stdenv.mkDerivation rec {
   version = "1";
 
   src = fetchurl {
-    url = "https://opensource.apple.com/tarballs/DarwinTools/DarwinTools-${version}.tar.gz";
-    sha256 = "0hh4jl590jv3v830p77r3jcrnpndy7p2b8ajai3ldpnx2913jfhp";
+    url = "https://web.archive.org/web/20180408044816/https://opensource.apple.com/tarballs/DarwinTools/DarwinTools-${version}.tar.gz";
+    hash = "sha256-Fzo5QhLd3kZHVFKhJe7xzV6bmRz5nAsG2mNLkAqVBEI=";
   };
 
   patches = [
diff --git a/pkgs/os-specific/darwin/xattr/default.nix b/pkgs/os-specific/darwin/xattr/default.nix
index a1e3c491487..7fe0f84606c 100644
--- a/pkgs/os-specific/darwin/xattr/default.nix
+++ b/pkgs/os-specific/darwin/xattr/default.nix
@@ -1,6 +1,6 @@
 { lib
 , stdenv
-, fetchzip
+, fetchFromGitHub
 , buildPythonPackage
 , python
 , ed
@@ -11,9 +11,11 @@ buildPythonPackage rec {
   pname = "xattr";
   version = "61.60.1";
 
-  src = fetchzip rec {
-    url = "https://opensource.apple.com/tarballs/python_modules/python_modules-${version}.tar.gz";
-    sha256 = "19kydl7w4vpdi7zmfd5z9vjkq24jfk2cv4j0pppw69j06czhdwwi";
+  src = fetchFromGitHub {
+    owner = "apple-oss-distributions";
+    repo = "python_modules";
+    rev = "python_modules-${version}";
+    hash = "sha256-kfMGPzNAJsPvvUCSzcR0kgg85U6/NFf/ie1uwg9tfqY=";
   };
 
   sourceRoot = "${src.name}/Modules/xattr-0.6.4";
@@ -61,7 +63,10 @@ buildPythonPackage rec {
   '';
 
   makeWrapperArgs = [
-    "--prefix" "PYTHONPATH" ":" "${placeholder "python"}/${python.sitePackages}"
+    "--prefix"
+    "PYTHONPATH"
+    ":"
+    "${placeholder "python"}/${python.sitePackages}"
   ];
 
   meta = with lib; {
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index a3145655ce7..b03f3c3c16c 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -93,6 +93,7 @@
 , withHwdb ? true
 , withImportd ? !stdenv.hostPlatform.isMusl
 , withLibBPF ? lib.versionAtLeast buildPackages.llvmPackages.clang.version "10.0"
+    && stdenv.hostPlatform.isAarch -> lib.versionAtLeast stdenv.hostPlatform.parsed.cpu.version "6" # assumes hard floats
     && !stdenv.hostPlatform.isMips64   # see https://github.com/NixOS/nixpkgs/pull/194149#issuecomment-1266642211
 , withLocaled ? true
 , withLogind ? true
@@ -715,7 +716,7 @@ stdenv.mkDerivation {
     description = "A system and service manager for Linux";
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
-    badPlatforms = [ (plat: plat.isStatic) ];
+    badPlatforms = [ lib.systems.inspect.platformPatterns.isStatic ];
     # https://github.com/systemd/systemd/issues/20600#issuecomment-912338965
     broken = stdenv.hostPlatform.isStatic;
     priority = 10;
diff --git a/pkgs/servers/code-server/default.nix b/pkgs/servers/code-server/default.nix
index 44edf3be7a8..05808d605d2 100644
--- a/pkgs/servers/code-server/default.nix
+++ b/pkgs/servers/code-server/default.nix
@@ -11,12 +11,25 @@ let
   yarn' = yarn.override { inherit nodejs; };
   defaultYarnOpts = [ ];
 
+  esbuild' = esbuild.override {
+    buildGoModule = args: buildGoModule (args // rec {
+      version = "0.16.17";
+      src = fetchFromGitHub {
+        owner = "evanw";
+        repo = "esbuild";
+        rev = "v${version}";
+        hash = "sha256-8L8h0FaexNsb3Mj6/ohA37nYLFogo5wXkAhGztGUUsQ=";
+      };
+      vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
+    });
+  };
+
   # replaces esbuild's download script with a binary from nixpkgs
   patchEsbuild = path : version : ''
     mkdir -p ${path}/node_modules/esbuild/bin
     jq "del(.scripts.postinstall)" ${path}/node_modules/esbuild/package.json | sponge ${path}/node_modules/esbuild/package.json
-    sed -i 's/${version}/${esbuild.version}/g' ${path}/node_modules/esbuild/lib/main.js
-    ln -s -f ${esbuild}/bin/esbuild ${path}/node_modules/esbuild/bin/esbuild
+    sed -i 's/${version}/${esbuild'.version}/g' ${path}/node_modules/esbuild/lib/main.js
+    ln -s -f ${esbuild'}/bin/esbuild ${path}/node_modules/esbuild/bin/esbuild
   '';
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/servers/invidious/versions.json b/pkgs/servers/invidious/versions.json
index c1abe663ea9..bb6063fdafb 100644
--- a/pkgs/servers/invidious/versions.json
+++ b/pkgs/servers/invidious/versions.json
@@ -4,9 +4,9 @@
     "sha256": "sha256-EU6T9yQCdOLx98Io8o01rEsgxDFF/Xoy42LgPopD2/A="
   },
   "invidious": {
-    "rev": "dbee027ed9b568469815b319332e029964bff7fb",
-    "sha256": "sha256-M0m3JtA9Qx5ZpgNujeUBC/7TVES9dKLEr5pKgn8l1cM=",
-    "version": "unstable-2023-01-22"
+    "rev": "3b8e6c6040fe341fe4b9fc16cdbd3aea697dfad3",
+    "sha256": "sha256-gESGo8zRJtGJZrZEkW0OS/O65ZwVzpDA3jmyLCV0RpI=",
+    "version": "unstable-2023-01-26"
   },
   "lsquic": {
     "sha256": "sha256-hG8cUvhbCNeMOsKkaJlgGpzUrIx47E/WhmPIdI5F3qM=",
diff --git a/pkgs/servers/openvscode-server/default.nix b/pkgs/servers/openvscode-server/default.nix
index e4f558c790b..e6e7130e3fd 100644
--- a/pkgs/servers/openvscode-server/default.nix
+++ b/pkgs/servers/openvscode-server/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, runCommand
+{ lib, stdenv, fetchFromGitHub, buildGoModule, makeWrapper, runCommand
 , cacert, moreutils, jq, git, pkg-config, yarn, python3
 , esbuild, nodejs-16_x-openssl_1_1, libsecret, xorg, ripgrep
 , AppKit, Cocoa, Security, cctools }:
@@ -17,12 +17,25 @@ let
     aarch64-darwin = "darwin-arm64";
   }.${system} or (throw "Unsupported system ${system}");
 
+  esbuild' = esbuild.override {
+    buildGoModule = args: buildGoModule (args // rec {
+      version = "0.16.17";
+      src = fetchFromGitHub {
+        owner = "evanw";
+        repo = "esbuild";
+        rev = "v${version}";
+        hash = "sha256-8L8h0FaexNsb3Mj6/ohA37nYLFogo5wXkAhGztGUUsQ=";
+      };
+      vendorHash = "sha256-+BfxCyg0KkDQpHt/wycy/8CTG6YBA/VJvJFhhzUnSiQ=";
+    });
+  };
+
   # replaces esbuild's download script with a binary from nixpkgs
   patchEsbuild = path : version : ''
     mkdir -p ${path}/node_modules/esbuild/bin
     jq "del(.scripts.postinstall)" ${path}/node_modules/esbuild/package.json | sponge ${path}/node_modules/esbuild/package.json
-    sed -i 's/${version}/${esbuild.version}/g' ${path}/node_modules/esbuild/lib/main.js
-    ln -s -f ${esbuild}/bin/esbuild ${path}/node_modules/esbuild/bin/esbuild
+    sed -i 's/${version}/${esbuild'.version}/g' ${path}/node_modules/esbuild/lib/main.js
+    ln -s -f ${esbuild'}/bin/esbuild ${path}/node_modules/esbuild/bin/esbuild
   '';
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/stdenv/generic/check-meta.nix b/pkgs/stdenv/generic/check-meta.nix
index 94998bbfa0f..751e19d1681 100644
--- a/pkgs/stdenv/generic/check-meta.nix
+++ b/pkgs/stdenv/generic/check-meta.nix
@@ -271,7 +271,7 @@ let
     sourceProvenance = listOf lib.types.attrs;
     maintainers = listOf (attrsOf anything); # TODO use the maintainer type from lib/tests/maintainer-module.nix
     priority = int;
-    platforms = listOf (oneOf [ str (attrsOf anything) (functionTo bool) ]);   # see lib.meta.platformMatch
+    platforms = listOf (either str (attrsOf anything));   # see lib.meta.platformMatch
     hydraPlatforms = listOf str;
     broken = bool;
     unfree = bool;
diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix
index 61753bb8330..e3b2ae74ca4 100644
--- a/pkgs/tools/admin/eksctl/default.nix
+++ b/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.126.0";
+  version = "0.127.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ul02G6FULaSFMtQfmqrSRSAgAxx5/cpG6qeDrGB2m5g=";
+    sha256 = "sha256-WCkVCND3c8HYLi0UrgF3zoEykIs1/D7HgeblZETvU4M=";
   };
 
-  vendorHash = "sha256-Z6elKuSGvXPjMk8upqJ2Z0I5Cu3s3LeGUkQFcUKheH0=";
+  vendorHash = "sha256-FBKwWApiIs0y0IZqJOJwzdBq1ihaPv8mqqSTO42ggi0=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/filesystems/hfsprogs/default.nix b/pkgs/tools/filesystems/hfsprogs/default.nix
index 877d95c5b3d..cb3cbe5d7f2 100644
--- a/pkgs/tools/filesystems/hfsprogs/default.nix
+++ b/pkgs/tools/filesystems/hfsprogs/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, openssl, libbsd }:
+{ lib, stdenv, fetchurl, fetchFromGitHub, openssl, libbsd }:
 
 stdenv.mkDerivation rec {
   version = "332.25";
@@ -8,9 +8,12 @@ stdenv.mkDerivation rec {
       url = "http://ftp.de.debian.org/debian/pool/main/h/hfsprogs/hfsprogs_${version}-11.debian.tar.gz";
       sha256 = "62d9b8599c66ebffbc57ce5d776e20b41341130d9b27341d63bda08460ebde7c";
     })
-    (fetchurl {
-      url = "https://opensource.apple.com/tarballs/diskdev_cmds/diskdev_cmds-${version}.tar.gz";
-      sha256 = "74c9aeca899ed7f4bf155c65fc45bf0f250c0f6d57360ea953b1d536d9aa45e6";
+    (fetchFromGitHub {
+      owner = "apple-oss-distributions";
+      repo = "diskdev_cmds";
+      rev = "diskdev_cmds-${version}";
+      hash = "sha256-cycPGPx2Gbjn4FKGKuQKJkh+dWGbJfy6C+LTz8rrs0A=";
+      name = sourceRoot;
     })
   ];
 
diff --git a/pkgs/tools/misc/grub/pvgrub_image/default.nix b/pkgs/tools/misc/grub/pvgrub_image/default.nix
index 3137c820eea..b6883e57080 100644
--- a/pkgs/tools/misc/grub/pvgrub_image/default.nix
+++ b/pkgs/tools/misc/grub/pvgrub_image/default.nix
@@ -4,7 +4,10 @@ let
   efiSystemsBuild = {
     i686-linux.target = "i386";
     x86_64-linux.target = "x86_64";
+    armv7l-linux.target = "arm";
     aarch64-linux.target = "aarch64";
+    riscv32-linux.target = "riscv32";
+    riscv64-linux.target = "riscv64";
   };
 
 in (
diff --git a/pkgs/tools/networking/burpsuite/default.nix b/pkgs/tools/networking/burpsuite/default.nix
index 986d58ea90f..87808b4a223 100644
--- a/pkgs/tools/networking/burpsuite/default.nix
+++ b/pkgs/tools/networking/burpsuite/default.nix
@@ -11,6 +11,7 @@ let
     sha256 = "2e354c2aadc58267bc282dde462d20b3aca7108077eb141d49f89a16172763cf";
   };
 
+  name = "burpsuite-${version}";
   description = "An integrated platform for performing security testing of web applications";
   desktopItem = makeDesktopItem rec {
     name = "burpsuite";
@@ -23,7 +24,7 @@ let
 
 in
 buildFHSUserEnv {
-  name = "burpsuite-${version}";
+  inherit name;
 
   runScript = "${jdk}/bin/java -jar ${src}";
 
@@ -53,6 +54,7 @@ buildFHSUserEnv {
   ];
 
   extraInstallCommands = ''
+    mv "$out/bin/${name}" "$out/bin/burpsuite" # name includes the version number
     mkdir -p "$out/share/pixmaps"
     ${lib.getBin unzip}/bin/unzip -p ${src} resources/Media/icon64community.png > "$out/share/pixmaps/burpsuite.png"
     cp -r ${desktopItem}/share/applications $out/share
diff --git a/pkgs/tools/nix/nixos-render-docs/default.nix b/pkgs/tools/nix/nixos-render-docs/default.nix
new file mode 100644
index 00000000000..55bbbd9ffa5
--- /dev/null
+++ b/pkgs/tools/nix/nixos-render-docs/default.nix
@@ -0,0 +1,63 @@
+{ lib
+, stdenv
+, python3
+, python3Minimal
+}:
+
+let
+  # python3Minimal can't be overridden with packages on Darwin, due to a missing framework.
+  # Instead of modifying stdenv, we take the easy way out, since most people on Darwin will
+  # just be hacking on the Nixpkgs manual (which also uses make-options-doc).
+  python = ((if stdenv.isDarwin then python3 else python3Minimal).override {
+    self = python;
+    includeSiteCustomize = true;
+  });
+
+  # TODO add our own small test suite, maybe add tests for these deps to channels?
+  markdown-it-py-no-tests = python.pkgs.markdown-it-py.override {
+    disableTests = true;
+  };
+  mdit-py-plugins-no-tests = python.pkgs.mdit-py-plugins.override {
+    markdown-it-py = markdown-it-py-no-tests;
+    disableTests = true;
+  };
+in
+
+python.pkgs.buildPythonApplication {
+  pname = "nixos-render-docs";
+  version = "0.0";
+  format = "pyproject";
+
+  src = lib.cleanSourceWith {
+    filter = name: type:
+      lib.cleanSourceFilter name type
+      && ! (type == "directory"
+            && builtins.elem
+              (baseNameOf name)
+              [
+                ".pytest_cache"
+                ".mypy_cache"
+                "__pycache__"
+              ]);
+    src = ./src;
+  };
+
+  nativeBuildInputs = [
+    python.pkgs.setuptools
+    python.pkgs.pytestCheckHook
+  ];
+
+  propagatedBuildInputs = [
+    markdown-it-py-no-tests
+    mdit-py-plugins-no-tests
+    python.pkgs.frozendict
+  ];
+
+  pytestFlagsArray = [ "-vvrP" "tests/" ];
+
+  meta = with lib; {
+    description = "Renderer for NixOS manual and option docs";
+    license = licenses.mit;
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/__init__.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/__init__.py
new file mode 100644
index 00000000000..5af13267b14
--- /dev/null
+++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/__init__.py
@@ -0,0 +1,24 @@
+import argparse
+import os
+import sys
+from typing import Any, Dict
+
+from .md import Converter
+from . import manual
+from . import options
+
+def main() -> None:
+    parser = argparse.ArgumentParser(description='render nixos manual bits')
+
+    commands = parser.add_subparsers(dest='command', required=True)
+
+    options.build_cli(commands.add_parser('options'))
+    manual.build_cli(commands.add_parser('manual'))
+
+    args = parser.parse_args()
+    if args.command == 'options':
+        options.run_cli(args)
+    elif args.command == 'manual':
+        manual.run_cli(args)
+    else:
+        raise RuntimeError('command not hooked up', args)
diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/docbook.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/docbook.py
new file mode 100644
index 00000000000..bad36e57a2f
--- /dev/null
+++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/docbook.py
@@ -0,0 +1,254 @@
+from collections.abc import Mapping, MutableMapping, Sequence
+from frozendict import frozendict # type: ignore[attr-defined]
+from typing import Any, cast, Optional, NamedTuple
+
+import markdown_it
+from markdown_it.token import Token
+from markdown_it.utils import OptionsDict
+from xml.sax.saxutils import escape, quoteattr
+
+from .md import Renderer
+
+_xml_id_translate_table = {
+    ord('*'): ord('_'),
+    ord('<'): ord('_'),
+    ord(' '): ord('_'),
+    ord('>'): ord('_'),
+    ord('['): ord('_'),
+    ord(']'): ord('_'),
+    ord(':'): ord('_'),
+    ord('"'): ord('_'),
+}
+def make_xml_id(s: str) -> str:
+    return s.translate(_xml_id_translate_table)
+
+class Deflist:
+    has_dd = False
+
+class Heading(NamedTuple):
+    container_tag: str
+    level: int
+
+class DocBookRenderer(Renderer):
+    __output__ = "docbook"
+    _link_tags: list[str]
+    _deflists: list[Deflist]
+    _headings: list[Heading]
+
+    def __init__(self, manpage_urls: Mapping[str, str], parser: Optional[markdown_it.MarkdownIt] = None):
+        super().__init__(manpage_urls, parser)
+        self._link_tags = []
+        self._deflists = []
+        self._headings = []
+
+    def render(self, tokens: Sequence[Token], options: OptionsDict,
+               env: MutableMapping[str, Any]) -> str:
+        result = super().render(tokens, options, env)
+        result += self._close_headings(None, env)
+        return result
+    def renderInline(self, tokens: Sequence[Token], options: OptionsDict,
+                     env: MutableMapping[str, Any]) -> str:
+        # HACK to support docbook links and xrefs. link handling is only necessary because the docbook
+        # manpage stylesheet converts - in urls to a mathematical minus, which may be somewhat incorrect.
+        for i, token in enumerate(tokens):
+            if token.type != 'link_open':
+                continue
+            token.tag = 'link'
+            # turn [](#foo) into xrefs
+            if token.attrs['href'][0:1] == '#' and tokens[i + 1].type == 'link_close': # type: ignore[index]
+                token.tag = "xref"
+            # turn <x> into links without contents
+            if tokens[i + 1].type == 'text' and tokens[i + 1].content == token.attrs['href']:
+                tokens[i + 1].content = ''
+
+        return super().renderInline(tokens, options, env)
+
+    def text(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+             env: MutableMapping[str, Any]) -> str:
+        return escape(token.content)
+    def paragraph_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                       env: MutableMapping[str, Any]) -> str:
+        return "<para>"
+    def paragraph_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                        env: MutableMapping[str, Any]) -> str:
+        return "</para>"
+    def hardbreak(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                  env: MutableMapping[str, Any]) -> str:
+        return "<literallayout>\n</literallayout>"
+    def softbreak(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                  env: MutableMapping[str, Any]) -> str:
+        # should check options.breaks() and emit hard break if so
+        return "\n"
+    def code_inline(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                    env: MutableMapping[str, Any]) -> str:
+        return f"<literal>{escape(token.content)}</literal>"
+    def code_block(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                   env: MutableMapping[str, Any]) -> str:
+        return f"<programlisting>{escape(token.content)}</programlisting>"
+    def link_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                  env: MutableMapping[str, Any]) -> str:
+        self._link_tags.append(token.tag)
+        href = cast(str, token.attrs['href'])
+        (attr, start) = ('linkend', 1) if href[0] == '#' else ('xlink:href', 0)
+        return f"<{token.tag} {attr}={quoteattr(href[start:])}>"
+    def link_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                   env: MutableMapping[str, Any]) -> str:
+        return f"</{self._link_tags.pop()}>"
+    def list_item_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                       env: MutableMapping[str, Any]) -> str:
+        return "<listitem>"
+    def list_item_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                        env: MutableMapping[str, Any]) -> str:
+        return "</listitem>\n"
+    # HACK open and close para for docbook change size. remove soon.
+    def bullet_list_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                         env: MutableMapping[str, Any]) -> str:
+        spacing = ' spacing="compact"' if token.attrs.get('compact', False) else ''
+        return f"<para><itemizedlist{spacing}>\n"
+    def bullet_list_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                          env: MutableMapping[str, Any]) -> str:
+        return "\n</itemizedlist></para>"
+    def em_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                env: MutableMapping[str, Any]) -> str:
+        return "<emphasis>"
+    def em_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                 env: MutableMapping[str, Any]) -> str:
+        return "</emphasis>"
+    def strong_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                    env: MutableMapping[str, Any]) -> str:
+        return "<emphasis role=\"strong\">"
+    def strong_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                     env: MutableMapping[str, Any]) -> str:
+        return "</emphasis>"
+    def fence(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+              env: MutableMapping[str, Any]) -> str:
+        info = f" language={quoteattr(token.info)}" if token.info != "" else ""
+        return f"<programlisting{info}>{escape(token.content)}</programlisting>"
+    def blockquote_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                        env: MutableMapping[str, Any]) -> str:
+        return "<para><blockquote>"
+    def blockquote_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                         env: MutableMapping[str, Any]) -> str:
+        return "</blockquote></para>"
+    def note_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                  env: MutableMapping[str, Any]) -> str:
+        return "<para><note>"
+    def note_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                   env: MutableMapping[str, Any]) -> str:
+        return "</note></para>"
+    def caution_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                     env: MutableMapping[str, Any]) -> str:
+        return "<para><caution>"
+    def caution_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                      env: MutableMapping[str, Any]) -> str:
+        return "</caution></para>"
+    def important_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                       env: MutableMapping[str, Any]) -> str:
+        return "<para><important>"
+    def important_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                        env: MutableMapping[str, Any]) -> str:
+        return "</important></para>"
+    def tip_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                 env: MutableMapping[str, Any]) -> str:
+        return "<para><tip>"
+    def tip_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                  env: MutableMapping[str, Any]) -> str:
+        return "</tip></para>"
+    def warning_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                     env: MutableMapping[str, Any]) -> str:
+        return "<para><warning>"
+    def warning_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                      env: MutableMapping[str, Any]) -> str:
+        return "</warning></para>"
+    # markdown-it emits tokens based on the html syntax tree, but docbook is
+    # slightly different. html has <dl>{<dt/>{<dd/>}}</dl>,
+    # docbook has <variablelist>{<varlistentry><term/><listitem/></varlistentry>}<variablelist>
+    # we have to reject multiple definitions for the same term for time being.
+    def dl_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                env: MutableMapping[str, Any]) -> str:
+        self._deflists.append(Deflist())
+        return "<para><variablelist>"
+    def dl_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                 env: MutableMapping[str, Any]) -> str:
+        self._deflists.pop()
+        return "</variablelist></para>"
+    def dt_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                env: MutableMapping[str, Any]) -> str:
+        self._deflists[-1].has_dd = False
+        return "<varlistentry><term>"
+    def dt_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                 env: MutableMapping[str, Any]) -> str:
+        return "</term>"
+    def dd_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                env: MutableMapping[str, Any]) -> str:
+        if self._deflists[-1].has_dd:
+            raise Exception("multiple definitions per term not supported")
+        self._deflists[-1].has_dd = True
+        return "<listitem>"
+    def dd_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                 env: MutableMapping[str, Any]) -> str:
+        return "</listitem></varlistentry>"
+    def myst_role(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                  env: MutableMapping[str, Any]) -> str:
+        if token.meta['name'] == 'command':
+            return f"<command>{escape(token.content)}</command>"
+        if token.meta['name'] == 'file':
+            return f"<filename>{escape(token.content)}</filename>"
+        if token.meta['name'] == 'var':
+            return f"<varname>{escape(token.content)}</varname>"
+        if token.meta['name'] == 'env':
+            return f"<envar>{escape(token.content)}</envar>"
+        if token.meta['name'] == 'option':
+            return f"<option>{escape(token.content)}</option>"
+        if token.meta['name'] == 'manpage':
+            [page, section] = [ s.strip() for s in token.content.rsplit('(', 1) ]
+            section = section[:-1]
+            man = f"{page}({section})"
+            title = f"<refentrytitle>{escape(page)}</refentrytitle>"
+            vol = f"<manvolnum>{escape(section)}</manvolnum>"
+            ref = f"<citerefentry>{title}{vol}</citerefentry>"
+            if man in self._manpage_urls:
+                return f"<link xlink:href={quoteattr(self._manpage_urls[man])}>{ref}</link>"
+            else:
+                return ref
+        raise NotImplementedError("md node not supported yet", token)
+    def inline_anchor(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                      env: MutableMapping[str, Any]) -> str:
+        return f'<anchor xml:id={quoteattr(cast(str, token.attrs["id"]))} />'
+    def ordered_list_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                          env: MutableMapping[str, Any]) -> str:
+        start = f' startingnumber="{token.attrs["start"]}"' if 'start' in token.attrs else ""
+        spacing = ' spacing="compact"' if token.attrs.get('compact', False) else ''
+        return f"<orderedlist{start}{spacing}>"
+    def ordered_list_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                           env: MutableMapping[str, Any]) -> str:
+        return f"</orderedlist>"
+    def heading_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                     env: MutableMapping[str, Any]) -> str:
+        hlevel = int(token.tag[1:])
+        result = self._close_headings(hlevel, env)
+        (tag, attrs) = self._heading_tag(token, tokens, i, options, env)
+        self._headings.append(Heading(tag, hlevel))
+        attrs_str = "".join([ f" {k}={quoteattr(v)}" for k, v in attrs.items() ])
+        return result + f'<{tag}{attrs_str}>\n<title>'
+    def heading_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                      env: MutableMapping[str, Any]) -> str:
+        return '</title>'
+
+    def _close_headings(self, level: Optional[int], env: MutableMapping[str, Any]) -> str:
+        # we rely on markdown-it producing h{1..6} tags in token.tag for this to work
+        result = []
+        while len(self._headings):
+            if level is None or self._headings[-1].level >= level:
+                result.append(f"</{self._headings[-1].container_tag}>")
+                self._headings.pop()
+            else:
+                break
+        return "\n".join(result)
+
+    def _heading_tag(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                     env: MutableMapping[str, Any]) -> tuple[str, dict[str, str]]:
+        attrs = {}
+        if id := token.attrs.get('id'):
+            attrs['xml:id'] = cast(str, id)
+        return ("section", attrs)
diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py
new file mode 100644
index 00000000000..361bc087789
--- /dev/null
+++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/manual.py
@@ -0,0 +1,143 @@
+import argparse
+import json
+
+from abc import abstractmethod
+from collections.abc import MutableMapping, Sequence
+from typing import Any, cast, NamedTuple, Optional, Union
+from xml.sax.saxutils import escape, quoteattr
+from markdown_it.token import Token
+from markdown_it.utils import OptionsDict
+
+from .docbook import DocBookRenderer
+from .md import Converter
+
+class RenderedSection:
+    id: Optional[str]
+    chapters: list[str]
+
+    def __init__(self, id: Optional[str]) -> None:
+        self.id = id
+        self.chapters = []
+
+class BaseConverter(Converter):
+    _sections: list[RenderedSection]
+
+    def __init__(self, manpage_urls: dict[str, str]):
+        super().__init__(manpage_urls)
+        self._sections = []
+
+    def add_section(self, id: Optional[str], chapters: list[str]) -> None:
+        self._sections.append(RenderedSection(id))
+        for content in chapters:
+            self._md.renderer._title_seen = False # type: ignore[attr-defined]
+            self._sections[-1].chapters.append(self._render(content))
+
+    @abstractmethod
+    def finalize(self) -> str: raise NotImplementedError()
+
+class ManualDocBookRenderer(DocBookRenderer):
+    # needed to check correctness of chapters.
+    # we may want to use front matter instead of this kind of heuristic.
+    _title_seen = False
+
+    def _heading_tag(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                     env: MutableMapping[str, Any]) -> tuple[str, dict[str, str]]:
+        (tag, attrs) = super()._heading_tag(token, tokens, i, options, env)
+        if self._title_seen:
+            if token.tag == 'h1':
+                raise RuntimeError("only one title heading allowed", token)
+            return (tag, attrs)
+        self._title_seen = True
+        return ("chapter", attrs | {
+            'xmlns': "http://docbook.org/ns/docbook",
+            'xmlns:xlink': "http://www.w3.org/1999/xlink",
+        })
+
+    # TODO minimize docbook diffs with existing conversions. remove soon.
+    def paragraph_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                       env: MutableMapping[str, Any]) -> str:
+        return super().paragraph_open(token, tokens, i, options, env) + "\n "
+    def paragraph_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                        env: MutableMapping[str, Any]) -> str:
+        return "\n" + super().paragraph_close(token, tokens, i, options, env)
+    def code_block(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                   env: MutableMapping[str, Any]) -> str:
+        return f"<programlisting>\n{escape(token.content)}</programlisting>"
+    def fence(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+              env: MutableMapping[str, Any]) -> str:
+        info = f" language={quoteattr(token.info)}" if token.info != "" else ""
+        return f"<programlisting{info}>\n{escape(token.content)}</programlisting>"
+
+class DocBookConverter(BaseConverter):
+    __renderer__ = ManualDocBookRenderer
+
+    def finalize(self) -> str:
+        result = []
+
+        for section in self._sections:
+            id = "id=" + quoteattr(section.id) if section.id is not None else ""
+            result.append(f'<section {id}>')
+            result += section.chapters
+            result.append(f'</section>')
+
+        return "\n".join(result)
+
+
+
+class Section:
+    id: Optional[str] = None
+    chapters: list[str]
+
+    def __init__(self) -> None:
+        self.chapters = []
+
+class SectionAction(argparse.Action):
+    def __call__(self, parser: argparse.ArgumentParser, ns: argparse.Namespace,
+                 values: Union[str, Sequence[Any], None], opt_str: Optional[str] = None) -> None:
+        sections = getattr(ns, self.dest)
+        if sections is None: sections = []
+        sections.append(Section())
+        setattr(ns, self.dest, sections)
+
+class SectionIDAction(argparse.Action):
+    def __call__(self, parser: argparse.ArgumentParser, ns: argparse.Namespace,
+                 values: Union[str, Sequence[Any], None], opt_str: Optional[str] = None) -> None:
+        sections = getattr(ns, self.dest)
+        if sections is None: raise argparse.ArgumentError(self, "no active section")
+        sections[-1].id = cast(str, values)
+
+class ChaptersAction(argparse.Action):
+    def __call__(self, parser: argparse.ArgumentParser, ns: argparse.Namespace,
+                 values: Union[str, Sequence[Any], None], opt_str: Optional[str] = None) -> None:
+        sections = getattr(ns, self.dest)
+        if sections is None: raise argparse.ArgumentError(self, "no active section")
+        sections[-1].chapters.extend(cast(Sequence[str], values))
+
+def _build_cli_db(p: argparse.ArgumentParser) -> None:
+    p.add_argument('--manpage-urls', required=True)
+    p.add_argument("outfile")
+    p.add_argument("--section", dest="contents", action=SectionAction, nargs=0)
+    p.add_argument("--section-id", dest="contents", action=SectionIDAction)
+    p.add_argument("--chapters", dest="contents", action=ChaptersAction, nargs='+')
+
+def _run_cli_db(args: argparse.Namespace) -> None:
+    with open(args.manpage_urls, 'r') as manpage_urls:
+        md = DocBookConverter(json.load(manpage_urls))
+        for section in args.contents:
+            chapters = []
+            for p in section.chapters:
+                with open(p, 'r') as f:
+                    chapters.append(f.read())
+            md.add_section(section.id, chapters)
+        with open(args.outfile, 'w') as f:
+            f.write(md.finalize())
+
+def build_cli(p: argparse.ArgumentParser) -> None:
+    formats = p.add_subparsers(dest='format', required=True)
+    _build_cli_db(formats.add_parser('docbook'))
+
+def run_cli(args: argparse.Namespace) -> None:
+    if args.format == 'docbook':
+        _run_cli_db(args)
+    else:
+        raise RuntimeError('format not hooked up', args)
diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/md.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/md.py
new file mode 100644
index 00000000000..c08675870f6
--- /dev/null
+++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/md.py
@@ -0,0 +1,385 @@
+from abc import ABC
+from collections.abc import Mapping, MutableMapping, Sequence
+from frozendict import frozendict # type: ignore[attr-defined]
+from typing import Any, Callable, Optional
+
+import re
+
+from .types import RenderFn
+
+import markdown_it
+from markdown_it.token import Token
+from markdown_it.utils import OptionsDict
+from mdit_py_plugins.container import container_plugin # type: ignore[attr-defined]
+from mdit_py_plugins.deflist import deflist_plugin # type: ignore[attr-defined]
+from mdit_py_plugins.myst_role import myst_role_plugin # type: ignore[attr-defined]
+
+_md_escape_table = {
+    ord('*'): '\\*',
+    ord('<'): '\\<',
+    ord('['): '\\[',
+    ord('`'): '\\`',
+    ord('.'): '\\.',
+    ord('#'): '\\#',
+    ord('&'): '\\&',
+    ord('\\'): '\\\\',
+}
+def md_escape(s: str) -> str:
+    return s.translate(_md_escape_table)
+
+class Renderer(markdown_it.renderer.RendererProtocol):
+    _admonitions: dict[str, tuple[RenderFn, RenderFn]]
+    _admonition_stack: list[str]
+
+    def __init__(self, manpage_urls: Mapping[str, str], parser: Optional[markdown_it.MarkdownIt] = None):
+        self._manpage_urls = manpage_urls
+        self.rules = {
+            'text': self.text,
+            'paragraph_open': self.paragraph_open,
+            'paragraph_close': self.paragraph_close,
+            'hardbreak': self.hardbreak,
+            'softbreak': self.softbreak,
+            'code_inline': self.code_inline,
+            'code_block': self.code_block,
+            'link_open': self.link_open,
+            'link_close': self.link_close,
+            'list_item_open': self.list_item_open,
+            'list_item_close': self.list_item_close,
+            'bullet_list_open': self.bullet_list_open,
+            'bullet_list_close': self.bullet_list_close,
+            'em_open': self.em_open,
+            'em_close': self.em_close,
+            'strong_open': self.strong_open,
+            'strong_close': self.strong_close,
+            'fence': self.fence,
+            'blockquote_open': self.blockquote_open,
+            'blockquote_close': self.blockquote_close,
+            'dl_open': self.dl_open,
+            'dl_close': self.dl_close,
+            'dt_open': self.dt_open,
+            'dt_close': self.dt_close,
+            'dd_open': self.dd_open,
+            'dd_close': self.dd_close,
+            'myst_role': self.myst_role,
+            "container_admonition_open": self.admonition_open,
+            "container_admonition_close": self.admonition_close,
+            "inline_anchor": self.inline_anchor,
+            "heading_open": self.heading_open,
+            "heading_close": self.heading_close,
+            "ordered_list_open": self.ordered_list_open,
+            "ordered_list_close": self.ordered_list_close,
+        }
+
+        self._admonitions = {
+            "{.note}": (self.note_open, self.note_close),
+            "{.caution}": (self.caution_open,self.caution_close),
+            "{.tip}": (self.tip_open, self.tip_close),
+            "{.important}": (self.important_open, self.important_close),
+            "{.warning}": (self.warning_open, self.warning_close),
+        }
+        self._admonition_stack = []
+
+    def admonition_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                        env: MutableMapping[str, Any]) -> str:
+        tag = token.info.strip()
+        self._admonition_stack.append(tag)
+        return self._admonitions[tag][0](token, tokens, i, options, env)
+    def admonition_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                         env: MutableMapping[str, Any]) -> str:
+        return self._admonitions[self._admonition_stack.pop()][1](token, tokens, i, options, env)
+
+    def render(self, tokens: Sequence[Token], options: OptionsDict,
+               env: MutableMapping[str, Any]) -> str:
+        def do_one(i: int, token: Token) -> str:
+            if token.type == "inline":
+                assert token.children is not None
+                return self.renderInline(token.children, options, env)
+            elif token.type in self.rules:
+                return self.rules[token.type](tokens[i], tokens, i, options, env)
+            else:
+                raise NotImplementedError("md token not supported yet", token)
+        return "".join(map(lambda arg: do_one(*arg), enumerate(tokens)))
+    def renderInline(self, tokens: Sequence[Token], options: OptionsDict,
+                     env: MutableMapping[str, Any]) -> str:
+        def do_one(i: int, token: Token) -> str:
+            if token.type in self.rules:
+                return self.rules[token.type](tokens[i], tokens, i, options, env)
+            else:
+                raise NotImplementedError("md token not supported yet", token)
+        return "".join(map(lambda arg: do_one(*arg), enumerate(tokens)))
+
+    def text(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+             env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def paragraph_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                       env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def paragraph_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                        env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def hardbreak(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                  env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def softbreak(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                  env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def code_inline(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                    env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def code_block(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                   env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def link_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                  env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def link_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                   env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def list_item_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                       env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def list_item_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                        env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def bullet_list_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                         env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def bullet_list_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                          env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def em_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def em_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                 env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def strong_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                    env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def strong_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                     env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def fence(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+              env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def blockquote_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                        env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def blockquote_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                         env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def note_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                  env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def note_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                   env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def caution_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                     env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def caution_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                      env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def important_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                       env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def important_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                        env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def tip_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                 env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def tip_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                  env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def warning_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                     env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def warning_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                      env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def dl_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def dl_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                 env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def dt_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def dt_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                 env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def dd_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def dd_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                 env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def myst_role(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                  env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def inline_anchor(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                      env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def heading_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                     env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def heading_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                      env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def ordered_list_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                          env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+    def ordered_list_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                           env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported", token)
+
+def _is_escaped(src: str, pos: int) -> bool:
+    found = 0
+    while pos >= 0 and src[pos] == '\\':
+        found += 1
+        pos -= 1
+    return found % 2 == 1
+
+_INLINE_ANCHOR_PATTERN = re.compile(r"\{\s*#([\w-]+)\s*\}")
+
+def _inline_anchor_plugin(md: markdown_it.MarkdownIt) -> None:
+    def inline_anchor(state: markdown_it.rules_inline.StateInline, silent: bool) -> bool:
+        if state.src[state.pos] != '[':
+            return False
+        if _is_escaped(state.src, state.pos - 1):
+            return False
+
+        # treat the inline span like a link label for simplicity.
+        label_begin = state.pos + 1
+        label_end = markdown_it.helpers.parseLinkLabel(state, state.pos)
+        input_end = state.posMax
+        if label_end < 0:
+            return False
+
+        # match id
+        match = _INLINE_ANCHOR_PATTERN.match(state.src[label_end + 1 : ])
+        if not match:
+            return False
+
+        if not silent:
+            token = state.push("inline_anchor", "", 0) # type: ignore[no-untyped-call]
+            token.attrs['id'] = match[1]
+
+            state.pos = label_begin
+            state.posMax = label_end
+            state.md.inline.tokenize(state)
+
+        state.pos = label_end + match.end() + 1
+        state.posMax = input_end
+        return True
+
+    md.inline.ruler.before("link", "inline_anchor", inline_anchor)
+
+def _inline_comment_plugin(md: markdown_it.MarkdownIt) -> None:
+    def inline_comment(state: markdown_it.rules_inline.StateInline, silent: bool) -> bool:
+        if state.src[state.pos : state.pos + 4] != '<!--':
+            return False
+        if _is_escaped(state.src, state.pos - 1):
+            return False
+        for i in range(state.pos + 4, state.posMax - 2):
+            if state.src[i : i + 3] == '-->': # -->
+                state.pos = i + 3
+                return True
+
+        return False
+
+    md.inline.ruler.after("autolink", "inline_comment", inline_comment)
+
+def _block_comment_plugin(md: markdown_it.MarkdownIt) -> None:
+    def block_comment(state: markdown_it.rules_block.StateBlock, startLine: int, endLine: int,
+                      silent: bool) -> bool:
+        pos = state.bMarks[startLine] + state.tShift[startLine]
+        posMax = state.eMarks[startLine]
+
+        if state.src[pos : pos + 4] != '<!--':
+            return False
+
+        nextLine = startLine
+        while nextLine < endLine:
+            pos = state.bMarks[nextLine] + state.tShift[nextLine]
+            posMax = state.eMarks[nextLine]
+
+            if state.src[posMax - 3 : posMax] == '-->':
+                state.line = nextLine + 1
+                return True
+
+            nextLine += 1
+
+        return False
+
+    md.block.ruler.after("code", "block_comment", block_comment)
+
+_HEADER_ID_RE = re.compile(r"\s*\{\s*\#([\w-]+)\s*\}\s*$")
+
+class Converter(ABC):
+    __renderer__: Callable[[Mapping[str, str], markdown_it.MarkdownIt], Renderer]
+
+    def __init__(self, manpage_urls: Mapping[str, str]):
+        self._manpage_urls = frozendict(manpage_urls)
+
+        self._md = markdown_it.MarkdownIt(
+            "commonmark",
+            {
+                'maxNesting': 100,   # default is 20
+                'html': False,       # not useful since we target many formats
+                'typographer': True, # required for smartquotes
+            },
+            renderer_cls=lambda parser: self.__renderer__(self._manpage_urls, parser)
+        )
+        self._md.use(
+            container_plugin,
+            name="admonition",
+            validate=lambda name, *args: (
+                name.strip() in self._md.renderer._admonitions # type: ignore[attr-defined]
+            )
+        )
+        self._md.use(deflist_plugin)
+        self._md.use(myst_role_plugin)
+        self._md.use(_inline_anchor_plugin)
+        self._md.use(_inline_comment_plugin)
+        self._md.use(_block_comment_plugin)
+        self._md.enable(["smartquotes", "replacements"])
+
+    def _post_parse(self, tokens: list[Token]) -> list[Token]:
+        for i in range(0, len(tokens)):
+            # parse header IDs. this is purposely simple and doesn't support
+            # classes or other inds of attributes.
+            if tokens[i].type == 'heading_open':
+                children = tokens[i + 1].children
+                assert children is not None
+                if len(children) == 0 or children[-1].type != 'text':
+                    continue
+                if m := _HEADER_ID_RE.search(children[-1].content):
+                    tokens[i].attrs['id'] = m[1]
+                    children[-1].content = children[-1].content[:-len(m[0])].rstrip()
+
+        # markdown-it signifies wide lists by setting the wrapper paragraphs
+        # of each item to hidden. this is not useful for our stylesheets, which
+        # signify this with a special css class on list elements instead.
+        wide_stack = []
+        for i in range(0, len(tokens)):
+            if tokens[i].type in [ 'bullet_list_open', 'ordered_list_open' ]:
+                wide_stack.append([i, True])
+            elif tokens[i].type in [ 'bullet_list_close', 'ordered_list_close' ]:
+                (idx, compact) = wide_stack.pop()
+                tokens[idx].attrs['compact'] = compact
+            elif len(wide_stack) > 0 and tokens[i].type == 'paragraph_open' and not tokens[i].hidden:
+                wide_stack[-1][1] = False
+
+        return tokens
+
+    def _parse(self, src: str, env: Optional[MutableMapping[str, Any]] = None) -> list[Token]:
+        tokens = self._md.parse(src, env if env is not None else {})
+        return self._post_parse(tokens)
+
+    def _render(self, src: str) -> str:
+        env: dict[str, Any] = {}
+        tokens = self._parse(src, env)
+        return self._md.renderer.render(tokens, self._md.options, env) # type: ignore[no-any-return]
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
new file mode 100644
index 00000000000..3667c7bbcde
--- /dev/null
+++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/options.py
@@ -0,0 +1,284 @@
+import argparse
+import json
+
+from abc import abstractmethod
+from collections.abc import MutableMapping, Sequence
+from markdown_it.utils import OptionsDict
+from markdown_it.token import Token
+from typing import Any, Optional
+from xml.sax.saxutils import escape, quoteattr
+
+from .docbook import DocBookRenderer, make_xml_id
+from .md import Converter, md_escape
+from .types import OptionLoc, Option, RenderedOption
+
+def option_is(option: Option, key: str, typ: str) -> Optional[dict[str, str]]:
+    if key not in option:
+        return None
+    if type(option[key]) != dict:
+        return None
+    if option[key].get('_type') != typ: # type: ignore[union-attr]
+        return None
+    return option[key] # type: ignore[return-value]
+
+class BaseConverter(Converter):
+    _options: dict[str, RenderedOption]
+
+    def __init__(self, manpage_urls: dict[str, str],
+                 revision: str,
+                 document_type: str,
+                 varlist_id: str,
+                 id_prefix: str,
+                 markdown_by_default: bool):
+        super().__init__(manpage_urls)
+        self._options = {}
+        self._revision = revision
+        self._document_type = document_type
+        self._varlist_id = varlist_id
+        self._id_prefix = id_prefix
+        self._markdown_by_default = markdown_by_default
+
+    def _format_decl_def_loc(self, loc: OptionLoc) -> tuple[Optional[str], str]:
+        # locations can be either plain strings (specific to nixpkgs), or attrsets
+        # { name = "foo/bar.nix"; url = "https://github.com/....."; }
+        if isinstance(loc, str):
+            # Hyperlink the filename either to the NixOS github
+            # repository (if it’s a module and we have a revision number),
+            # or to the local filesystem.
+            if not loc.startswith('/'):
+                if self._revision == 'local':
+                    href = f"https://github.com/NixOS/nixpkgs/blob/master/{loc}"
+                else:
+                    href = f"https://github.com/NixOS/nixpkgs/blob/{self._revision}/{loc}"
+            else:
+                href = f"file://{loc}"
+            # Print the filename and make it user-friendly by replacing the
+            # /nix/store/<hash> prefix by the default location of nixos
+            # sources.
+            if not loc.startswith('/'):
+                name = f"<nixpkgs/{loc}>"
+            elif 'nixops' in loc and '/nix/' in loc:
+                name = f"<nixops/{loc[loc.find('/nix/') + 5:]}>"
+            else:
+                name = loc
+            return (href, name)
+        else:
+            return (loc['url'] if 'url' in loc else None, loc['name'])
+
+    @abstractmethod
+    def _decl_def_header(self, header: str) -> list[str]: raise NotImplementedError()
+
+    @abstractmethod
+    def _decl_def_entry(self, href: Optional[str], name: str) -> list[str]: raise NotImplementedError()
+
+    @abstractmethod
+    def _decl_def_footer(self) -> list[str]: raise NotImplementedError()
+
+    def _render_decl_def(self, header: str, locs: list[OptionLoc]) -> list[str]:
+        result = []
+        result += self._decl_def_header(header)
+        for loc in locs:
+            href, name = self._format_decl_def_loc(loc)
+            result += self._decl_def_entry(href, name)
+        result += self._decl_def_footer()
+        return result
+
+    def _render_code(self, option: Option, key: str) -> list[str]:
+        if lit := option_is(option, key, 'literalMD'):
+            return [ self._render(f"*{key.capitalize()}:*\n{lit['text']}") ]
+        elif lit := option_is(option, key, 'literalExpression'):
+            code = lit['text']
+            # for multi-line code blocks we only have to count ` runs at the beginning
+            # of a line, but this is much easier.
+            multiline = '\n' in code
+            longest, current = (0, 0)
+            for c in code:
+                current = current + 1 if c == '`' else 0
+                longest = max(current, longest)
+            # inline literals need a space to separate ticks from content, code blocks
+            # need newlines. inline literals need one extra tick, code blocks need three.
+            ticks, sep = ('`' * (longest + (3 if multiline else 1)), '\n' if multiline else ' ')
+            code = f"{ticks}{sep}{code}{sep}{ticks}"
+            return [ self._render(f"*{key.capitalize()}:*\n{code}") ]
+        elif key in option:
+            raise Exception(f"{key} has unrecognized type", option[key])
+        else:
+            return []
+
+    def _render_description(self, desc: str | dict[str, str]) -> list[str]:
+        if isinstance(desc, str) and self._markdown_by_default:
+            return [ self._render(desc) ]
+        elif isinstance(desc, dict) and desc.get('_type') == 'mdDoc':
+            return [ self._render(desc['text']) ]
+        else:
+            raise Exception("description has unrecognized type", desc)
+
+    @abstractmethod
+    def _related_packages_header(self) -> list[str]: raise NotImplementedError()
+
+    def _convert_one(self, option: dict[str, Any]) -> list[str]:
+        result = []
+
+        if desc := option.get('description'):
+            result += self._render_description(desc)
+        if typ := option.get('type'):
+            ro = " *(read only)*" if option.get('readOnly', False) else ""
+            result.append(self._render(f"*Type:* {md_escape(typ)}{ro}"))
+
+        result += self._render_code(option, 'default')
+        result += self._render_code(option, 'example')
+
+        if related := option.get('relatedPackages'):
+            result += self._related_packages_header()
+            result.append(self._render(related))
+        if decl := option.get('declarations'):
+            result += self._render_decl_def("Declared by", decl)
+        if defs := option.get('definitions'):
+            result += self._render_decl_def("Defined by", defs)
+
+        return result
+
+    def add_options(self, options: dict[str, Any]) -> None:
+        for (name, option) in options.items():
+            try:
+                self._options[name] = RenderedOption(option['loc'], self._convert_one(option))
+            except Exception as e:
+                raise Exception(f"Failed to render option {name}") from e
+
+    @abstractmethod
+    def finalize(self) -> str: raise NotImplementedError()
+
+class OptionsDocBookRenderer(DocBookRenderer):
+    def heading_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                     env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported in options doc", token)
+    def heading_close(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                      env: MutableMapping[str, Any]) -> str:
+        raise RuntimeError("md token not supported in options doc", token)
+
+    # TODO keep optionsDocBook diff small. remove soon if rendering is still good.
+    def ordered_list_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                          env: MutableMapping[str, Any]) -> str:
+        token.attrs['compact'] = False
+        return super().ordered_list_open(token, tokens, i, options, env)
+    def bullet_list_open(self, token: Token, tokens: Sequence[Token], i: int, options: OptionsDict,
+                         env: MutableMapping[str, Any]) -> str:
+        token.attrs['compact'] = False
+        return super().bullet_list_open(token, tokens, i, options, env)
+
+class DocBookConverter(BaseConverter):
+    __renderer__ = OptionsDocBookRenderer
+
+    def _render_code(self, option: dict[str, Any], key: str) -> list[str]:
+        if lit := option_is(option, key, 'literalDocBook'):
+            return [ f"<para><emphasis>{key.capitalize()}:</emphasis> {lit['text']}</para>" ]
+        else:
+            return super()._render_code(option, key)
+
+    def _render_description(self, desc: str | dict[str, Any]) -> list[str]:
+        if isinstance(desc, str) and not self._markdown_by_default:
+            return [ f"<nixos:option-description><para>{desc}</para></nixos:option-description>" ]
+        else:
+            return super()._render_description(desc)
+
+    def _related_packages_header(self) -> list[str]:
+        return [
+            "<para>",
+            "  <emphasis>Related packages:</emphasis>",
+            "</para>",
+        ]
+
+    def _decl_def_header(self, header: str) -> list[str]:
+        return [
+            f"<para><emphasis>{header}:</emphasis></para>",
+            "<simplelist>"
+        ]
+
+    def _decl_def_entry(self, href: Optional[str], name: str) -> list[str]:
+        if href is not None:
+            href = " xlink:href=" + quoteattr(href)
+        return [
+            f"<member><filename{href}>",
+            escape(name),
+            "</filename></member>"
+        ]
+
+    def _decl_def_footer(self) -> list[str]:
+        return [ "</simplelist>" ]
+
+    def finalize(self) -> str:
+        keys = list(self._options.keys())
+        keys.sort(key=lambda opt: [ (0 if p.startswith("enable") else 1 if p.startswith("package") else 2, p)
+                                    for p in self._options[opt].loc ])
+
+        result = []
+
+        result.append('<?xml version="1.0" encoding="UTF-8"?>')
+        if self._document_type == 'appendix':
+            result += [
+                '<appendix xmlns="http://docbook.org/ns/docbook"',
+                '          xml:id="appendix-configuration-options">',
+                '  <title>Configuration Options</title>',
+            ]
+        result += [
+            f'<variablelist xmlns:xlink="http://www.w3.org/1999/xlink"',
+            '               xmlns:nixos="tag:nixos.org"',
+            '               xmlns="http://docbook.org/ns/docbook"',
+            f'              xml:id="{self._varlist_id}">',
+        ]
+
+        for name in keys:
+            id = make_xml_id(self._id_prefix + name)
+            result += [
+                "<varlistentry>",
+                # NOTE adding extra spaces here introduces spaces into xref link expansions
+                (f"<term xlink:href={quoteattr('#' + id)} xml:id={quoteattr(id)}>" +
+                 f"<option>{escape(name)}</option></term>"),
+                "<listitem>"
+            ]
+            result += self._options[name].lines
+            result += [
+                "</listitem>",
+                "</varlistentry>"
+            ]
+
+        result.append("</variablelist>")
+        if self._document_type == 'appendix':
+            result.append("</appendix>")
+
+        return "\n".join(result)
+
+def _build_cli_db(p: argparse.ArgumentParser) -> None:
+    p.add_argument('--manpage-urls', required=True)
+    p.add_argument('--revision', required=True)
+    p.add_argument('--document-type', required=True)
+    p.add_argument('--varlist-id', required=True)
+    p.add_argument('--id-prefix', required=True)
+    p.add_argument('--markdown-by-default', default=False, action='store_true')
+    p.add_argument("infile")
+    p.add_argument("outfile")
+
+def _run_cli_db(args: argparse.Namespace) -> None:
+    with open(args.manpage_urls, 'r') as manpage_urls:
+        md = DocBookConverter(
+            json.load(manpage_urls),
+            revision = args.revision,
+            document_type = args.document_type,
+            varlist_id = args.varlist_id,
+            id_prefix = args.id_prefix,
+            markdown_by_default = args.markdown_by_default)
+
+        with open(args.infile, 'r') as f:
+            md.add_options(json.load(f))
+        with open(args.outfile, 'w') as f:
+            f.write(md.finalize())
+
+def build_cli(p: argparse.ArgumentParser) -> None:
+    formats = p.add_subparsers(dest='format', required=True)
+    _build_cli_db(formats.add_parser('docbook'))
+
+def run_cli(args: argparse.Namespace) -> None:
+    if args.format == 'docbook':
+        _run_cli_db(args)
+    else:
+        raise RuntimeError('format not hooked up', args)
diff --git a/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/types.py b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/types.py
new file mode 100644
index 00000000000..7814b3a4854
--- /dev/null
+++ b/pkgs/tools/nix/nixos-render-docs/src/nixos_render_docs/types.py
@@ -0,0 +1,13 @@
+from collections.abc import Sequence, MutableMapping
+from typing import Any, Callable, Optional, Tuple, NamedTuple
+
+from markdown_it.token import Token
+from markdown_it.utils import OptionsDict
+
+OptionLoc = str | dict[str, str]
+Option = dict[str, str | dict[str, str] | list[OptionLoc]]
+
+RenderedOption = NamedTuple('RenderedOption', [('loc', list[str]),
+                                               ('lines', list[str])])
+
+RenderFn = Callable[[Token, Sequence[Token], int, OptionsDict, MutableMapping[str, Any]], str]
diff --git a/pkgs/tools/nix/nixos-render-docs/src/pyproject.toml b/pkgs/tools/nix/nixos-render-docs/src/pyproject.toml
new file mode 100644
index 00000000000..d66643ef842
--- /dev/null
+++ b/pkgs/tools/nix/nixos-render-docs/src/pyproject.toml
@@ -0,0 +1,15 @@
+[project]
+name = "nixos-render-docs"
+version = "0.0"
+description = "Renderer for NixOS manual and option docs"
+classifiers = [
+    "Programming Language :: Python :: 3",
+    "License :: OSI Approved :: MIT License",
+    "Operating System :: OS Independent",
+]
+
+[project.scripts]
+nixos-render-docs = "nixos_render_docs:main"
+
+[build-system]
+requires = ["setuptools"]
diff --git a/pkgs/tools/nix/nixos-render-docs/src/tests/test_headings.py b/pkgs/tools/nix/nixos-render-docs/src/tests/test_headings.py
new file mode 100644
index 00000000000..0b73cdc8e7c
--- /dev/null
+++ b/pkgs/tools/nix/nixos-render-docs/src/tests/test_headings.py
@@ -0,0 +1,102 @@
+import nixos_render_docs
+
+from markdown_it.token import Token
+
+class Converter(nixos_render_docs.md.Converter):
+    # actual renderer doesn't matter, we're just parsing.
+    __renderer__ = nixos_render_docs.docbook.DocBookRenderer
+
+def test_heading_id_absent() -> None:
+    c = Converter({})
+    assert c._parse("# foo") == [
+        Token(type='heading_open', tag='h1', nesting=1, attrs={}, map=[0, 1], level=0, children=None,
+              content='', markup='#', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=1,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='foo', markup='', info='', meta={}, block=False, hidden=False)
+              ],
+              content='foo', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='heading_close', tag='h1', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='#', info='', meta={}, block=True, hidden=False)
+    ]
+
+def test_heading_id_present() -> None:
+    c = Converter({})
+    assert c._parse("# foo {#foo}\n## bar { #bar}\n### bal { #bal}  ") == [
+        Token(type='heading_open', tag='h1', nesting=1, attrs={'id': 'foo'}, map=[0, 1], level=0,
+              children=None, content='', markup='#', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=1,
+              content='foo {#foo}', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='foo', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='heading_close', tag='h1', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='#', info='', meta={}, block=True, hidden=False),
+        Token(type='heading_open', tag='h2', nesting=1, attrs={'id': 'bar'}, map=[1, 2], level=0,
+              children=None, content='', markup='##', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[1, 2], level=1,
+              content='bar { #bar}', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='bar', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='heading_close', tag='h2', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='##', info='', meta={}, block=True, hidden=False),
+        Token(type='heading_open', tag='h3', nesting=1, attrs={'id': 'bal'}, map=[2, 3], level=0,
+              children=None, content='', markup='###', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[2, 3], level=1,
+              content='bal { #bal}', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='bal', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='heading_close', tag='h3', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='###', info='', meta={}, block=True, hidden=False)
+    ]
+
+def test_heading_id_incomplete() -> None:
+    c = Converter({})
+    assert c._parse("# foo {#}") == [
+        Token(type='heading_open', tag='h1', nesting=1, attrs={}, map=[0, 1], level=0, children=None,
+              content='', markup='#', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=1,
+              content='foo {#}', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='foo {#}', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='heading_close', tag='h1', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='#', info='', meta={}, block=True, hidden=False)
+    ]
+
+def test_heading_id_double() -> None:
+    c = Converter({})
+    assert c._parse("# foo {#a} {#b}") == [
+        Token(type='heading_open', tag='h1', nesting=1, attrs={'id': 'b'}, map=[0, 1], level=0,
+              children=None, content='', markup='#', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=1,
+              content='foo {#a} {#b}', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='foo {#a}', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='heading_close', tag='h1', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='#', info='', meta={}, block=True, hidden=False)
+    ]
+
+def test_heading_id_suffixed() -> None:
+    c = Converter({})
+    assert c._parse("# foo {#a} s") == [
+        Token(type='heading_open', tag='h1', nesting=1, attrs={}, map=[0, 1], level=0,
+              children=None, content='', markup='#', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=1,
+              content='foo {#a} s', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='foo {#a} s', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='heading_close', tag='h1', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='#', info='', meta={}, block=True, hidden=False)
+    ]
diff --git a/pkgs/tools/nix/nixos-render-docs/src/tests/test_lists.py b/pkgs/tools/nix/nixos-render-docs/src/tests/test_lists.py
new file mode 100644
index 00000000000..0f5d2840736
--- /dev/null
+++ b/pkgs/tools/nix/nixos-render-docs/src/tests/test_lists.py
@@ -0,0 +1,182 @@
+import nixos_render_docs
+import pytest
+
+from markdown_it.token import Token
+
+class Converter(nixos_render_docs.md.Converter):
+    # actual renderer doesn't matter, we're just parsing.
+    __renderer__ = nixos_render_docs.docbook.DocBookRenderer
+
+@pytest.mark.parametrize("ordered", [True, False])
+def test_list_wide(ordered: bool) -> None:
+    t, tag, m, e1, e2, i1, i2 = (
+        ("ordered", "ol", ".", "1.", "2.", "1", "2") if ordered else ("bullet", "ul", "-", "-", "-", "", "")
+    )
+    c = Converter({})
+    assert c._parse(f"{e1} a\n\n{e2} b") == [
+        Token(type=f'{t}_list_open', tag=tag, nesting=1, attrs={'compact': False}, map=[0, 3], level=0,
+              children=None, content='', markup=m, info='', meta={}, block=True, hidden=False),
+        Token(type='list_item_open', tag='li', nesting=1, attrs={}, map=[0, 2], level=1, children=None,
+              content='', markup=m, info=i1, meta={}, block=True, hidden=False),
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=2, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=3,
+              content='a', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='a', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=2, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='list_item_close', tag='li', nesting=-1, attrs={}, map=None, level=1, children=None,
+              content='', markup=m, info='', meta={}, block=True, hidden=False),
+        Token(type='list_item_open', tag='li', nesting=1, attrs={}, map=[2, 3], level=1, children=None,
+              content='', markup=m, info=i2, meta={}, block=True, hidden=False),
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[2, 3], level=2, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[2, 3], level=3,
+              content='b', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='b', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=2, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='list_item_close', tag='li', nesting=-1, attrs={}, map=None, level=1, children=None,
+              content='', markup=m, info='', meta={}, block=True, hidden=False),
+        Token(type=f'{t}_list_close', tag=tag, nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup=m, info='', meta={}, block=True, hidden=False)
+    ]
+
+@pytest.mark.parametrize("ordered", [True, False])
+def test_list_narrow(ordered: bool) -> None:
+    t, tag, m, e1, e2, i1, i2 = (
+        ("ordered", "ol", ".", "1.", "2.", "1", "2") if ordered else ("bullet", "ul", "-", "-", "-", "", "")
+    )
+    c = Converter({})
+    assert c._parse(f"{e1} a\n{e2} b") == [
+        Token(type=f'{t}_list_open', tag=tag, nesting=1, attrs={'compact': True}, map=[0, 2], level=0,
+              children=None, content='', markup=m, info='', meta={}, block=True, hidden=False),
+        Token(type='list_item_open', tag='li', nesting=1, attrs={}, map=[0, 1], level=1, children=None,
+              content='', markup=m, info=i1, meta={}, block=True, hidden=False),
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=2, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=True),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=3,
+              content='a', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='a', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=2, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=True),
+        Token(type='list_item_close', tag='li', nesting=-1, attrs={}, map=None, level=1, children=None,
+              content='', markup=m, info='', meta={}, block=True, hidden=False),
+        Token(type='list_item_open', tag='li', nesting=1, attrs={}, map=[1, 2], level=1, children=None,
+              content='', markup=m, info=i2, meta={}, block=True, hidden=False),
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[1, 2], level=2, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=True),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[1, 2], level=3,
+              content='b', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='b', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=2, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=True),
+        Token(type='list_item_close', tag='li', nesting=-1, attrs={}, map=None, level=1, children=None,
+              content='', markup=m, info='', meta={}, block=True, hidden=False),
+        Token(type=f'{t}_list_close', tag=tag, nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup=m, info='', meta={}, block=True, hidden=False)
+    ]
+    assert c._parse(f"{e1} - a\n{e2} b") == [
+        Token(type=f'{t}_list_open', tag=tag, nesting=1, attrs={'compact': True}, map=[0, 2], level=0,
+              children=None, content='', markup=m, info='', meta={}, block=True, hidden=False),
+        Token(type='list_item_open', tag='li', nesting=1, attrs={}, map=[0, 1], level=1, children=None,
+              content='', markup=m, info=i1, meta={}, block=True, hidden=False),
+        Token(type='bullet_list_open', tag='ul', nesting=1, attrs={'compact': True}, map=[0, 1], level=2,
+              children=None, content='', markup='-', info='', meta={}, block=True, hidden=False),
+        Token(type='list_item_open', tag='li', nesting=1, attrs={}, map=[0, 1], level=3, children=None,
+              content='', markup='-', info='', meta={}, block=True, hidden=False),
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=4, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=True),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=5,
+              content='a', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='a', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=4, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=True),
+        Token(type='list_item_close', tag='li', nesting=-1, attrs={}, map=None, level=3, children=None,
+              content='', markup='-', info='', meta={}, block=True, hidden=False),
+        Token(type='bullet_list_close', tag='ul', nesting=-1, attrs={}, map=None, level=2, children=None,
+              content='', markup='-', info='', meta={}, block=True, hidden=False),
+        Token(type='list_item_close', tag='li', nesting=-1, attrs={}, map=None, level=1, children=None,
+              content='', markup=m, info='', meta={}, block=True, hidden=False),
+        Token(type='list_item_open', tag='li', nesting=1, attrs={}, map=[1, 2], level=1, children=None,
+              content='', markup=m, info=i2, meta={}, block=True, hidden=False),
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[1, 2], level=2, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=True),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[1, 2], level=3,
+              content='b', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='b', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=2, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=True),
+        Token(type='list_item_close', tag='li', nesting=-1, attrs={}, map=None, level=1, children=None,
+              content='', markup=m, info='', meta={}, block=True, hidden=False),
+        Token(type=f'{t}_list_close', tag=tag, nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup=m, info='', meta={}, block=True, hidden=False)
+    ]
+    assert c._parse(f"{e1} - a\n{e2} - b") == [
+        Token(type=f'{t}_list_open', tag=tag, nesting=1, attrs={'compact': True}, map=[0, 2], level=0,
+              children=None, content='', markup=m, info='', meta={}, block=True, hidden=False),
+        Token(type='list_item_open', tag='li', nesting=1, attrs={}, map=[0, 1], level=1, children=None,
+              content='', markup=m, info=i1, meta={}, block=True, hidden=False),
+        Token(type='bullet_list_open', tag='ul', nesting=1, attrs={'compact': True}, map=[0, 1], level=2,
+              children=None, content='', markup='-', info='', meta={}, block=True, hidden=False),
+        Token(type='list_item_open', tag='li', nesting=1, attrs={}, map=[0, 1], level=3, children=None,
+              content='', markup='-', info='', meta={}, block=True, hidden=False),
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=4, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=True),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=5,
+              content='a', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='a', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=4, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=True),
+        Token(type='list_item_close', tag='li', nesting=-1, attrs={}, map=None, level=3, children=None,
+              content='', markup='-', info='', meta={}, block=True, hidden=False),
+        Token(type='bullet_list_close', tag='ul', nesting=-1, attrs={}, map=None, level=2, children=None,
+              content='', markup='-', info='', meta={}, block=True, hidden=False),
+        Token(type='list_item_close', tag='li', nesting=-1, attrs={}, map=None, level=1, children=None,
+              content='', markup=m, info='', meta={}, block=True, hidden=False),
+        Token(type='list_item_open', tag='li', nesting=1, attrs={}, map=[1, 2], level=1, children=None,
+              content='', markup=m, info=i2, meta={}, block=True, hidden=False),
+        Token(type='bullet_list_open', tag='ul', nesting=1, attrs={'compact': True}, map=[1, 2], level=2,
+              children=None, content='', markup='-', info='', meta={}, block=True, hidden=False),
+        Token(type='list_item_open', tag='li', nesting=1, attrs={}, map=[1, 2], level=3, children=None,
+              content='', markup='-', info='', meta={}, block=True, hidden=False),
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[1, 2], level=4, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=True),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[1, 2], level=5,
+              content='b', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='b', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=4, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=True),
+        Token(type='list_item_close', tag='li', nesting=-1, attrs={}, map=None, level=3, children=None,
+              content='', markup='-', info='', meta={}, block=True, hidden=False),
+        Token(type='bullet_list_close', tag='ul', nesting=-1, attrs={}, map=None, level=2, children=None,
+              content='', markup='-', info='', meta={}, block=True, hidden=False),
+        Token(type='list_item_close', tag='li', nesting=-1, attrs={}, map=None, level=1, children=None,
+              content='', markup=m, info='', meta={}, block=True, hidden=False),
+        Token(type=f'{t}_list_close', tag=tag, nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup=m, info='', meta={}, block=True, hidden=False)
+    ]
diff --git a/pkgs/tools/nix/nixos-render-docs/src/tests/test_options.py b/pkgs/tools/nix/nixos-render-docs/src/tests/test_options.py
new file mode 100644
index 00000000000..5a02fabde0f
--- /dev/null
+++ b/pkgs/tools/nix/nixos-render-docs/src/tests/test_options.py
@@ -0,0 +1,14 @@
+import nixos_render_docs
+
+from markdown_it.token import Token
+import pytest
+
+def test_option_headings() -> None:
+    c = nixos_render_docs.options.DocBookConverter({}, 'local', 'none', 'vars', 'opt-', False)
+    with pytest.raises(RuntimeError) as exc:
+        c._render("# foo")
+    assert exc.value.args[0] == 'md token not supported in options doc'
+    assert exc.value.args[1] == Token(
+        type='heading_open', tag='h1', nesting=1, attrs={}, map=[0, 1], level=0, children=None,
+        content='', markup='#', info='', meta={}, block=True, hidden=False
+    )
diff --git a/pkgs/tools/nix/nixos-render-docs/src/tests/test_plugins.py b/pkgs/tools/nix/nixos-render-docs/src/tests/test_plugins.py
new file mode 100644
index 00000000000..4efcb9bdfc7
--- /dev/null
+++ b/pkgs/tools/nix/nixos-render-docs/src/tests/test_plugins.py
@@ -0,0 +1,279 @@
+import nixos_render_docs
+
+from markdown_it.token import Token
+
+class Converter(nixos_render_docs.md.Converter):
+    # actual renderer doesn't matter, we're just parsing.
+    __renderer__ = nixos_render_docs.docbook.DocBookRenderer
+
+def test_inline_anchor_simple() -> None:
+    c = Converter({})
+    assert c._parse("[]{#test}") == [
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=1, content='[]{#test}',
+              markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='inline_anchor', tag='', nesting=0, attrs={'id': 'test'}, map=None, level=0,
+                        children=None, content='', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=0,
+              children=None, content='', markup='', info='', meta={}, block=True, hidden=False)
+    ]
+
+def test_inline_anchor_formatted() -> None:
+    c = Converter({})
+    assert c._parse("a[b c `d` ***e***]{#test}f") == [
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=0,
+              children=None, content='', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=1,
+              content='a[b c `d` ***e***]{#test}f', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0,
+                        children=None, content='a', markup='', info='', meta={}, block=False, hidden=False),
+                  Token(type='inline_anchor', tag='', nesting=0, attrs={'id': 'test'}, map=None, level=0,
+                        children=None, content='', markup='', info='', meta={}, block=False, hidden=False),
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='b c ', markup='', info='', meta={}, block=False, hidden=False),
+                  Token(type='code_inline', tag='code', nesting=0, attrs={}, map=None, level=0,
+                        children=None, content='d', markup='`', info='', meta={}, block=False, hidden=False),
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content=' ', markup='', info='', meta={}, block=False, hidden=False),
+                  Token(type='em_open', tag='em', nesting=1, attrs={}, map=None, level=0, children=None,
+                        content='', markup='*', info='', meta={}, block=False, hidden=False),
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=1, children=None,
+                        content='', markup='', info='', meta={}, block=False, hidden=False),
+                  Token(type='strong_open', tag='strong', nesting=1, attrs={}, map=None, level=1,
+                        children=None, content='', markup='**', info='', meta={}, block=False, hidden=False),
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=2, children=None,
+                        content='e', markup='', info='', meta={}, block=False, hidden=False),
+                  Token(type='strong_close', tag='strong', nesting=-1, attrs={}, map=None, level=1,
+                        children=None, content='', markup='**', info='', meta={}, block=False, hidden=False),
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=1, children=None,
+                        content='', markup='', info='', meta={}, block=False, hidden=False),
+                  Token(type='em_close', tag='em', nesting=-1, attrs={}, map=None, level=0, children=None,
+                        content='', markup='*', info='', meta={}, block=False, hidden=False),
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='f', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False)
+    ]
+
+def test_inline_anchor_in_heading() -> None:
+    c = Converter({})
+    # inline anchors in headers are allowed, but header attributes should be preferred
+    assert c._parse("# foo []{#bar} baz") == [
+        Token(type='heading_open', tag='h1', nesting=1, attrs={}, map=[0, 1], level=0, children=None,
+              content='', markup='#', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=1,
+              content='foo []{#bar} baz', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='foo ', markup='', info='', meta={}, block=False, hidden=False),
+                  Token(type='inline_anchor', tag='', nesting=0, attrs={'id': 'bar'}, map=None, level=0,
+                        children=None, content='', markup='', info='', meta={}, block=False, hidden=False),
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content=' baz', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='heading_close', tag='h1', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='#', info='', meta={}, block=True, hidden=False)
+    ]
+
+def test_inline_anchor_on_links() -> None:
+    c = Converter({})
+    assert c._parse("[ [a](#bar) ]{#foo}") == [
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=1, content='[ [a](#bar) ]{#foo}',
+              markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='inline_anchor', tag='', nesting=0, attrs={'id': 'foo'}, map=None, level=0,
+                        children=None, content='', markup='', info='', meta={}, block=False, hidden=False),
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content=' ', markup='', info='', meta={}, block=False, hidden=False),
+                  Token(type='link_open', tag='a', nesting=1, attrs={'href': '#bar'}, map=None, level=0,
+                        children=None, content='', markup='', info='', meta={}, block=False, hidden=False),
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=1, children=None,
+                        content='a', markup='', info='', meta={}, block=False, hidden=False),
+                  Token(type='link_close', tag='a', nesting=-1, attrs={}, map=None, level=0, children=None,
+                        content='', markup='', info='', meta={}, block=False, hidden=False),
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content=' ', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False)
+    ]
+
+def test_inline_anchor_nested() -> None:
+    # inline anchors may contain more anchors (even though this is a bit pointless)
+    c = Converter({})
+    assert c._parse("[ [a]{#bar} ]{#foo}") == [
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=1,
+              content='[ [a]{#bar} ]{#foo}', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='inline_anchor', tag='', nesting=0, attrs={'id': 'foo'}, map=None, level=0,
+                        children=None, content='', markup='', info='', meta={}, block=False, hidden=False),
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content=' ', markup='', info='', meta={}, block=False, hidden=False),
+                  Token(type='inline_anchor', tag='', nesting=0, attrs={'id': 'bar'}, map=None, level=0,
+                        children=None, content='', markup='', info='', meta={}, block=False, hidden=False),
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='a ', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False)
+    ]
+
+def test_inline_anchor_escaping() -> None:
+    c = Converter({})
+    assert c._parse("\\[a]{#bar}") == [
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=1,
+              content='\\[a]{#bar}', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='[a]{#bar}', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False)
+    ]
+    assert c._parse("\\\\[a]{#bar}") == [
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=1,
+              content='\\\\[a]{#bar}', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='\\', markup='', info='', meta={}, block=False, hidden=False),
+                  Token(type='inline_anchor', tag='', nesting=0, attrs={'id': 'bar'}, map=None, level=0,
+                        children=None, content='', markup='', info='', meta={}, block=False, hidden=False),
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='a', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False)
+    ]
+    assert c._parse("\\\\\\[a]{#bar}") == [
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=1,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='\\[a]{#bar}', markup='', info='', meta={}, block=False, hidden=False)
+              ],
+              content='\\\\\\[a]{#bar}', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False)
+    ]
+
+def test_inline_comment_basic() -> None:
+    c = Converter({})
+    assert c._parse("a <!-- foo --><!----> b") == [
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=1,
+              content='a <!-- foo --><!----> b', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='a  b', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False)
+    ]
+    assert c._parse("a<!-- b -->") == [
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=1,
+              content='a<!-- b -->', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='a', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False)
+    ]
+
+def test_inline_comment_does_not_nest_in_code() -> None:
+    c = Converter({})
+    assert c._parse("`a<!-- b -->c`") == [
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=1,
+              content='`a<!-- b -->c`', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='code_inline', tag='code', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='a<!-- b -->c', markup='`', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False)
+    ]
+
+def test_inline_comment_does_not_nest_elsewhere() -> None:
+    c = Converter({})
+    assert c._parse("*a<!-- b -->c*") == [
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=1,
+              content='*a<!-- b -->c*', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='em_open', tag='em', nesting=1, attrs={}, map=None, level=0, children=None,
+                        content='', markup='*', info='', meta={}, block=False, hidden=False),
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=1, children=None,
+                        content='ac', markup='', info='', meta={}, block=False, hidden=False),
+                  Token(type='em_close', tag='em', nesting=-1, attrs={}, map=None, level=0, children=None,
+                        content='', markup='*', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False)
+    ]
+
+def test_inline_comment_can_be_escaped() -> None:
+    c = Converter({})
+    assert c._parse("a\\<!-- b -->c") == [
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=1,
+              content='a\\<!-- b -->c', markup='', info='', meta={}, block=True, hidden=False,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='a<!-- b -->c', markup='', info='', meta={}, block=False, hidden=False)
+              ]),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False)
+    ]
+    assert c._parse("a\\\\<!-- b -->c") == [
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=1,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='a\\c', markup='', info='', meta={}, block=False, hidden=False)
+              ],
+              content='a\\\\<!-- b -->c', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False)
+    ]
+    assert c._parse("a\\\\\\<!-- b -->c") == [
+        Token(type='paragraph_open', tag='p', nesting=1, attrs={}, map=[0, 1], level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='inline', tag='', nesting=0, attrs={}, map=[0, 1], level=1,
+              children=[
+                  Token(type='text', tag='', nesting=0, attrs={}, map=None, level=0, children=None,
+                        content='a\\<!-- b -->c', markup='', info='', meta={}, block=False, hidden=False)
+              ],
+              content='a\\\\\\<!-- b -->c', markup='', info='', meta={}, block=True, hidden=False),
+        Token(type='paragraph_close', tag='p', nesting=-1, attrs={}, map=None, level=0, children=None,
+              content='', markup='', info='', meta={}, block=True, hidden=False)
+    ]
+
+def test_block_comment() -> None:
+    c = Converter({})
+    assert c._parse("<!-- a -->") == []
+    assert c._parse("<!-- a\n-->") == []
+    assert c._parse("<!--\na\n-->") == []
+    assert c._parse("<!--\n\na\n\n-->") == []
+    assert c._parse("<!--\n\n```\n\n\n```\n\n-->") == []
diff --git a/pkgs/tools/security/tlsx/default.nix b/pkgs/tools/security/tlsx/default.nix
index 084d8638c9a..620d38f3770 100644
--- a/pkgs/tools/security/tlsx/default.nix
+++ b/pkgs/tools/security/tlsx/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "tlsx";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-5roEaWdvjMYoQJqfMxRKryb9frDnpoJOYTG5g2MSIy0=";
+    hash = "sha256-9Cs5lkt7lAgCl/q2Xc8W5A8/frKER/d3mS1KH9jAy68=";
   };
 
-  vendorHash = "sha256-g7v7n8xwYOuE4ojOEjgNmbyytPuwbxQx1R6fXHpVrYU=";
+  vendorHash = "sha256-eQnrSE45UGRbJ7zO6TdBh6UKooUEnhVxg4cdgoFu5eM=";
 
   # Tests require network access
   doCheck = false;
diff --git a/pkgs/tools/system/pdisk/default.nix b/pkgs/tools/system/pdisk/default.nix
index 87fc683063c..e0a78b6b940 100644
--- a/pkgs/tools/system/pdisk/default.nix
+++ b/pkgs/tools/system/pdisk/default.nix
@@ -1,6 +1,6 @@
 { stdenv
 , lib
-, fetchzip
+, fetchFromGitHub
 , fetchpatch
 , installShellFiles
 , libbsd
@@ -12,9 +12,11 @@ stdenv.mkDerivation rec {
   pname = "pdisk";
   version = "0.9";
 
-  src = fetchzip {
-    url = "https://opensource.apple.com/tarballs/pdisk/pdisk-${lib.versions.minor version}.tar.gz";
-    sha256 = "sha256-+gBgnk/1juEHE0nXaz7laUaH7sxrX5SzsLGr0PHsdHs=";
+  src = fetchFromGitHub {
+    owner = "apple-oss-distributions";
+    repo = pname;
+    rev = "${pname}-${lib.versions.minor version}";
+    hash = "sha256-+gBgnk/1juEHE0nXaz7laUaH7sxrX5SzsLGr0PHsdHs=";
   };
 
   patches = [
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index ba9439369f0..6ec76cc2938 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -37677,6 +37677,8 @@ with pkgs;
 
   nixos-install-tools = callPackage ../tools/nix/nixos-install-tools { };
 
+  nixos-render-docs = callPackage ../tools/nix/nixos-render-docs { };
+
   nixdoc = callPackage ../tools/nix/nixdoc {};
 
   dnadd = callPackage ../tools/nix/dnadd { };
diff --git a/pkgs/top-level/pkg-config/test-defaultPkgConfigPackages.nix b/pkgs/top-level/pkg-config/test-defaultPkgConfigPackages.nix
index 37687117987..1e53a02ec8a 100644
--- a/pkgs/top-level/pkg-config/test-defaultPkgConfigPackages.nix
+++ b/pkgs/top-level/pkg-config/test-defaultPkgConfigPackages.nix
@@ -42,4 +42,4 @@ let
     else testers.hasPkgConfigModule { inherit moduleName; package = pkg; };
 
 in
-  lib.recurseIntoAttrs allTests // { inherit tests-combined; }
+  allTests // { inherit tests-combined; }
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index f5c2de1113f..783dd4da82a 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -55,6 +55,7 @@ mapAliases ({
   demjson = throw "demjson has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18
   detox = throw "detox is no longer maintained, and was broken since may 2019"; # added 2020-07-04
   dftfit = throw "dftfit dependency lammps-cython no longer builds"; # added 2021-07-04
+  dictpath = pathable; # added 2023-01-28
   diff_cover = diff-cover; # added 2021-07-02
   discogs_client = discogs-client; # added 2021-07-02
   djangorestframework-jwt = drf-jwt; # added 2021-07-20
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 15ff674ca29..15efcc8da02 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -2389,8 +2389,6 @@ self: super: with self; {
 
   dictionaries = callPackage ../development/python-modules/dictionaries { };
 
-  dictpath = callPackage ../development/python-modules/dictpath { };
-
   dicttoxml = callPackage ../development/python-modules/dicttoxml { };
 
   dicttoxml2 = callPackage ../development/python-modules/dicttoxml2 { };