gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-taler-ops-www] 01/12: feat: a bunch of optimization shit


From: gnunet
Subject: [taler-taler-ops-www] 01/12: feat: a bunch of optimization shit
Date: Sat, 24 Feb 2024 23:36:50 +0100

This is an automated email from the git hooks/post-receive script.

nora pushed a commit to branch master
in repository taler-ops-www.

commit d759c24f02f35a709c0c20793a6414742cc90b4f
Author: Nullptrderef <nullptrderef@national.shitposting.agency>
AuthorDate: Sat Feb 24 22:25:38 2024 +0100

    feat: a bunch of optimization shit
---
 Makefile                          |  12 +-
 locale/de/LC_MESSAGES/messages.po |  56 ++--
 locale/en/LC_MESSAGES/messages.po |  50 ++--
 locale/fr/LC_MESSAGES/messages.po |  50 ++--
 locale/messages.pot               |  48 +--
 package.json                      |   8 +-
 pnpm-lock.yaml                    | 603 ++++++++++++++++++++++++++++++++++++++
 7 files changed, 721 insertions(+), 106 deletions(-)

diff --git a/Makefile b/Makefile
index c656a78..9f94e83 100644
--- a/Makefile
+++ b/Makefile
@@ -4,12 +4,18 @@ include build-system/config.mk
 
 # All: build HTML pages in all languages.
 .PHONY: all
-all: preprocess
+all: build-site build-css optimize-css
+
+build-site:
        ./inc/update-messages
        env "BASEURL=$(opt_baseurl)" ./inc/build-site
 
-preprocess:
-       env "NODE_ENV=production" ./build-system/pkgmgr build:css;
+build-css:
+       ./build-system/pkgmgr run build-css;
+       ./build-system/pkgmgr run minify-css;
+
+optimize-css:
+       ./build-system/pkgmgr run optimize-css;
 
 .PHONY: run
 run: all
diff --git a/locale/de/LC_MESSAGES/messages.po 
b/locale/de/LC_MESSAGES/messages.po
index c2ac7a1..ec26280 100644
--- a/locale/de/LC_MESSAGES/messages.po
+++ b/locale/de/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2024-02-24 21:38+0100\n"
+"POT-Creation-Date: 2024-02-24 22:02+0100\n"
 "PO-Revision-Date: 2024-02-24 20:06+0000\n"
 "Last-Translator: Stefan Kügel <skuegel@web.de>\n"
 "Language-Team: German <https://weblate.taler.net/projects/taler-ops/website/";
@@ -24,77 +24,83 @@ msgstr ""
 msgid "Taler Operations AG, Biel, Switzerland"
 msgstr "Taler Operations AG, Biel, Schweiz"
 
-#: common/footer.j2.inc:11
+#: common/footer.j2.inc:15
 msgid "Switzerland"
 msgstr "Schweiz"
 
-#: common/footer.j2.inc:19
+#: common/footer.j2.inc:23
 msgid "Quick Links"
 msgstr "Seitenübersicht"
 
-#: common/footer.j2.inc:21
+#: common/footer.j2.inc:28
 msgid "Taler Operations AG Homepage"
 msgstr "Taler Operations AG Startseite"
 
-#: common/footer.j2.inc:21 common/navigation.j2.inc:19
+#: common/footer.j2.inc:29 common/navigation.j2.inc:34
 msgid "Home"
 msgstr "Startseite"
 
-#: common/footer.j2.inc:24 common/navigation.j2.inc:22 template/fees.html.j2:3
+#: common/footer.j2.inc:38 common/navigation.j2.inc:49 template/fees.html.j2:3
 #: template/fees.html.j2:9 template/fees.html.j2:19
 msgid "Fees"
 msgstr "Gebührenordnung"
 
-#: common/footer.j2.inc:25
+#: common/footer.j2.inc:43
 msgid "Terms of Service"
 msgstr "AGB"
 
-#: common/footer.j2.inc:31
+#: common/footer.j2.inc:51
 msgid "Partners"
 msgstr "Partner"
 
-#: common/footer.j2.inc:33
+#: common/footer.j2.inc:58
 msgid "Taler Consortium"
 msgstr "Taler-Konsortium NGI TALER"
 
-#: common/footer.j2.inc:34
+#: common/footer.j2.inc:66
 msgid "Bern&nbsp;University of Applied&nbsp;Sciences"
 msgstr "Berner Fachhochschule (BFH)"
 
-#: common/footer.j2.inc:35
+#: common/footer.j2.inc:75
 msgid "NetzBon"
 msgstr "NetzBon"
 
-#: common/footer.j2.inc:41
+#: common/footer.j2.inc:83
 msgid "Contacts"
 msgstr "Kontakt"
 
-#: common/footer.j2.inc:43
+#: common/footer.j2.inc:87
 msgid "Tel:"
 msgstr "Tel:"
 
-#: common/footer.j2.inc:44
+#: common/footer.j2.inc:92
 msgid "Compliance Officer"
 msgstr "Compliance-Beauftragte"
 
-#: common/footer.j2.inc:45
+#: common/footer.j2.inc:97
 msgid "AML Officer"
 msgstr "AML-Beauftragte"
 
-#: common/footer.j2.inc:55
+#: common/footer.j2.inc:110
 msgid "Copyright"
 msgstr "Copyright"
 
-#: common/footer.j2.inc:55
+#: common/footer.j2.inc:116
 msgid "License"
 msgstr "Lizenz"
 
-#: common/footer.j2.inc:56
+#: common/footer.j2.inc:120
+#, fuzzy
+#| msgid ""
+#| "We do not assume any liability for the correctness of contents. We do not "
+#| "collect any data and do not use cookies. <br>Our web server generates a "
+#| "log file with IP addresses of visitors. However, these are evaluated "
+#| "exclusively for troubleshooting or problem mitigation."
 msgid ""
 "We do not assume any liability for the correctness of contents. We do not "
-"collect any data and do not use cookies. <br>Our web server generates a log "
-"file with IP addresses of visitors. However, these are evaluated exclusively "
-"for troubleshooting or problem mitigation."
+"collect any data and do not use cookies. <br />Our web server generates a "
+"log file with IP addresses of visitors. However, these are evaluated "
+"exclusively for troubleshooting or problem mitigation."
 msgstr ""
 "Nutzungsbedingungen / Datenschutz: Wir übernehmen keine Haftung für die "
 "Richtigkeit der Inhalte. Wir erheben keine Daten und verwenden keine "
@@ -102,19 +108,19 @@ msgstr ""
 "Besuchern. Diese werden jedoch ausschließlich zur Fehlersuche und "
 "Problembehebung ausgewertet."
 
-#: common/navigation.j2.inc:2
+#: common/navigation.j2.inc:4
 msgid "Skip to main content"
 msgstr "Navigationsmenü überspringen"
 
-#: common/navigation.j2.inc:20 template/index.html.j2:50
+#: common/navigation.j2.inc:39 template/index.html.j2:50
 msgid "For Merchants"
 msgstr "Für Händler"
 
-#: common/navigation.j2.inc:21 template/index.html.j2:40
+#: common/navigation.j2.inc:44 template/index.html.j2:40
 msgid "For Users"
 msgstr "Für Kunden"
 
-#: common/navigation.j2.inc:23
+#: common/navigation.j2.inc:54
 msgid "AGB für eNetzBon (interim!)"
 msgstr "AGB für eNetzBon (interim!)"
 
diff --git a/locale/en/LC_MESSAGES/messages.po 
b/locale/en/LC_MESSAGES/messages.po
index 40c470d..8073a6e 100644
--- a/locale/en/LC_MESSAGES/messages.po
+++ b/locale/en/LC_MESSAGES/messages.po
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2024-02-24 21:38+0100\n"
+"POT-Creation-Date: 2024-02-24 22:02+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -22,92 +22,92 @@ msgstr ""
 msgid "Taler Operations AG, Biel, Switzerland"
 msgstr ""
 
-#: common/footer.j2.inc:11
+#: common/footer.j2.inc:15
 msgid "Switzerland"
 msgstr ""
 
-#: common/footer.j2.inc:19
+#: common/footer.j2.inc:23
 msgid "Quick Links"
 msgstr ""
 
-#: common/footer.j2.inc:21
+#: common/footer.j2.inc:28
 msgid "Taler Operations AG Homepage"
 msgstr ""
 
-#: common/footer.j2.inc:21 common/navigation.j2.inc:19
+#: common/footer.j2.inc:29 common/navigation.j2.inc:34
 msgid "Home"
 msgstr ""
 
-#: common/footer.j2.inc:24 common/navigation.j2.inc:22 template/fees.html.j2:3
+#: common/footer.j2.inc:38 common/navigation.j2.inc:49 template/fees.html.j2:3
 #: template/fees.html.j2:9 template/fees.html.j2:19
 msgid "Fees"
 msgstr ""
 
-#: common/footer.j2.inc:25
+#: common/footer.j2.inc:43
 msgid "Terms of Service"
 msgstr ""
 
-#: common/footer.j2.inc:31
+#: common/footer.j2.inc:51
 msgid "Partners"
 msgstr ""
 
-#: common/footer.j2.inc:33
+#: common/footer.j2.inc:58
 msgid "Taler Consortium"
 msgstr ""
 
-#: common/footer.j2.inc:34
+#: common/footer.j2.inc:66
 msgid "Bern&nbsp;University of Applied&nbsp;Sciences"
 msgstr ""
 
-#: common/footer.j2.inc:35
+#: common/footer.j2.inc:75
 msgid "NetzBon"
 msgstr ""
 
-#: common/footer.j2.inc:41
+#: common/footer.j2.inc:83
 msgid "Contacts"
 msgstr ""
 
-#: common/footer.j2.inc:43
+#: common/footer.j2.inc:87
 msgid "Tel:"
 msgstr ""
 
-#: common/footer.j2.inc:44
+#: common/footer.j2.inc:92
 msgid "Compliance Officer"
 msgstr ""
 
-#: common/footer.j2.inc:45
+#: common/footer.j2.inc:97
 msgid "AML Officer"
 msgstr ""
 
-#: common/footer.j2.inc:55
+#: common/footer.j2.inc:110
 msgid "Copyright"
 msgstr ""
 
-#: common/footer.j2.inc:55
+#: common/footer.j2.inc:116
 msgid "License"
 msgstr ""
 
-#: common/footer.j2.inc:56
+#: common/footer.j2.inc:120
 msgid ""
 "We do not assume any liability for the correctness of contents. We do not "
-"collect any data and do not use cookies. <br>Our web server generates a log "
-"file with IP addresses of visitors. However, these are evaluated exclusively "
-"for troubleshooting or problem mitigation."
+"collect any data and do not use cookies. <br />Our web server generates a "
+"log file with IP addresses of visitors. However, these are evaluated "
+"exclusively for troubleshooting or problem mitigation."
 msgstr ""
 
-#: common/navigation.j2.inc:2
+#: common/navigation.j2.inc:4
 msgid "Skip to main content"
 msgstr ""
 
-#: common/navigation.j2.inc:20 template/index.html.j2:50
+#: common/navigation.j2.inc:39 template/index.html.j2:50
 msgid "For Merchants"
 msgstr ""
 
-#: common/navigation.j2.inc:21 template/index.html.j2:40
+#: common/navigation.j2.inc:44 template/index.html.j2:40
 msgid "For Users"
 msgstr ""
 
-#: common/navigation.j2.inc:23
+#: common/navigation.j2.inc:54
 msgid "AGB für eNetzBon (interim!)"
 msgstr ""
 
diff --git a/locale/fr/LC_MESSAGES/messages.po 
b/locale/fr/LC_MESSAGES/messages.po
index d3ca388..31766da 100644
--- a/locale/fr/LC_MESSAGES/messages.po
+++ b/locale/fr/LC_MESSAGES/messages.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2024-02-24 21:38+0100\n"
+"POT-Creation-Date: 2024-02-24 22:02+0100\n"
 "PO-Revision-Date: 2024-02-12 18:13+0000\n"
 "Last-Translator: Stefan Kügel <skuegel@web.de>\n"
 "Language-Team: French <https://weblate.taler.net/projects/taler-ops/website/";
@@ -24,80 +24,80 @@ msgstr ""
 msgid "Taler Operations AG, Biel, Switzerland"
 msgstr "Taler Operations AG, Bienne, Suisse"
 
-#: common/footer.j2.inc:11
+#: common/footer.j2.inc:15
 msgid "Switzerland"
 msgstr ""
 
-#: common/footer.j2.inc:19
+#: common/footer.j2.inc:23
 msgid "Quick Links"
 msgstr "Liens directs"
 
-#: common/footer.j2.inc:21
+#: common/footer.j2.inc:28
 msgid "Taler Operations AG Homepage"
 msgstr "Page d'accueil Taler Operations AG"
 
-#: common/footer.j2.inc:21 common/navigation.j2.inc:19
+#: common/footer.j2.inc:29 common/navigation.j2.inc:34
 msgid "Home"
 msgstr "Accueil"
 
-#: common/footer.j2.inc:24 common/navigation.j2.inc:22 template/fees.html.j2:3
+#: common/footer.j2.inc:38 common/navigation.j2.inc:49 template/fees.html.j2:3
 #: template/fees.html.j2:9 template/fees.html.j2:19
 msgid "Fees"
 msgstr "Frais"
 
-#: common/footer.j2.inc:25
+#: common/footer.j2.inc:43
 msgid "Terms of Service"
 msgstr "Conditions d'utilisation"
 
-#: common/footer.j2.inc:31
+#: common/footer.j2.inc:51
 msgid "Partners"
 msgstr "Partenaires"
 
-#: common/footer.j2.inc:33
+#: common/footer.j2.inc:58
 msgid "Taler Consortium"
 msgstr "Consortium Taler"
 
-#: common/footer.j2.inc:34
+#: common/footer.j2.inc:66
 #, fuzzy
 #| msgid "Bern University of Applied Sciences"
 msgid "Bern&nbsp;University of Applied&nbsp;Sciences"
 msgstr "Haute école spécialisée bernoise"
 
-#: common/footer.j2.inc:35
+#: common/footer.j2.inc:75
 msgid "NetzBon"
 msgstr "NetzBon"
 
-#: common/footer.j2.inc:41
+#: common/footer.j2.inc:83
 msgid "Contacts"
 msgstr "Contacts"
 
-#: common/footer.j2.inc:43
+#: common/footer.j2.inc:87
 msgid "Tel:"
 msgstr ""
 
-#: common/footer.j2.inc:44
+#: common/footer.j2.inc:92
 msgid "Compliance Officer"
 msgstr "Responsable de la conformité"
 
-#: common/footer.j2.inc:45
+#: common/footer.j2.inc:97
 msgid "AML Officer"
 msgstr "Agent de lutte contre le blanchiment d'argent"
 
-#: common/footer.j2.inc:55
+#: common/footer.j2.inc:110
 msgid "Copyright"
 msgstr "Droits d'auteur"
 
-#: common/footer.j2.inc:55
+#: common/footer.j2.inc:116
 msgid "License"
 msgstr "Licence"
 
-#: common/footer.j2.inc:56
+#: common/footer.j2.inc:120
 #, fuzzy
 msgid ""
 "We do not assume any liability for the correctness of contents. We do not "
-"collect any data and do not use cookies. <br>Our web server generates a log "
-"file with IP addresses of visitors. However, these are evaluated exclusively "
-"for troubleshooting or problem mitigation."
+"collect any data and do not use cookies. <br />Our web server generates a "
+"log file with IP addresses of visitors. However, these are evaluated "
+"exclusively for troubleshooting or problem mitigation."
 msgstr ""
 "Nous ne prenons aucune responsabilité sur l'exactitude des contenus. Nous ne "
 "conservons aucune données et n'utilisons pas de cookies. <br>Notre serveur "
@@ -105,19 +105,19 @@ msgstr ""
 "Toutefois, celles-ci ne sont consultées exclusivement pour des besoins de "
 "dépannages ou de résolution de problème."
 
-#: common/navigation.j2.inc:2
+#: common/navigation.j2.inc:4
 msgid "Skip to main content"
 msgstr "Aller au menu principal"
 
-#: common/navigation.j2.inc:20 template/index.html.j2:50
+#: common/navigation.j2.inc:39 template/index.html.j2:50
 msgid "For Merchants"
 msgstr ""
 
-#: common/navigation.j2.inc:21 template/index.html.j2:40
+#: common/navigation.j2.inc:44 template/index.html.j2:40
 msgid "For Users"
 msgstr ""
 
-#: common/navigation.j2.inc:23
+#: common/navigation.j2.inc:54
 msgid "AGB für eNetzBon (interim!)"
 msgstr ""
 
diff --git a/locale/messages.pot b/locale/messages.pot
index 14aceec..a297d2c 100644
--- a/locale/messages.pot
+++ b/locale/messages.pot
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PROJECT VERSION\n"
 "Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
-"POT-Creation-Date: 2024-02-24 21:38+0100\n"
+"POT-Creation-Date: 2024-02-24 22:02+0100\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -21,92 +21,92 @@ msgstr ""
 msgid "Taler Operations AG, Biel, Switzerland"
 msgstr ""
 
-#: common/footer.j2.inc:11
+#: common/footer.j2.inc:15
 msgid "Switzerland"
 msgstr ""
 
-#: common/footer.j2.inc:19
+#: common/footer.j2.inc:23
 msgid "Quick Links"
 msgstr ""
 
-#: common/footer.j2.inc:21
+#: common/footer.j2.inc:28
 msgid "Taler Operations AG Homepage"
 msgstr ""
 
-#: common/footer.j2.inc:21 common/navigation.j2.inc:19
+#: common/footer.j2.inc:29 common/navigation.j2.inc:34
 msgid "Home"
 msgstr ""
 
-#: common/footer.j2.inc:24 common/navigation.j2.inc:22 template/fees.html.j2:3
+#: common/footer.j2.inc:38 common/navigation.j2.inc:49 template/fees.html.j2:3
 #: template/fees.html.j2:9 template/fees.html.j2:19
 msgid "Fees"
 msgstr ""
 
-#: common/footer.j2.inc:25
+#: common/footer.j2.inc:43
 msgid "Terms of Service"
 msgstr ""
 
-#: common/footer.j2.inc:31
+#: common/footer.j2.inc:51
 msgid "Partners"
 msgstr ""
 
-#: common/footer.j2.inc:33
+#: common/footer.j2.inc:58
 msgid "Taler Consortium"
 msgstr ""
 
-#: common/footer.j2.inc:34
+#: common/footer.j2.inc:66
 msgid "Bern&nbsp;University of Applied&nbsp;Sciences"
 msgstr ""
 
-#: common/footer.j2.inc:35
+#: common/footer.j2.inc:75
 msgid "NetzBon"
 msgstr ""
 
-#: common/footer.j2.inc:41
+#: common/footer.j2.inc:83
 msgid "Contacts"
 msgstr ""
 
-#: common/footer.j2.inc:43
+#: common/footer.j2.inc:87
 msgid "Tel:"
 msgstr ""
 
-#: common/footer.j2.inc:44
+#: common/footer.j2.inc:92
 msgid "Compliance Officer"
 msgstr ""
 
-#: common/footer.j2.inc:45
+#: common/footer.j2.inc:97
 msgid "AML Officer"
 msgstr ""
 
-#: common/footer.j2.inc:55
+#: common/footer.j2.inc:110
 msgid "Copyright"
 msgstr ""
 
-#: common/footer.j2.inc:55
+#: common/footer.j2.inc:116
 msgid "License"
 msgstr ""
 
-#: common/footer.j2.inc:56
+#: common/footer.j2.inc:120
 msgid ""
 "We do not assume any liability for the correctness of contents. We do not"
-" collect any data and do not use cookies. <br>Our web server generates a "
-"log file with IP addresses of visitors. However, these are evaluated "
+" collect any data and do not use cookies. <br />Our web server generates "
+"a log file with IP addresses of visitors. However, these are evaluated "
 "exclusively for troubleshooting or problem mitigation."
 msgstr ""
 
-#: common/navigation.j2.inc:2
+#: common/navigation.j2.inc:4
 msgid "Skip to main content"
 msgstr ""
 
-#: common/navigation.j2.inc:20 template/index.html.j2:50
+#: common/navigation.j2.inc:39 template/index.html.j2:50
 msgid "For Merchants"
 msgstr ""
 
-#: common/navigation.j2.inc:21 template/index.html.j2:40
+#: common/navigation.j2.inc:44 template/index.html.j2:40
 msgid "For Users"
 msgstr ""
 
-#: common/navigation.j2.inc:23
+#: common/navigation.j2.inc:54
 msgid "AGB für eNetzBon (interim!)"
 msgstr ""
 
diff --git a/package.json b/package.json
index 7539a17..7a7486d 100644
--- a/package.json
+++ b/package.json
@@ -2,13 +2,13 @@
   "name": "taler-ops-www",
   "description": "Taler Operations WWW",
   "scripts": {
-    "build:css": "pnpm build:css:sass && pnpm build:css:min",
-    "build:css:sass": "sass static/scss:static/css",
-    "build:css:min": "esbuild static/css/*.css --sourcemap --minify 
--outdir=static/css/min/"
+    "build-css": "sass rendered/scss:rendered/css",
+    "minify-css": "esbuild rendered/css/*.css --sourcemap --minify 
--outdir=rendered/css/min/",
+    "optimize-css": "for file in rendered/css/min/*.css; do purifycss $file 
'rendered/**/*.html' -m -i -o $file.pure.css; mv $file.pure.css $file;done;"
   },
   "private": true,
   "devDependencies": {
-    "esbuild": "^0.20.1",
+    "purify-css": "^1.2.5",
     "sass": "^1.71.1"
   }
 }
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 808dbee..ab37a51 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -8,6 +8,9 @@ devDependencies:
   esbuild:
     specifier: ^0.20.1
     version: 0.20.1
+  purify-css:
+    specifier: ^1.2.5
+    version: 1.2.5
   sass:
     specifier: ^1.71.1
     version: 1.71.1
@@ -221,6 +224,16 @@ packages:
     dev: true
     optional: true
 
+  /ansi-regex@2.1.1:
+    resolution: {integrity: 
sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==}
+    engines: {node: '>=0.10.0'}
+    dev: true
+
+  /ansi-regex@3.0.1:
+    resolution: {integrity: 
sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==}
+    engines: {node: '>=4'}
+    dev: true
+
   /anymatch@3.1.3:
     resolution: {integrity: 
sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
     engines: {node: '>= 8'}
@@ -229,11 +242,28 @@ packages:
       picomatch: 2.3.1
     dev: true
 
+  /atob@2.1.2:
+    resolution: {integrity: 
sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==}
+    engines: {node: '>= 4.5.0'}
+    hasBin: true
+    dev: true
+
+  /balanced-match@1.0.2:
+    resolution: {integrity: 
sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+    dev: true
+
   /binary-extensions@2.2.0:
     resolution: {integrity: 
sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
     engines: {node: '>=8'}
     dev: true
 
+  /brace-expansion@1.1.11:
+    resolution: {integrity: 
sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+    dependencies:
+      balanced-match: 1.0.2
+      concat-map: 0.0.1
+    dev: true
+
   /braces@3.0.2:
     resolution: {integrity: 
sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
     engines: {node: '>=8'}
@@ -241,6 +271,11 @@ packages:
       fill-range: 7.0.1
     dev: true
 
+  /camelcase@4.1.0:
+    resolution: {integrity: 
sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==}
+    engines: {node: '>=4'}
+    dev: true
+
   /chokidar@3.6.0:
     resolution: {integrity: 
sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
     engines: {node: '>= 8.10.0'}
@@ -256,6 +291,67 @@ packages:
       fsevents: 2.3.3
     dev: true
 
+  /clean-css@4.2.4:
+    resolution: {integrity: 
sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==}
+    engines: {node: '>= 4.0'}
+    dependencies:
+      source-map: 0.6.1
+    dev: true
+
+  /cliui@3.2.0:
+    resolution: {integrity: 
sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==}
+    dependencies:
+      string-width: 1.0.2
+      strip-ansi: 3.0.1
+      wrap-ansi: 2.1.0
+    dev: true
+
+  /code-point-at@1.1.0:
+    resolution: {integrity: 
sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==}
+    engines: {node: '>=0.10.0'}
+    dev: true
+
+  /concat-map@0.0.1:
+    resolution: {integrity: 
sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+    dev: true
+
+  /convert-source-map@0.3.5:
+    resolution: {integrity: 
sha512-+4nRk0k3oEpwUB7/CalD7xE2z4VmtEnnq0GO2IPTkrooTrAhEsWvuLF5iWP1dXrwluki/azwXV1ve7gtYuPldg==}
+    dev: true
+
+  /cross-spawn@5.1.0:
+    resolution: {integrity: 
sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==}
+    dependencies:
+      lru-cache: 4.1.5
+      shebang-command: 1.2.0
+      which: 1.3.1
+    dev: true
+
+  /css@2.2.4:
+    resolution: {integrity: 
sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==}
+    dependencies:
+      inherits: 2.0.4
+      source-map: 0.6.1
+      source-map-resolve: 0.5.3
+      urix: 0.1.0
+    dev: true
+
+  /decamelize@1.2.0:
+    resolution: {integrity: 
sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
+    engines: {node: '>=0.10.0'}
+    dev: true
+
+  /decode-uri-component@0.2.2:
+    resolution: {integrity: 
sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==}
+    engines: {node: '>=0.10'}
+    dev: true
+
+  /error-ex@1.3.2:
+    resolution: {integrity: 
sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+    dependencies:
+      is-arrayish: 0.2.1
+    dev: true
+
   /esbuild@0.20.1:
     resolution: {integrity: 
sha512-OJwEgrpWm/PCMsLVWXKqvcjme3bHNpOgN7Tb6cQnR5n0TPbQx1/Xrn7rqM+wn17bYeT6MGB5sn1Bh5YiGi70nA==}
     engines: {node: '>=12'}
@@ -287,6 +383,19 @@ packages:
       '@esbuild/win32-x64': 0.20.1
     dev: true
 
+  /execa@0.7.0:
+    resolution: {integrity: 
sha512-RztN09XglpYI7aBBrJCPW95jEH7YF1UEPOoX9yDhUTPdp7mK+CQvnLTuD10BNXZ3byLTu2uehZ8EcKT/4CGiFw==}
+    engines: {node: '>=4'}
+    dependencies:
+      cross-spawn: 5.1.0
+      get-stream: 3.0.0
+      is-stream: 1.1.0
+      npm-run-path: 2.0.2
+      p-finally: 1.0.0
+      signal-exit: 3.0.7
+      strip-eof: 1.0.0
+    dev: true
+
   /fill-range@7.0.1:
     resolution: {integrity: 
sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
     engines: {node: '>=8'}
@@ -294,6 +403,17 @@ packages:
       to-regex-range: 5.0.1
     dev: true
 
+  /find-up@2.1.0:
+    resolution: {integrity: 
sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==}
+    engines: {node: '>=4'}
+    dependencies:
+      locate-path: 2.0.0
+    dev: true
+
+  /fs.realpath@1.0.0:
+    resolution: {integrity: 
sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+    dev: true
+
   /fsevents@2.3.3:
     resolution: {integrity: 
sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
     engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
@@ -302,6 +422,19 @@ packages:
     dev: true
     optional: true
 
+  /function-bind@1.1.2:
+    resolution: {integrity: 
sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+    dev: true
+
+  /get-caller-file@1.0.3:
+    resolution: {integrity: 
sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==}
+    dev: true
+
+  /get-stream@3.0.0:
+    resolution: {integrity: 
sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==}
+    engines: {node: '>=4'}
+    dev: true
+
   /glob-parent@5.1.2:
     resolution: {integrity: 
sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
     engines: {node: '>= 6'}
@@ -309,10 +442,56 @@ packages:
       is-glob: 4.0.3
     dev: true
 
+  /glob@7.2.3:
+    resolution: {integrity: 
sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
+    dependencies:
+      fs.realpath: 1.0.0
+      inflight: 1.0.6
+      inherits: 2.0.4
+      minimatch: 3.1.2
+      once: 1.4.0
+      path-is-absolute: 1.0.1
+    dev: true
+
+  /graceful-fs@4.2.11:
+    resolution: {integrity: 
sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+    dev: true
+
+  /hasown@2.0.1:
+    resolution: {integrity: 
sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==}
+    engines: {node: '>= 0.4'}
+    dependencies:
+      function-bind: 1.1.2
+    dev: true
+
+  /hosted-git-info@2.8.9:
+    resolution: {integrity: 
sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
+    dev: true
+
   /immutable@4.3.5:
     resolution: {integrity: 
sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==}
     dev: true
 
+  /inflight@1.0.6:
+    resolution: {integrity: 
sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+    dependencies:
+      once: 1.4.0
+      wrappy: 1.0.2
+    dev: true
+
+  /inherits@2.0.4:
+    resolution: {integrity: 
sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+    dev: true
+
+  /invert-kv@1.0.0:
+    resolution: {integrity: 
sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==}
+    engines: {node: '>=0.10.0'}
+    dev: true
+
+  /is-arrayish@0.2.1:
+    resolution: {integrity: 
sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+    dev: true
+
   /is-binary-path@2.1.0:
     resolution: {integrity: 
sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
     engines: {node: '>=8'}
@@ -320,11 +499,29 @@ packages:
       binary-extensions: 2.2.0
     dev: true
 
+  /is-core-module@2.13.1:
+    resolution: {integrity: 
sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
+    dependencies:
+      hasown: 2.0.1
+    dev: true
+
   /is-extglob@2.1.1:
     resolution: {integrity: 
sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
     engines: {node: '>=0.10.0'}
     dev: true
 
+  /is-fullwidth-code-point@1.0.0:
+    resolution: {integrity: 
sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==}
+    engines: {node: '>=0.10.0'}
+    dependencies:
+      number-is-nan: 1.0.1
+    dev: true
+
+  /is-fullwidth-code-point@2.0.0:
+    resolution: {integrity: 
sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==}
+    engines: {node: '>=4'}
+    dev: true
+
   /is-glob@4.0.3:
     resolution: {integrity: 
sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
     engines: {node: '>=0.10.0'}
@@ -337,16 +534,205 @@ packages:
     engines: {node: '>=0.12.0'}
     dev: true
 
+  /is-stream@1.1.0:
+    resolution: {integrity: 
sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==}
+    engines: {node: '>=0.10.0'}
+    dev: true
+
+  /isexe@2.0.0:
+    resolution: {integrity: 
sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+    dev: true
+
+  /lcid@1.0.0:
+    resolution: {integrity: 
sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==}
+    engines: {node: '>=0.10.0'}
+    dependencies:
+      invert-kv: 1.0.0
+    dev: true
+
+  /load-json-file@2.0.0:
+    resolution: {integrity: 
sha512-3p6ZOGNbiX4CdvEd1VcE6yi78UrGNpjHO33noGwHCnT/o2fyllJDepsm8+mFFv/DvtwFHht5HIHSyOy5a+ChVQ==}
+    engines: {node: '>=4'}
+    dependencies:
+      graceful-fs: 4.2.11
+      parse-json: 2.2.0
+      pify: 2.3.0
+      strip-bom: 3.0.0
+    dev: true
+
+  /locate-path@2.0.0:
+    resolution: {integrity: 
sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==}
+    engines: {node: '>=4'}
+    dependencies:
+      p-locate: 2.0.0
+      path-exists: 3.0.0
+    dev: true
+
+  /lru-cache@4.1.5:
+    resolution: {integrity: 
sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==}
+    dependencies:
+      pseudomap: 1.0.2
+      yallist: 2.1.2
+    dev: true
+
+  /mem@1.1.0:
+    resolution: {integrity: 
sha512-nOBDrc/wgpkd3X/JOhMqYR+/eLqlfLP4oQfoBA6QExIxEl+GU01oyEkwWyueyO8110pUKijtiHGhEmYoOn88oQ==}
+    engines: {node: '>=4'}
+    dependencies:
+      mimic-fn: 1.2.0
+    dev: true
+
+  /mimic-fn@1.2.0:
+    resolution: {integrity: 
sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==}
+    engines: {node: '>=4'}
+    dev: true
+
+  /minimatch@3.1.2:
+    resolution: {integrity: 
sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+    dependencies:
+      brace-expansion: 1.1.11
+    dev: true
+
+  /normalize-package-data@2.5.0:
+    resolution: {integrity: 
sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
+    dependencies:
+      hosted-git-info: 2.8.9
+      resolve: 1.22.8
+      semver: 5.7.2
+      validate-npm-package-license: 3.0.4
+    dev: true
+
   /normalize-path@3.0.0:
     resolution: {integrity: 
sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
     engines: {node: '>=0.10.0'}
     dev: true
 
+  /npm-run-path@2.0.2:
+    resolution: {integrity: 
sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==}
+    engines: {node: '>=4'}
+    dependencies:
+      path-key: 2.0.1
+    dev: true
+
+  /number-is-nan@1.0.1:
+    resolution: {integrity: 
sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==}
+    engines: {node: '>=0.10.0'}
+    dev: true
+
+  /once@1.4.0:
+    resolution: {integrity: 
sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+    dependencies:
+      wrappy: 1.0.2
+    dev: true
+
+  /os-locale@2.1.0:
+    resolution: {integrity: 
sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==}
+    engines: {node: '>=4'}
+    dependencies:
+      execa: 0.7.0
+      lcid: 1.0.0
+      mem: 1.1.0
+    dev: true
+
+  /p-finally@1.0.0:
+    resolution: {integrity: 
sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
+    engines: {node: '>=4'}
+    dev: true
+
+  /p-limit@1.3.0:
+    resolution: {integrity: 
sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==}
+    engines: {node: '>=4'}
+    dependencies:
+      p-try: 1.0.0
+    dev: true
+
+  /p-locate@2.0.0:
+    resolution: {integrity: 
sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==}
+    engines: {node: '>=4'}
+    dependencies:
+      p-limit: 1.3.0
+    dev: true
+
+  /p-try@1.0.0:
+    resolution: {integrity: 
sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==}
+    engines: {node: '>=4'}
+    dev: true
+
+  /parse-json@2.2.0:
+    resolution: {integrity: 
sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==}
+    engines: {node: '>=0.10.0'}
+    dependencies:
+      error-ex: 1.3.2
+    dev: true
+
+  /path-exists@3.0.0:
+    resolution: {integrity: 
sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
+    engines: {node: '>=4'}
+    dev: true
+
+  /path-is-absolute@1.0.1:
+    resolution: {integrity: 
sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
+    engines: {node: '>=0.10.0'}
+    dev: true
+
+  /path-key@2.0.1:
+    resolution: {integrity: 
sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==}
+    engines: {node: '>=4'}
+    dev: true
+
+  /path-parse@1.0.7:
+    resolution: {integrity: 
sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+    dev: true
+
+  /path-type@2.0.0:
+    resolution: {integrity: 
sha512-dUnb5dXUf+kzhC/W/F4e5/SkluXIFf5VUHolW1Eg1irn1hGWjPGdsRcvYJ1nD6lhk8Ir7VM0bHJKsYTx8Jx9OQ==}
+    engines: {node: '>=4'}
+    dependencies:
+      pify: 2.3.0
+    dev: true
+
   /picomatch@2.3.1:
     resolution: {integrity: 
sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
     engines: {node: '>=8.6'}
     dev: true
 
+  /pify@2.3.0:
+    resolution: {integrity: 
sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
+    engines: {node: '>=0.10.0'}
+    dev: true
+
+  /pseudomap@1.0.2:
+    resolution: {integrity: 
sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==}
+    dev: true
+
+  /purify-css@1.2.5:
+    resolution: {integrity: 
sha512-Vy4jRnV2w/kUjTyxzQOKbFkqwUe6RNLuZgIWR/IRQ8nCqRwiFgwC9XiO9+8poq5KL053uWAQnCSbsfihq77zPg==}
+    hasBin: true
+    dependencies:
+      clean-css: 4.2.4
+      glob: 7.2.3
+      rework: 1.0.1
+      uglify-js: 3.17.4
+      yargs: 8.0.2
+    dev: true
+
+  /read-pkg-up@2.0.0:
+    resolution: {integrity: 
sha512-1orxQfbWGUiTn9XsPlChs6rLie/AV9jwZTGmu2NZw/CUDJQchXJFYE0Fq5j7+n558T1JhDWLdhyd1Zj+wLY//w==}
+    engines: {node: '>=4'}
+    dependencies:
+      find-up: 2.1.0
+      read-pkg: 2.0.0
+    dev: true
+
+  /read-pkg@2.0.0:
+    resolution: {integrity: 
sha512-eFIBOPW7FGjzBuk3hdXEuNSiTZS/xEMlH49HxMyzb0hyPfu4EhVjT2DH32K1hSSmVq4sebAWnZuuY5auISUTGA==}
+    engines: {node: '>=4'}
+    dependencies:
+      load-json-file: 2.0.0
+      normalize-package-data: 2.5.0
+      path-type: 2.0.0
+    dev: true
+
   /readdirp@3.6.0:
     resolution: {integrity: 
sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
     engines: {node: '>=8.10.0'}
@@ -354,6 +740,36 @@ packages:
       picomatch: 2.3.1
     dev: true
 
+  /require-directory@2.1.1:
+    resolution: {integrity: 
sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+    engines: {node: '>=0.10.0'}
+    dev: true
+
+  /require-main-filename@1.0.1:
+    resolution: {integrity: 
sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==}
+    dev: true
+
+  /resolve-url@0.2.1:
+    resolution: {integrity: 
sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==}
+    deprecated: https://github.com/lydell/resolve-url#deprecated
+    dev: true
+
+  /resolve@1.22.8:
+    resolution: {integrity: 
sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
+    hasBin: true
+    dependencies:
+      is-core-module: 2.13.1
+      path-parse: 1.0.7
+      supports-preserve-symlinks-flag: 1.0.0
+    dev: true
+
+  /rework@1.0.1:
+    resolution: {integrity: 
sha512-eEjL8FdkdsxApd0yWVZgBGzfCQiT8yqSc2H1p4jpZpQdtz7ohETiDMoje5PlM8I9WgkqkreVxFUKYOiJdVWDXw==}
+    dependencies:
+      convert-source-map: 0.3.5
+      css: 2.2.4
+    dev: true
+
   /sass@1.71.1:
     resolution: {integrity: 
sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==}
     engines: {node: '>=14.0.0'}
@@ -364,14 +780,201 @@ packages:
       source-map-js: 1.0.2
     dev: true
 
+  /semver@5.7.2:
+    resolution: {integrity: 
sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
+    hasBin: true
+    dev: true
+
+  /set-blocking@2.0.0:
+    resolution: {integrity: 
sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
+    dev: true
+
+  /shebang-command@1.2.0:
+    resolution: {integrity: 
sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
+    engines: {node: '>=0.10.0'}
+    dependencies:
+      shebang-regex: 1.0.0
+    dev: true
+
+  /shebang-regex@1.0.0:
+    resolution: {integrity: 
sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==}
+    engines: {node: '>=0.10.0'}
+    dev: true
+
+  /signal-exit@3.0.7:
+    resolution: {integrity: 
sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+    dev: true
+
   /source-map-js@1.0.2:
     resolution: {integrity: 
sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
     engines: {node: '>=0.10.0'}
     dev: true
 
+  /source-map-resolve@0.5.3:
+    resolution: {integrity: 
sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==}
+    deprecated: See https://github.com/lydell/source-map-resolve#deprecated
+    dependencies:
+      atob: 2.1.2
+      decode-uri-component: 0.2.2
+      resolve-url: 0.2.1
+      source-map-url: 0.4.1
+      urix: 0.1.0
+    dev: true
+
+  /source-map-url@0.4.1:
+    resolution: {integrity: 
sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==}
+    deprecated: See https://github.com/lydell/source-map-url#deprecated
+    dev: true
+
+  /source-map@0.6.1:
+    resolution: {integrity: 
sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
+    engines: {node: '>=0.10.0'}
+    dev: true
+
+  /spdx-correct@3.2.0:
+    resolution: {integrity: 
sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
+    dependencies:
+      spdx-expression-parse: 3.0.1
+      spdx-license-ids: 3.0.17
+    dev: true
+
+  /spdx-exceptions@2.5.0:
+    resolution: {integrity: 
sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
+    dev: true
+
+  /spdx-expression-parse@3.0.1:
+    resolution: {integrity: 
sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
+    dependencies:
+      spdx-exceptions: 2.5.0
+      spdx-license-ids: 3.0.17
+    dev: true
+
+  /spdx-license-ids@3.0.17:
+    resolution: {integrity: 
sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==}
+    dev: true
+
+  /string-width@1.0.2:
+    resolution: {integrity: 
sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==}
+    engines: {node: '>=0.10.0'}
+    dependencies:
+      code-point-at: 1.1.0
+      is-fullwidth-code-point: 1.0.0
+      strip-ansi: 3.0.1
+    dev: true
+
+  /string-width@2.1.1:
+    resolution: {integrity: 
sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==}
+    engines: {node: '>=4'}
+    dependencies:
+      is-fullwidth-code-point: 2.0.0
+      strip-ansi: 4.0.0
+    dev: true
+
+  /strip-ansi@3.0.1:
+    resolution: {integrity: 
sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==}
+    engines: {node: '>=0.10.0'}
+    dependencies:
+      ansi-regex: 2.1.1
+    dev: true
+
+  /strip-ansi@4.0.0:
+    resolution: {integrity: 
sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==}
+    engines: {node: '>=4'}
+    dependencies:
+      ansi-regex: 3.0.1
+    dev: true
+
+  /strip-bom@3.0.0:
+    resolution: {integrity: 
sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
+    engines: {node: '>=4'}
+    dev: true
+
+  /strip-eof@1.0.0:
+    resolution: {integrity: 
sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==}
+    engines: {node: '>=0.10.0'}
+    dev: true
+
+  /supports-preserve-symlinks-flag@1.0.0:
+    resolution: {integrity: 
sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+    engines: {node: '>= 0.4'}
+    dev: true
+
   /to-regex-range@5.0.1:
     resolution: {integrity: 
sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
     engines: {node: '>=8.0'}
     dependencies:
       is-number: 7.0.0
     dev: true
+
+  /uglify-js@3.17.4:
+    resolution: {integrity: 
sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==}
+    engines: {node: '>=0.8.0'}
+    hasBin: true
+    dev: true
+
+  /urix@0.1.0:
+    resolution: {integrity: 
sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==}
+    deprecated: Please see https://github.com/lydell/urix#deprecated
+    dev: true
+
+  /validate-npm-package-license@3.0.4:
+    resolution: {integrity: 
sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
+    dependencies:
+      spdx-correct: 3.2.0
+      spdx-expression-parse: 3.0.1
+    dev: true
+
+  /which-module@2.0.1:
+    resolution: {integrity: 
sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
+    dev: true
+
+  /which@1.3.1:
+    resolution: {integrity: 
sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==}
+    hasBin: true
+    dependencies:
+      isexe: 2.0.0
+    dev: true
+
+  /wrap-ansi@2.1.0:
+    resolution: {integrity: 
sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==}
+    engines: {node: '>=0.10.0'}
+    dependencies:
+      string-width: 1.0.2
+      strip-ansi: 3.0.1
+    dev: true
+
+  /wrappy@1.0.2:
+    resolution: {integrity: 
sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+    dev: true
+
+  /y18n@3.2.2:
+    resolution: {integrity: 
sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==}
+    dev: true
+
+  /yallist@2.1.2:
+    resolution: {integrity: 
sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==}
+    dev: true
+
+  /yargs-parser@7.0.0:
+    resolution: {integrity: 
sha512-WhzC+xgstid9MbVUktco/bf+KJG+Uu6vMX0LN1sLJvwmbCQVxb4D8LzogobonKycNasCZLdOzTAk1SK7+K7swg==}
+    dependencies:
+      camelcase: 4.1.0
+    dev: true
+
+  /yargs@8.0.2:
+    resolution: {integrity: 
sha512-3RiZrpLpjrzIAKgGdPktBcMP/eG5bDFlkI+PHle1qwzyVXyDQL+pD/eZaMoOOO0Y7LLBfjpucObuUm/icvbpKQ==}
+    dependencies:
+      camelcase: 4.1.0
+      cliui: 3.2.0
+      decamelize: 1.2.0
+      get-caller-file: 1.0.3
+      os-locale: 2.1.0
+      read-pkg-up: 2.0.0
+      require-directory: 2.1.1
+      require-main-filename: 1.0.1
+      set-blocking: 2.0.0
+      string-width: 2.1.1
+      which-module: 2.0.1
+      y18n: 3.2.2
+      yargs-parser: 7.0.0
+    dev: true

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]