mediawiki/extensions/FanBoxes: main (log #967635)

sourcepatches

This run took 32 seconds.

From 4161bab04e908eabe616b53dda2f39a41615b0a6 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Thu, 23 Mar 2023 22:41:54 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* grunt: 1.5.3 → 1.6.1
* stylelint-config-wikimedia: 0.13.1 → 0.14.0

Change-Id: I1465952efe5d7ab81b6e9112e4d00fead53b12ce
---
 package-lock.json | 659 +++++++++++++++++++---------------------------
 package.json      |   4 +-
 2 files changed, 267 insertions(+), 396 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 3c6c49e..9adb956 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7,11 +7,11 @@
 			"name": "FanBoxes",
 			"devDependencies": {
 				"eslint-config-wikimedia": "0.24.0",
-				"grunt": "1.5.3",
+				"grunt": "1.6.1",
 				"grunt-banana-checker": "0.10.0",
 				"grunt-eslint": "24.0.0",
 				"grunt-stylelint": "0.18.0",
-				"stylelint-config-wikimedia": "0.13.1"
+				"stylelint-config-wikimedia": "0.14.0"
 			}
 		},
 		"node_modules/@babel/code-frame": {
@@ -120,6 +120,22 @@
 				"node": ">=4"
 			}
 		},
+		"node_modules/@csstools/selector-specificity": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz",
+			"integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==",
+			"dev": true,
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/csstools"
+			},
+			"peerDependencies": {
+				"postcss-selector-parser": "^6.0.10"
+			}
+		},
 		"node_modules/@es-joy/jsdoccomment": {
 			"version": "0.23.6",
 			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.23.6.tgz",
@@ -631,18 +647,6 @@
 				"wrap-ansi": "^7.0.0"
 			}
 		},
-		"node_modules/clone-regexp": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz",
-			"integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==",
-			"dev": true,
-			"dependencies": {
-				"is-regexp": "^2.0.0"
-			},
-			"engines": {
-				"node": ">=6"
-			}
-		},
 		"node_modules/color-convert": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -662,9 +666,9 @@
 			"dev": true
 		},
 		"node_modules/colord": {
-			"version": "2.9.2",
-			"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz",
-			"integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==",
+			"version": "2.9.3",
+			"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
+			"integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
 			"dev": true
 		},
 		"node_modules/colors": {
@@ -709,9 +713,9 @@
 			"dev": true
 		},
 		"node_modules/cosmiconfig": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
-			"integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
+			"integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
 			"dev": true,
 			"dependencies": {
 				"@types/parse-json": "^4.0.0",
@@ -739,9 +743,9 @@
 			}
 		},
 		"node_modules/css-functions-list": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.0.1.tgz",
-			"integrity": "sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw==",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz",
+			"integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==",
 			"dev": true,
 			"engines": {
 				"node": ">=12.22"
@@ -750,7 +754,7 @@
 		"node_modules/css-rule-stream": {
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/css-rule-stream/-/css-rule-stream-1.1.0.tgz",
-			"integrity": "sha1-N4bnGYmD2WWibjGVfgkHjLt3BaI=",
+			"integrity": "sha512-qiio/Zkr8I19jh/XuzEkK8OKDQRTrEYaRyIHy4Bwh/tPUe0w8GcQs7r6x24Yc9lT+FbnZFYULxEIXCmaymguUQ==",
 			"dev": true,
 			"dependencies": {
 				"css-tokenize": "^1.0.1",
@@ -765,7 +769,7 @@
 		"node_modules/css-rule-stream/node_modules/readable-stream": {
 			"version": "1.0.34",
 			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-			"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+			"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
 			"dev": true,
 			"dependencies": {
 				"core-util-is": "~1.0.0",
@@ -777,7 +781,7 @@
 		"node_modules/css-rule-stream/node_modules/through2": {
 			"version": "0.6.5",
 			"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-			"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+			"integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
 			"dev": true,
 			"dependencies": {
 				"readable-stream": ">=1.0.33-1 <1.1.0-0",
@@ -787,7 +791,7 @@
 		"node_modules/css-tokenize": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/css-tokenize/-/css-tokenize-1.0.1.tgz",
-			"integrity": "sha1-RiXLHtohwUOFi3+B1oA8HSb8FL4=",
+			"integrity": "sha512-gLmmbJdwH9HLY4bcA17lnZ8GgPwEXRbvxBJGHnkiB6gLhRpTzjkjtMIvz7YORGW/Ptv2oMk8b5g+u7mRD6Dd7A==",
 			"dev": true,
 			"dependencies": {
 				"inherits": "^2.0.1",
@@ -807,9 +811,9 @@
 			}
 		},
 		"node_modules/dateformat": {
-			"version": "3.0.3",
-			"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
-			"integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
+			"version": "4.6.3",
+			"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz",
+			"integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==",
 			"dev": true,
 			"engines": {
 				"node": "*"
@@ -984,7 +988,7 @@
 		"node_modules/duplexer2": {
 			"version": "0.0.2",
 			"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
-			"integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
+			"integrity": "sha512-+AWBwjGadtksxjOQSFDhPNQbed7icNXApT4+2BNpsXzcCBiInq2H9XW0O8sfHFaPmnQRs7cg/P0fAr2IWQSW0g==",
 			"dev": true,
 			"dependencies": {
 				"readable-stream": "~1.1.9"
@@ -1545,18 +1549,6 @@
 			"integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
 			"dev": true
 		},
-		"node_modules/execall": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz",
-			"integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==",
-			"dev": true,
-			"dependencies": {
-				"clone-regexp": "^2.1.0"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/exit": {
 			"version": "0.1.2",
 			"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
@@ -1591,9 +1583,9 @@
 			"dev": true
 		},
 		"node_modules/fast-glob": {
-			"version": "3.2.11",
-			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
-			"integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
+			"version": "3.2.12",
+			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
+			"integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
 			"dev": true,
 			"dependencies": {
 				"@nodelib/fs.stat": "^2.0.2",
@@ -1631,10 +1623,13 @@
 			"dev": true
 		},
 		"node_modules/fastest-levenshtein": {
-			"version": "1.0.12",
-			"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
-			"integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==",
-			"dev": true
+			"version": "1.0.16",
+			"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
+			"integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
+			"dev": true,
+			"engines": {
+				"node": ">= 4.9.1"
+			}
 		},
 		"node_modules/fastq": {
 			"version": "1.13.0",
@@ -1686,31 +1681,18 @@
 			}
 		},
 		"node_modules/findup-sync": {
-			"version": "0.3.0",
-			"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",
-			"integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
-			"dev": true,
-			"dependencies": {
-				"glob": "~5.0.0"
-			},
-			"engines": {
-				"node": ">= 0.6.0"
-			}
-		},
-		"node_modules/findup-sync/node_modules/glob": {
-			"version": "5.0.15",
-			"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
-			"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz",
+			"integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==",
 			"dev": true,
 			"dependencies": {
-				"inflight": "^1.0.4",
-				"inherits": "2",
-				"minimatch": "2 || 3",
-				"once": "^1.3.0",
-				"path-is-absolute": "^1.0.0"
+				"detect-file": "^1.0.0",
+				"is-glob": "^4.0.3",
+				"micromatch": "^4.0.4",
+				"resolve-dir": "^1.0.1"
 			},
 			"engines": {
-				"node": "*"
+				"node": ">= 10.13.0"
 			}
 		},
 		"node_modules/fined": {
@@ -1799,18 +1781,6 @@
 				"node": "6.* || 8.* || >= 10.*"
 			}
 		},
-		"node_modules/get-stdin": {
-			"version": "8.0.0",
-			"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz",
-			"integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==",
-			"dev": true,
-			"engines": {
-				"node": ">=10"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
 		"node_modules/getobject": {
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.2.tgz",
@@ -1938,32 +1908,30 @@
 			"dev": true
 		},
 		"node_modules/grunt": {
-			"version": "1.5.3",
-			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.3.tgz",
-			"integrity": "sha512-mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==",
+			"version": "1.6.1",
+			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.6.1.tgz",
+			"integrity": "sha512-/ABUy3gYWu5iBmrUSRBP97JLpQUm0GgVveDCp6t3yRNIoltIYw7rEj3g5y1o2PGPR2vfTRGa7WC/LZHLTXnEzA==",
 			"dev": true,
 			"dependencies": {
-				"dateformat": "~3.0.3",
+				"dateformat": "~4.6.2",
 				"eventemitter2": "~0.4.13",
 				"exit": "~0.1.2",
-				"findup-sync": "~0.3.0",
+				"findup-sync": "~5.0.0",
 				"glob": "~7.1.6",
 				"grunt-cli": "~1.4.3",
 				"grunt-known-options": "~2.0.0",
 				"grunt-legacy-log": "~3.0.0",
 				"grunt-legacy-util": "~2.0.1",
-				"iconv-lite": "~0.4.13",
+				"iconv-lite": "~0.6.3",
 				"js-yaml": "~3.14.0",
 				"minimatch": "~3.0.4",
-				"mkdirp": "~1.0.4",
-				"nopt": "~3.0.6",
-				"rimraf": "~3.0.2"
+				"nopt": "~3.0.6"
 			},
 			"bin": {
 				"grunt": "bin/grunt"
 			},
 			"engines": {
-				"node": ">=8"
+				"node": ">=16"
 			}
 		},
 		"node_modules/grunt-banana-checker": {
@@ -2228,21 +2196,21 @@
 			}
 		},
 		"node_modules/iconv-lite": {
-			"version": "0.4.24",
-			"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
-			"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+			"version": "0.6.3",
+			"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+			"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
 			"dev": true,
 			"dependencies": {
-				"safer-buffer": ">= 2.1.2 < 3"
+				"safer-buffer": ">= 2.1.2 < 3.0.0"
 			},
 			"engines": {
 				"node": ">=0.10.0"
 			}
 		},
 		"node_modules/ignore": {
-			"version": "5.2.0",
-			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
-			"integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+			"version": "5.2.4",
+			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
+			"integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
 			"dev": true,
 			"engines": {
 				"node": ">= 4"
@@ -2434,15 +2402,6 @@
 				"node": ">=0.10.0"
 			}
 		},
-		"node_modules/is-regexp": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz",
-			"integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==",
-			"dev": true,
-			"engines": {
-				"node": ">=6"
-			}
-		},
 		"node_modules/is-relative": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
@@ -2479,7 +2438,7 @@
 		"node_modules/isarray": {
 			"version": "0.0.1",
 			"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
-			"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+			"integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
 			"dev": true
 		},
 		"node_modules/isexe": {
@@ -2562,15 +2521,15 @@
 			}
 		},
 		"node_modules/known-css-properties": {
-			"version": "0.24.0",
-			"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.24.0.tgz",
-			"integrity": "sha512-RTSoaUAfLvpR357vWzAz/50Q/BmHfmE6ETSWfutT0AJiw10e6CmcdYRQJlLRd95B53D0Y2aD1jSxD3V3ySF+PA==",
+			"version": "0.26.0",
+			"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.26.0.tgz",
+			"integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==",
 			"dev": true
 		},
 		"node_modules/ldjson-stream": {
 			"version": "1.2.1",
 			"resolved": "https://registry.npmjs.org/ldjson-stream/-/ldjson-stream-1.2.1.tgz",
-			"integrity": "sha1-kb7O2lrE7SsX5kn7d356v6AYnCs=",
+			"integrity": "sha512-xw/nNEXafuPSLu8NjjG3+atVVw+8U1APZAQylmwQn19Hgw6rC7QjHvP6MupnHWCrzSm9m0xs5QWkCLuRvBPjgQ==",
 			"dev": true,
 			"dependencies": {
 				"split2": "^0.2.1",
@@ -2580,7 +2539,7 @@
 		"node_modules/ldjson-stream/node_modules/readable-stream": {
 			"version": "1.0.34",
 			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-			"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+			"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
 			"dev": true,
 			"dependencies": {
 				"core-util-is": "~1.0.0",
@@ -2592,7 +2551,7 @@
 		"node_modules/ldjson-stream/node_modules/through2": {
 			"version": "0.6.5",
 			"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-			"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+			"integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
 			"dev": true,
 			"dependencies": {
 				"readable-stream": ">=1.0.33-1 <1.1.0-0",
@@ -2688,7 +2647,7 @@
 		"node_modules/lodash.truncate": {
 			"version": "4.4.2",
 			"resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
-			"integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=",
+			"integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
 			"dev": true
 		},
 		"node_modules/lru-cache": {
@@ -2868,18 +2827,6 @@
 				"node": ">= 6"
 			}
 		},
-		"node_modules/mkdirp": {
-			"version": "1.0.4",
-			"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-			"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
-			"dev": true,
-			"bin": {
-				"mkdirp": "bin/cmd.js"
-			},
-			"engines": {
-				"node": ">=10"
-			}
-		},
 		"node_modules/ms": {
 			"version": "2.1.2",
 			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -2915,9 +2862,9 @@
 			}
 		},
 		"node_modules/nanoid": {
-			"version": "3.3.3",
-			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
-			"integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+			"version": "3.3.4",
+			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
+			"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
 			"dev": true,
 			"bin": {
 				"nanoid": "bin/nanoid.cjs"
@@ -2980,12 +2927,6 @@
 				"node": ">=0.10.0"
 			}
 		},
-		"node_modules/normalize-selector": {
-			"version": "0.2.0",
-			"resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz",
-			"integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=",
-			"dev": true
-		},
 		"node_modules/nth-check": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz",
@@ -3275,9 +3216,9 @@
 			}
 		},
 		"node_modules/postcss": {
-			"version": "8.4.12",
-			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz",
-			"integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==",
+			"version": "8.4.21",
+			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
+			"integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
 			"dev": true,
 			"funding": [
 				{
@@ -3290,7 +3231,7 @@
 				}
 			],
 			"dependencies": {
-				"nanoid": "^3.3.1",
+				"nanoid": "^3.3.4",
 				"picocolors": "^1.0.0",
 				"source-map-js": "^1.0.2"
 			},
@@ -3360,9 +3301,9 @@
 			}
 		},
 		"node_modules/postcss-selector-parser": {
-			"version": "6.0.10",
-			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
-			"integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
+			"version": "6.0.11",
+			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
+			"integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
 			"dev": true,
 			"dependencies": {
 				"cssesc": "^3.0.0",
@@ -3536,7 +3477,7 @@
 		"node_modules/readable-stream": {
 			"version": "1.1.14",
 			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
-			"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+			"integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==",
 			"dev": true,
 			"dependencies": {
 				"core-util-is": "~1.0.0",
@@ -3594,7 +3535,7 @@
 		"node_modules/require-directory": {
 			"version": "2.1.1",
 			"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
-			"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+			"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
 			"dev": true,
 			"engines": {
 				"node": ">=0.10.0"
@@ -3851,9 +3792,9 @@
 			}
 		},
 		"node_modules/source-map": {
-			"version": "0.7.3",
-			"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-			"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+			"version": "0.7.4",
+			"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+			"integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
 			"dev": true,
 			"engines": {
 				"node": ">= 8"
@@ -3900,19 +3841,10 @@
 			"integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==",
 			"dev": true
 		},
-		"node_modules/specificity": {
-			"version": "0.4.1",
-			"resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz",
-			"integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==",
-			"dev": true,
-			"bin": {
-				"specificity": "bin/specificity"
-			}
-		},
 		"node_modules/split2": {
 			"version": "0.2.1",
 			"resolved": "https://registry.npmjs.org/split2/-/split2-0.2.1.tgz",
-			"integrity": "sha1-At2smtwD7Au3jBKC7Aecpuha6QA=",
+			"integrity": "sha512-D/oTExYAkC9nWleOCTOyNmAuzfAT/6rHGBA9LIK7FVnGo13CSvrKCUzKenwH6U1s2znY9MqH6v0UQTEDa3vJmg==",
 			"dev": true,
 			"dependencies": {
 				"through2": "~0.6.1"
@@ -3921,7 +3853,7 @@
 		"node_modules/split2/node_modules/readable-stream": {
 			"version": "1.0.34",
 			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-			"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+			"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
 			"dev": true,
 			"dependencies": {
 				"core-util-is": "~1.0.0",
@@ -3933,7 +3865,7 @@
 		"node_modules/split2/node_modules/through2": {
 			"version": "0.6.5",
 			"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-			"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+			"integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
 			"dev": true,
 			"dependencies": {
 				"readable-stream": ">=1.0.33-1 <1.1.0-0",
@@ -3949,7 +3881,7 @@
 		"node_modules/string_decoder": {
 			"version": "0.10.31",
 			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
-			"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+			"integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==",
 			"dev": true
 		},
 		"node_modules/string-width": {
@@ -4009,52 +3941,49 @@
 			"dev": true
 		},
 		"node_modules/stylelint": {
-			"version": "14.8.1",
-			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.1.tgz",
-			"integrity": "sha512-0YxTop3wTeEVmQWhS7jjLFaBkvfPmffRiJ6eFIDlK++f3OklaobTYFJu32E5u/cIrFLbcW52pLqrYpihA/y0/w==",
+			"version": "14.16.1",
+			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.16.1.tgz",
+			"integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==",
 			"dev": true,
 			"dependencies": {
+				"@csstools/selector-specificity": "^2.0.2",
 				"balanced-match": "^2.0.0",
-				"colord": "^2.9.2",
-				"cosmiconfig": "^7.0.1",
-				"css-functions-list": "^3.0.1",
+				"colord": "^2.9.3",
+				"cosmiconfig": "^7.1.0",
+				"css-functions-list": "^3.1.0",
 				"debug": "^4.3.4",
-				"execall": "^2.0.0",
-				"fast-glob": "^3.2.11",
-				"fastest-levenshtein": "^1.0.12",
+				"fast-glob": "^3.2.12",
+				"fastest-levenshtein": "^1.0.16",
 				"file-entry-cache": "^6.0.1",
-				"get-stdin": "^8.0.0",
 				"global-modules": "^2.0.0",
 				"globby": "^11.1.0",
 				"globjoin": "^0.1.4",
 				"html-tags": "^3.2.0",
-				"ignore": "^5.2.0",
+				"ignore": "^5.2.1",
 				"import-lazy": "^4.0.0",
 				"imurmurhash": "^0.1.4",
 				"is-plain-object": "^5.0.0",
-				"known-css-properties": "^0.24.0",
+				"known-css-properties": "^0.26.0",
 				"mathml-tag-names": "^2.1.3",
 				"meow": "^9.0.0",
 				"micromatch": "^4.0.5",
 				"normalize-path": "^3.0.0",
-				"normalize-selector": "^0.2.0",
 				"picocolors": "^1.0.0",
-				"postcss": "^8.4.12",
+				"postcss": "^8.4.19",
 				"postcss-media-query-parser": "^0.2.3",
 				"postcss-resolve-nested-selector": "^0.1.1",
 				"postcss-safe-parser": "^6.0.0",
-				"postcss-selector-parser": "^6.0.10",
+				"postcss-selector-parser": "^6.0.11",
 				"postcss-value-parser": "^4.2.0",
 				"resolve-from": "^5.0.0",
-				"specificity": "^0.4.1",
 				"string-width": "^4.2.3",
 				"strip-ansi": "^6.0.1",
 				"style-search": "^0.1.0",
-				"supports-hyperlinks": "^2.2.0",
+				"supports-hyperlinks": "^2.3.0",
 				"svg-tags": "^1.0.0",
-				"table": "^6.8.0",
+				"table": "^6.8.1",
 				"v8-compile-cache": "^2.3.0",
-				"write-file-atomic": "^4.0.1"
+				"write-file-atomic": "^4.0.2"
 			},
 			"bin": {
 				"stylelint": "bin/stylelint.js"
@@ -4068,46 +3997,46 @@
 			}
 		},
 		"node_modules/stylelint-config-recommended": {
-			"version": "7.0.0",
-			"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz",
-			"integrity": "sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==",
+			"version": "9.0.0",
+			"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-9.0.0.tgz",
+			"integrity": "sha512-9YQSrJq4NvvRuTbzDsWX3rrFOzOlYBmZP+o513BJN/yfEmGSr0AxdvrWs0P/ilSpVV/wisamAHu5XSk8Rcf4CQ==",
 			"dev": true,
 			"peerDependencies": {
-				"stylelint": "^14.4.0"
+				"stylelint": "^14.10.0"
 			}
 		},
 		"node_modules/stylelint-config-wikimedia": {
-			"version": "0.13.1",
-			"resolved": "https://registry.npmjs.org/stylelint-config-wikimedia/-/stylelint-config-wikimedia-0.13.1.tgz",
-			"integrity": "sha512-Wpm+cVJ2eZmlPO8HCv223OZZwyVZh5Ha11dRkzlccZwscxVkoKj/lo6xo10GNWBV9kpEA0+ksYJTIXXmRw1AoA==",
+			"version": "0.14.0",
+			"resolved": "https://registry.npmjs.org/stylelint-config-wikimedia/-/stylelint-config-wikimedia-0.14.0.tgz",
+			"integrity": "sha512-8gc5fcYsavMU6yBxE4Ium0XX8Ekedg+kcU0Oojjg5di6Jhv74bx3pcdfW+Z4bDYKWx3pg3Glemy/CBRqg+JViQ==",
 			"dev": true,
 			"dependencies": {
 				"browserslist-config-wikimedia": "0.4.0",
 				"postcss-html": "1.5.0",
 				"postcss-less": "6.0.0",
-				"stylelint": "14.8.1",
-				"stylelint-config-recommended": "7.0.0",
-				"stylelint-no-unsupported-browser-features": "5.0.3"
+				"stylelint": "14.16.1",
+				"stylelint-config-recommended": "9.0.0",
+				"stylelint-no-unsupported-browser-features": "6.1.0"
 			},
 			"peerDependencies": {
 				"postcss-less": "^6.0.0"
 			}
 		},
 		"node_modules/stylelint-no-unsupported-browser-features": {
-			"version": "5.0.3",
-			"resolved": "https://registry.npmjs.org/stylelint-no-unsupported-browser-features/-/stylelint-no-unsupported-browser-features-5.0.3.tgz",
-			"integrity": "sha512-FqfbOTk5UEkHsAKOkPH6SvajsfO9YuoWvKxd34tCRBZug9ZNeaPn141nyWkd+ncc8S1gVmO2+O6qVAMj9bvWww==",
+			"version": "6.1.0",
+			"resolved": "https://registry.npmjs.org/stylelint-no-unsupported-browser-features/-/stylelint-no-unsupported-browser-features-6.1.0.tgz",
+			"integrity": "sha512-3Taj+z9PjIiY6cz4hg3eN8Khue3kMm9lPXYuEvdjAFXDK20uQo2NocJaWN6anIKclYlwrpkBAS9W/KV3qPTWsw==",
 			"dev": true,
 			"dependencies": {
 				"doiuse": "^4.4.1",
 				"lodash": "^4.17.15",
-				"postcss": "^8.3.6"
+				"postcss": "^8.4.16"
 			},
 			"engines": {
-				"node": ">=12"
+				"node": ">=14"
 			},
 			"peerDependencies": {
-				"stylelint": ">=13.0.0"
+				"stylelint": "^14.0.0||^15.0.0"
 			}
 		},
 		"node_modules/stylelint/node_modules/balanced-match": {
@@ -4147,9 +4076,9 @@
 			}
 		},
 		"node_modules/supports-hyperlinks": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
-			"integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
+			"integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
 			"dev": true,
 			"dependencies": {
 				"has-flag": "^4.0.0",
@@ -4178,9 +4107,9 @@
 			"dev": true
 		},
 		"node_modules/table": {
-			"version": "6.8.0",
-			"resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
-			"integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
+			"version": "6.8.1",
+			"resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz",
+			"integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==",
 			"dev": true,
 			"dependencies": {
 				"ajv": "^8.0.1",
@@ -4194,9 +4123,9 @@
 			}
 		},
 		"node_modules/table/node_modules/ajv": {
-			"version": "8.11.0",
-			"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
-			"integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
+			"version": "8.12.0",
+			"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+			"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
 			"dev": true,
 			"dependencies": {
 				"fast-deep-equal": "^3.1.1",
@@ -4231,9 +4160,9 @@
 			}
 		},
 		"node_modules/through2/node_modules/readable-stream": {
-			"version": "3.6.0",
-			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
-			"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+			"version": "3.6.2",
+			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+			"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
 			"dev": true,
 			"dependencies": {
 				"inherits": "^2.0.3",
@@ -4445,16 +4374,16 @@
 			"dev": true
 		},
 		"node_modules/write-file-atomic": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz",
-			"integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==",
+			"version": "4.0.2",
+			"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+			"integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
 			"dev": true,
 			"dependencies": {
 				"imurmurhash": "^0.1.4",
 				"signal-exit": "^3.0.7"
 			},
 			"engines": {
-				"node": "^12.13.0 || ^14.15.0 || >=16"
+				"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
 			}
 		},
 		"node_modules/xtend": {
@@ -4629,6 +4558,13 @@
 				}
 			}
 		},
+		"@csstools/selector-specificity": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz",
+			"integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==",
+			"dev": true,
+			"requires": {}
+		},
 		"@es-joy/jsdoccomment": {
 			"version": "0.23.6",
 			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.23.6.tgz",
@@ -4997,15 +4933,6 @@
 				"wrap-ansi": "^7.0.0"
 			}
 		},
-		"clone-regexp": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz",
-			"integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==",
-			"dev": true,
-			"requires": {
-				"is-regexp": "^2.0.0"
-			}
-		},
 		"color-convert": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -5022,9 +4949,9 @@
 			"dev": true
 		},
 		"colord": {
-			"version": "2.9.2",
-			"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz",
-			"integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==",
+			"version": "2.9.3",
+			"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
+			"integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
 			"dev": true
 		},
 		"colors": {
@@ -5058,9 +4985,9 @@
 			"dev": true
 		},
 		"cosmiconfig": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
-			"integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
+			"integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
 			"dev": true,
 			"requires": {
 				"@types/parse-json": "^4.0.0",
@@ -5082,15 +5009,15 @@
 			}
 		},
 		"css-functions-list": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.0.1.tgz",
-			"integrity": "sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw==",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz",
+			"integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==",
 			"dev": true
 		},
 		"css-rule-stream": {
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/css-rule-stream/-/css-rule-stream-1.1.0.tgz",
-			"integrity": "sha1-N4bnGYmD2WWibjGVfgkHjLt3BaI=",
+			"integrity": "sha512-qiio/Zkr8I19jh/XuzEkK8OKDQRTrEYaRyIHy4Bwh/tPUe0w8GcQs7r6x24Yc9lT+FbnZFYULxEIXCmaymguUQ==",
 			"dev": true,
 			"requires": {
 				"css-tokenize": "^1.0.1",
@@ -5102,7 +5029,7 @@
 				"readable-stream": {
 					"version": "1.0.34",
 					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-					"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+					"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
 					"dev": true,
 					"requires": {
 						"core-util-is": "~1.0.0",
@@ -5114,7 +5041,7 @@
 				"through2": {
 					"version": "0.6.5",
 					"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-					"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+					"integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
 					"dev": true,
 					"requires": {
 						"readable-stream": ">=1.0.33-1 <1.1.0-0",
@@ -5126,7 +5053,7 @@
 		"css-tokenize": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/css-tokenize/-/css-tokenize-1.0.1.tgz",
-			"integrity": "sha1-RiXLHtohwUOFi3+B1oA8HSb8FL4=",
+			"integrity": "sha512-gLmmbJdwH9HLY4bcA17lnZ8GgPwEXRbvxBJGHnkiB6gLhRpTzjkjtMIvz7YORGW/Ptv2oMk8b5g+u7mRD6Dd7A==",
 			"dev": true,
 			"requires": {
 				"inherits": "^2.0.1",
@@ -5140,9 +5067,9 @@
 			"dev": true
 		},
 		"dateformat": {
-			"version": "3.0.3",
-			"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
-			"integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
+			"version": "4.6.3",
+			"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz",
+			"integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==",
 			"dev": true
 		},
 		"debug": {
@@ -5266,7 +5193,7 @@
 		"duplexer2": {
 			"version": "0.0.2",
 			"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
-			"integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
+			"integrity": "sha512-+AWBwjGadtksxjOQSFDhPNQbed7icNXApT4+2BNpsXzcCBiInq2H9XW0O8sfHFaPmnQRs7cg/P0fAr2IWQSW0g==",
 			"dev": true,
 			"requires": {
 				"readable-stream": "~1.1.9"
@@ -5668,15 +5595,6 @@
 			"integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
 			"dev": true
 		},
-		"execall": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz",
-			"integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==",
-			"dev": true,
-			"requires": {
-				"clone-regexp": "^2.1.0"
-			}
-		},
 		"exit": {
 			"version": "0.1.2",
 			"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
@@ -5705,9 +5623,9 @@
 			"dev": true
 		},
 		"fast-glob": {
-			"version": "3.2.11",
-			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
-			"integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
+			"version": "3.2.12",
+			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
+			"integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
 			"dev": true,
 			"requires": {
 				"@nodelib/fs.stat": "^2.0.2",
@@ -5741,9 +5659,9 @@
 			"dev": true
 		},
 		"fastest-levenshtein": {
-			"version": "1.0.12",
-			"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
-			"integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==",
+			"version": "1.0.16",
+			"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
+			"integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
 			"dev": true
 		},
 		"fastq": {
@@ -5784,27 +5702,15 @@
 			}
 		},
 		"findup-sync": {
-			"version": "0.3.0",
-			"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",
-			"integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz",
+			"integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==",
 			"dev": true,
 			"requires": {
-				"glob": "~5.0.0"
-			},
-			"dependencies": {
-				"glob": {
-					"version": "5.0.15",
-					"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
-					"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
-					"dev": true,
-					"requires": {
-						"inflight": "^1.0.4",
-						"inherits": "2",
-						"minimatch": "2 || 3",
-						"once": "^1.3.0",
-						"path-is-absolute": "^1.0.0"
-					}
-				}
+				"detect-file": "^1.0.0",
+				"is-glob": "^4.0.3",
+				"micromatch": "^4.0.4",
+				"resolve-dir": "^1.0.1"
 			}
 		},
 		"fined": {
@@ -5875,12 +5781,6 @@
 			"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
 			"dev": true
 		},
-		"get-stdin": {
-			"version": "8.0.0",
-			"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz",
-			"integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==",
-			"dev": true
-		},
 		"getobject": {
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.2.tgz",
@@ -5977,26 +5877,24 @@
 			"dev": true
 		},
 		"grunt": {
-			"version": "1.5.3",
-			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.3.tgz",
-			"integrity": "sha512-mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==",
+			"version": "1.6.1",
+			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.6.1.tgz",
+			"integrity": "sha512-/ABUy3gYWu5iBmrUSRBP97JLpQUm0GgVveDCp6t3yRNIoltIYw7rEj3g5y1o2PGPR2vfTRGa7WC/LZHLTXnEzA==",
 			"dev": true,
 			"requires": {
-				"dateformat": "~3.0.3",
+				"dateformat": "~4.6.2",
 				"eventemitter2": "~0.4.13",
 				"exit": "~0.1.2",
-				"findup-sync": "~0.3.0",
+				"findup-sync": "~5.0.0",
 				"glob": "~7.1.6",
 				"grunt-cli": "~1.4.3",
 				"grunt-known-options": "~2.0.0",
 				"grunt-legacy-log": "~3.0.0",
 				"grunt-legacy-util": "~2.0.1",
-				"iconv-lite": "~0.4.13",
+				"iconv-lite": "~0.6.3",
 				"js-yaml": "~3.14.0",
 				"minimatch": "~3.0.4",
-				"mkdirp": "~1.0.4",
-				"nopt": "~3.0.6",
-				"rimraf": "~3.0.2"
+				"nopt": "~3.0.6"
 			},
 			"dependencies": {
 				"argparse": {
@@ -6189,18 +6087,18 @@
 			}
 		},
 		"iconv-lite": {
-			"version": "0.4.24",
-			"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
-			"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+			"version": "0.6.3",
+			"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+			"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
 			"dev": true,
 			"requires": {
-				"safer-buffer": ">= 2.1.2 < 3"
+				"safer-buffer": ">= 2.1.2 < 3.0.0"
 			}
 		},
 		"ignore": {
-			"version": "5.2.0",
-			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
-			"integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+			"version": "5.2.4",
+			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
+			"integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
 			"dev": true
 		},
 		"import-fresh": {
@@ -6341,12 +6239,6 @@
 				"isobject": "^3.0.1"
 			}
 		},
-		"is-regexp": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz",
-			"integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==",
-			"dev": true
-		},
 		"is-relative": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
@@ -6374,7 +6266,7 @@
 		"isarray": {
 			"version": "0.0.1",
 			"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
-			"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+			"integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
 			"dev": true
 		},
 		"isexe": {
@@ -6441,15 +6333,15 @@
 			"dev": true
 		},
 		"known-css-properties": {
-			"version": "0.24.0",
-			"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.24.0.tgz",
-			"integrity": "sha512-RTSoaUAfLvpR357vWzAz/50Q/BmHfmE6ETSWfutT0AJiw10e6CmcdYRQJlLRd95B53D0Y2aD1jSxD3V3ySF+PA==",
+			"version": "0.26.0",
+			"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.26.0.tgz",
+			"integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==",
 			"dev": true
 		},
 		"ldjson-stream": {
 			"version": "1.2.1",
 			"resolved": "https://registry.npmjs.org/ldjson-stream/-/ldjson-stream-1.2.1.tgz",
-			"integrity": "sha1-kb7O2lrE7SsX5kn7d356v6AYnCs=",
+			"integrity": "sha512-xw/nNEXafuPSLu8NjjG3+atVVw+8U1APZAQylmwQn19Hgw6rC7QjHvP6MupnHWCrzSm9m0xs5QWkCLuRvBPjgQ==",
 			"dev": true,
 			"requires": {
 				"split2": "^0.2.1",
@@ -6459,7 +6351,7 @@
 				"readable-stream": {
 					"version": "1.0.34",
 					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-					"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+					"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
 					"dev": true,
 					"requires": {
 						"core-util-is": "~1.0.0",
@@ -6471,7 +6363,7 @@
 				"through2": {
 					"version": "0.6.5",
 					"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-					"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+					"integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
 					"dev": true,
 					"requires": {
 						"readable-stream": ">=1.0.33-1 <1.1.0-0",
@@ -6556,7 +6448,7 @@
 		"lodash.truncate": {
 			"version": "4.4.2",
 			"resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
-			"integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=",
+			"integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
 			"dev": true
 		},
 		"lru-cache": {
@@ -6686,12 +6578,6 @@
 				"kind-of": "^6.0.3"
 			}
 		},
-		"mkdirp": {
-			"version": "1.0.4",
-			"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-			"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
-			"dev": true
-		},
 		"ms": {
 			"version": "2.1.2",
 			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -6720,9 +6606,9 @@
 			}
 		},
 		"nanoid": {
-			"version": "3.3.3",
-			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
-			"integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+			"version": "3.3.4",
+			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
+			"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
 			"dev": true
 		},
 		"natural-compare": {
@@ -6772,12 +6658,6 @@
 			"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
 			"dev": true
 		},
-		"normalize-selector": {
-			"version": "0.2.0",
-			"resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz",
-			"integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=",
-			"dev": true
-		},
 		"nth-check": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz",
@@ -6989,12 +6869,12 @@
 			"dev": true
 		},
 		"postcss": {
-			"version": "8.4.12",
-			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz",
-			"integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==",
+			"version": "8.4.21",
+			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
+			"integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
 			"dev": true,
 			"requires": {
-				"nanoid": "^3.3.1",
+				"nanoid": "^3.3.4",
 				"picocolors": "^1.0.0",
 				"source-map-js": "^1.0.2"
 			}
@@ -7046,9 +6926,9 @@
 			"requires": {}
 		},
 		"postcss-selector-parser": {
-			"version": "6.0.10",
-			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
-			"integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
+			"version": "6.0.11",
+			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
+			"integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
 			"dev": true,
 			"requires": {
 				"cssesc": "^3.0.0",
@@ -7170,7 +7050,7 @@
 		"readable-stream": {
 			"version": "1.1.14",
 			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
-			"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+			"integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==",
 			"dev": true,
 			"requires": {
 				"core-util-is": "~1.0.0",
@@ -7213,7 +7093,7 @@
 		"require-directory": {
 			"version": "2.1.1",
 			"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
-			"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+			"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
 			"dev": true
 		},
 		"require-from-string": {
@@ -7383,9 +7263,9 @@
 			}
 		},
 		"source-map": {
-			"version": "0.7.3",
-			"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-			"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+			"version": "0.7.4",
+			"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+			"integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
 			"dev": true
 		},
 		"source-map-js": {
@@ -7426,16 +7306,10 @@
 			"integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==",
 			"dev": true
 		},
-		"specificity": {
-			"version": "0.4.1",
-			"resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz",
-			"integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==",
-			"dev": true
-		},
 		"split2": {
 			"version": "0.2.1",
 			"resolved": "https://registry.npmjs.org/split2/-/split2-0.2.1.tgz",
-			"integrity": "sha1-At2smtwD7Au3jBKC7Aecpuha6QA=",
+			"integrity": "sha512-D/oTExYAkC9nWleOCTOyNmAuzfAT/6rHGBA9LIK7FVnGo13CSvrKCUzKenwH6U1s2znY9MqH6v0UQTEDa3vJmg==",
 			"dev": true,
 			"requires": {
 				"through2": "~0.6.1"
@@ -7444,7 +7318,7 @@
 				"readable-stream": {
 					"version": "1.0.34",
 					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-					"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+					"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
 					"dev": true,
 					"requires": {
 						"core-util-is": "~1.0.0",
@@ -7456,7 +7330,7 @@
 				"through2": {
 					"version": "0.6.5",
 					"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-					"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+					"integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
 					"dev": true,
 					"requires": {
 						"readable-stream": ">=1.0.33-1 <1.1.0-0",
@@ -7474,7 +7348,7 @@
 		"string_decoder": {
 			"version": "0.10.31",
 			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
-			"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+			"integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==",
 			"dev": true
 		},
 		"string-width": {
@@ -7519,52 +7393,49 @@
 			"dev": true
 		},
 		"stylelint": {
-			"version": "14.8.1",
-			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.1.tgz",
-			"integrity": "sha512-0YxTop3wTeEVmQWhS7jjLFaBkvfPmffRiJ6eFIDlK++f3OklaobTYFJu32E5u/cIrFLbcW52pLqrYpihA/y0/w==",
+			"version": "14.16.1",
+			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.16.1.tgz",
+			"integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==",
 			"dev": true,
 			"requires": {
+				"@csstools/selector-specificity": "^2.0.2",
 				"balanced-match": "^2.0.0",
-				"colord": "^2.9.2",
-				"cosmiconfig": "^7.0.1",
-				"css-functions-list": "^3.0.1",
+				"colord": "^2.9.3",
+				"cosmiconfig": "^7.1.0",
+				"css-functions-list": "^3.1.0",
 				"debug": "^4.3.4",
-				"execall": "^2.0.0",
-				"fast-glob": "^3.2.11",
-				"fastest-levenshtein": "^1.0.12",
+				"fast-glob": "^3.2.12",
+				"fastest-levenshtein": "^1.0.16",
 				"file-entry-cache": "^6.0.1",
-				"get-stdin": "^8.0.0",
 				"global-modules": "^2.0.0",
 				"globby": "^11.1.0",
 				"globjoin": "^0.1.4",
 				"html-tags": "^3.2.0",
-				"ignore": "^5.2.0",
+				"ignore": "^5.2.1",
 				"import-lazy": "^4.0.0",
 				"imurmurhash": "^0.1.4",
 				"is-plain-object": "^5.0.0",
-				"known-css-properties": "^0.24.0",
+				"known-css-properties": "^0.26.0",
 				"mathml-tag-names": "^2.1.3",
 				"meow": "^9.0.0",
 				"micromatch": "^4.0.5",
 				"normalize-path": "^3.0.0",
-				"normalize-selector": "^0.2.0",
 				"picocolors": "^1.0.0",
-				"postcss": "^8.4.12",
+				"postcss": "^8.4.19",
 				"postcss-media-query-parser": "^0.2.3",
 				"postcss-resolve-nested-selector": "^0.1.1",
 				"postcss-safe-parser": "^6.0.0",
-				"postcss-selector-parser": "^6.0.10",
+				"postcss-selector-parser": "^6.0.11",
 				"postcss-value-parser": "^4.2.0",
 				"resolve-from": "^5.0.0",
-				"specificity": "^0.4.1",
 				"string-width": "^4.2.3",
 				"strip-ansi": "^6.0.1",
 				"style-search": "^0.1.0",
-				"supports-hyperlinks": "^2.2.0",
+				"supports-hyperlinks": "^2.3.0",
 				"svg-tags": "^1.0.0",
-				"table": "^6.8.0",
+				"table": "^6.8.1",
 				"v8-compile-cache": "^2.3.0",
-				"write-file-atomic": "^4.0.1"
+				"write-file-atomic": "^4.0.2"
 			},
 			"dependencies": {
 				"balanced-match": {
@@ -7588,35 +7459,35 @@
 			}
 		},
 		"stylelint-config-recommended": {
-			"version": "7.0.0",
-			"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz",
-			"integrity": "sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==",
+			"version": "9.0.0",
+			"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-9.0.0.tgz",
+			"integrity": "sha512-9YQSrJq4NvvRuTbzDsWX3rrFOzOlYBmZP+o513BJN/yfEmGSr0AxdvrWs0P/ilSpVV/wisamAHu5XSk8Rcf4CQ==",
 			"dev": true,
 			"requires": {}
 		},
 		"stylelint-config-wikimedia": {
-			"version": "0.13.1",
-			"resolved": "https://registry.npmjs.org/stylelint-config-wikimedia/-/stylelint-config-wikimedia-0.13.1.tgz",
-			"integrity": "sha512-Wpm+cVJ2eZmlPO8HCv223OZZwyVZh5Ha11dRkzlccZwscxVkoKj/lo6xo10GNWBV9kpEA0+ksYJTIXXmRw1AoA==",
+			"version": "0.14.0",
+			"resolved": "https://registry.npmjs.org/stylelint-config-wikimedia/-/stylelint-config-wikimedia-0.14.0.tgz",
+			"integrity": "sha512-8gc5fcYsavMU6yBxE4Ium0XX8Ekedg+kcU0Oojjg5di6Jhv74bx3pcdfW+Z4bDYKWx3pg3Glemy/CBRqg+JViQ==",
 			"dev": true,
 			"requires": {
 				"browserslist-config-wikimedia": "0.4.0",
 				"postcss-html": "1.5.0",
 				"postcss-less": "6.0.0",
-				"stylelint": "14.8.1",
-				"stylelint-config-recommended": "7.0.0",
-				"stylelint-no-unsupported-browser-features": "5.0.3"
+				"stylelint": "14.16.1",
+				"stylelint-config-recommended": "9.0.0",
+				"stylelint-no-unsupported-browser-features": "6.1.0"
 			}
 		},
 		"stylelint-no-unsupported-browser-features": {
-			"version": "5.0.3",
-			"resolved": "https://registry.npmjs.org/stylelint-no-unsupported-browser-features/-/stylelint-no-unsupported-browser-features-5.0.3.tgz",
-			"integrity": "sha512-FqfbOTk5UEkHsAKOkPH6SvajsfO9YuoWvKxd34tCRBZug9ZNeaPn141nyWkd+ncc8S1gVmO2+O6qVAMj9bvWww==",
+			"version": "6.1.0",
+			"resolved": "https://registry.npmjs.org/stylelint-no-unsupported-browser-features/-/stylelint-no-unsupported-browser-features-6.1.0.tgz",
+			"integrity": "sha512-3Taj+z9PjIiY6cz4hg3eN8Khue3kMm9lPXYuEvdjAFXDK20uQo2NocJaWN6anIKclYlwrpkBAS9W/KV3qPTWsw==",
 			"dev": true,
 			"requires": {
 				"doiuse": "^4.4.1",
 				"lodash": "^4.17.15",
-				"postcss": "^8.3.6"
+				"postcss": "^8.4.16"
 			}
 		},
 		"supports-color": {
@@ -7629,9 +7500,9 @@
 			}
 		},
 		"supports-hyperlinks": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
-			"integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
+			"integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
 			"dev": true,
 			"requires": {
 				"has-flag": "^4.0.0",
@@ -7651,9 +7522,9 @@
 			"dev": true
 		},
 		"table": {
-			"version": "6.8.0",
-			"resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
-			"integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
+			"version": "6.8.1",
+			"resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz",
+			"integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==",
 			"dev": true,
 			"requires": {
 				"ajv": "^8.0.1",
@@ -7664,9 +7535,9 @@
 			},
 			"dependencies": {
 				"ajv": {
-					"version": "8.11.0",
-					"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
-					"integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
+					"version": "8.12.0",
+					"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+					"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
 					"dev": true,
 					"requires": {
 						"fast-deep-equal": "^3.1.1",
@@ -7699,9 +7570,9 @@
 			},
 			"dependencies": {
 				"readable-stream": {
-					"version": "3.6.0",
-					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
-					"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+					"version": "3.6.2",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+					"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
 					"dev": true,
 					"requires": {
 						"inherits": "^2.0.3",
@@ -7860,9 +7731,9 @@
 			"dev": true
 		},
 		"write-file-atomic": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz",
-			"integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==",
+			"version": "4.0.2",
+			"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+			"integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
 			"dev": true,
 			"requires": {
 				"imurmurhash": "^0.1.4",
diff --git a/package.json b/package.json
index 15faa3b..a3e0bdd 100644
--- a/package.json
+++ b/package.json
@@ -6,10 +6,10 @@
 	},
 	"devDependencies": {
 		"eslint-config-wikimedia": "0.24.0",
-		"grunt": "1.5.3",
+		"grunt": "1.6.1",
 		"grunt-banana-checker": "0.10.0",
 		"grunt-eslint": "24.0.0",
 		"grunt-stylelint": "0.18.0",
-		"stylelint-config-wikimedia": "0.13.1"
+		"stylelint-config-wikimedia": "0.14.0"
 	}
 }
-- 
2.30.2

$ date
--- stdout ---
Thu Mar 23 22:41:30 UTC 2023

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-FanBoxes.git repo --depth=1 -b master
--- stderr ---
Cloning into 'repo'...
--- stdout ---

--- end ---
$ git config user.name libraryupgrader
--- stdout ---

--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---

--- end ---
$ git submodule update --init
--- stdout ---

--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
901af42c3e865f324e5cfb52189d22a5bce976df refs/heads/master

--- end ---
$ /usr/bin/npm audit --json --legacy-peer-deps
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {},
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 0,
      "critical": 0,
      "total": 0
    },
    "dependencies": {
      "prod": 1,
      "dev": 395,
      "optional": 0,
      "peer": 0,
      "peerOptional": 0,
      "total": 395
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No lock file found. Updating dependencies instead of installing from lock file. Use composer update over composer install if you do not have a lock file.
Loading composer repositories with package information
Info from https://repo.packagist.org: #StandWithUkraine
Updating dependencies
Lock file operations: 36 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.1.0)
  - Locking composer/semver (3.3.2)
  - Locking composer/spdx-licenses (1.5.7)
  - Locking composer/xdebug-handler (3.0.3)
  - Locking doctrine/deprecations (v1.0.0)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking mediawiki/mediawiki-codesniffer (v41.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.12.0)
  - Locking mediawiki/minus-x (1.1.1)
  - Locking mediawiki/phan-taint-check-plugin (4.0.0)
  - Locking microsoft/tolerant-php-parser (v0.1.1)
  - Locking netresearch/jsonmapper (v4.1.0)
  - Locking phan/phan (5.4.1)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.3.2)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.3.0)
  - Locking phpdocumentor/type-resolver (1.7.0)
  - Locking phpstan/phpdoc-parser (1.16.1)
  - Locking psr/container (1.1.2)
  - Locking psr/log (1.1.4)
  - Locking sabre/event (5.1.4)
  - Locking squizlabs/php_codesniffer (3.7.2)
  - Locking symfony/console (v5.4.21)
  - Locking symfony/deprecation-contracts (v2.5.2)
  - Locking symfony/polyfill-ctype (v1.27.0)
  - Locking symfony/polyfill-intl-grapheme (v1.27.0)
  - Locking symfony/polyfill-intl-normalizer (v1.27.0)
  - Locking symfony/polyfill-mbstring (v1.27.0)
  - Locking symfony/polyfill-php73 (v1.27.0)
  - Locking symfony/polyfill-php80 (v1.27.0)
  - Locking symfony/service-contracts (v2.5.2)
  - Locking symfony/string (v5.4.21)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (1.11.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 36 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]    0 [--->------------------------]  - Installing composer/pcre (3.1.0): Extracting archive
  - Installing symfony/polyfill-php80 (v1.27.0): Extracting archive
  - Installing squizlabs/php_codesniffer (3.7.2): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.27.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.7): Extracting archive
  - Installing composer/semver (3.3.2): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v41.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.27.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.27.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.27.0): Extracting archive
  - Installing symfony/string (v5.4.21): Extracting archive
  - Installing symfony/deprecation-contracts (v2.5.2): Extracting archive
  - Installing psr/container (1.1.2): Extracting archive
  - Installing symfony/service-contracts (v2.5.2): Extracting archive
  - Installing symfony/polyfill-php73 (v1.27.0): Extracting archive
  - Installing symfony/console (v5.4.21): Extracting archive
  - Installing sabre/event (5.1.4): Extracting archive
  - Installing netresearch/jsonmapper (v4.1.0): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.1): Extracting archive
  - Installing webmozart/assert (1.11.0): Extracting archive
  - Installing phpstan/phpdoc-parser (1.16.1): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (v1.0.0): Extracting archive
  - Installing phpdocumentor/type-resolver (1.7.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.3.0): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (1.1.4): Extracting archive
  - Installing composer/xdebug-handler (3.0.3): Extracting archive
  - Installing phan/phan (5.4.1): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (4.0.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.12.0): Extracting archive
  - Installing mediawiki/minus-x (1.1.1): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.3.2): Extracting archive
  0/27 [>---------------------------]   0%
 10/27 [==========>-----------------]  37%
 20/27 [====================>-------]  74%
 26/27 [==========================>-]  96%
 27/27 [============================] 100%4 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
14 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---

--- end ---
Upgrading n:grunt from 1.5.3 -> 1.6.1
Upgrading n:stylelint-config-wikimedia from 0.13.1 -> 0.14.0
$ /usr/bin/npm install
--- stdout ---

added 388 packages, and audited 389 packages in 7s

67 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
$ ./node_modules/.bin/grunt stylelint
--- stdout ---
Running "stylelint:all" (stylelint) task
>> Linted 3 files without errors

Done.

--- end ---
$ /usr/bin/npm ci --legacy-peer-deps
--- stdout ---

added 388 packages, and audited 389 packages in 4s

67 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

--- end ---
$ /usr/bin/npm test
--- stdout ---

> test
> grunt test

Running "eslint:all" (eslint) task

/src/repo/resources/js/FanBoxes.js
   34:24  warning  Prefer `String#slice()` over `String#substring()`                                   unicorn/prefer-string-slice
   42:8   warning  Identifier 'str_left_side' is not in camel case                                     camelcase
   43:5   warning  Identifier 'str_left_side_length' is not in camel case                              camelcase
   44:5   warning  Identifier 'space_position' is not in camel case                                    camelcase
   44:22  warning  Identifier 'str_left_side' is not in camel case                                     camelcase
   44:22  warning  Prefer `String#slice()` over `String#substring()`                                   unicorn/prefer-string-slice
   45:6   warning  Identifier 'str_left_side_length' is not in camel case                              camelcase
   46:9   warning  Identifier 'str_left_side' is not in camel case                                     camelcase
   49:9   warning  Identifier 'space_position' is not in camel case                                    camelcase
   49:34  warning  Identifier 'str_left_side' is not in camel case                                     camelcase
   50:46  warning  Identifier 'str_left_side' is not in camel case                                     camelcase
   52:9   warning  Identifier 'space_position' is not in camel case                                    camelcase
   52:34  warning  Identifier 'str_left_side' is not in camel case                                     camelcase
   54:6   warning  Prefer `String#slice()` over `String#substring()`                                   unicorn/prefer-string-slice
   55:6   warning  Prefer `String#slice()` over `String#substring()`                                   unicorn/prefer-string-slice
   57:6   warning  Prefer `String#slice()` over `String#substring()`                                   unicorn/prefer-string-slice
   58:6   warning  Prefer `String#slice()` over `String#substring()`                                   unicorn/prefer-string-slice
   60:9   warning  Identifier 'str_left_side' is not in camel case                                     camelcase
   74:8   warning  Identifier 'str_right_side' is not in camel case                                    camelcase
   75:5   warning  Identifier 'str_right_side_length' is not in camel case                             camelcase
   76:5   warning  Identifier 'space_position' is not in camel case                                    camelcase
   76:22  warning  Identifier 'str_right_side' is not in camel case                                    camelcase
   76:22  warning  Prefer `String#slice()` over `String#substring()`                                   unicorn/prefer-string-slice
   77:6   warning  Identifier 'str_right_side_length' is not in camel case                             camelcase
   78:9   warning  Identifier 'str_right_side' is not in camel case                                    camelcase
   81:9   warning  Identifier 'space_position' is not in camel case                                    camelcase
   81:34  warning  Identifier 'str_right_side' is not in camel case                                    camelcase
   82:47  warning  Identifier 'str_right_side' is not in camel case                                    camelcase
   84:9   warning  Identifier 'space_position' is not in camel case                                    camelcase
   84:34  warning  Identifier 'str_right_side' is not in camel case                                    camelcase
   86:6   warning  Prefer `String#slice()` over `String#substring()`                                   unicorn/prefer-string-slice
   87:6   warning  Prefer `String#slice()` over `String#substring()`                                   unicorn/prefer-string-slice
   89:6   warning  Prefer `String#slice()` over `String#substring()`                                   unicorn/prefer-string-slice
   90:6   warning  Prefer `String#slice()` over `String#substring()`                                   unicorn/prefer-string-slice
   93:9   warning  Identifier 'str_right_side' is not in camel case                                    camelcase
  106:0   warning  Missing JSDoc @param "popupBox" type                                                jsdoc/require-param-type
  107:0   warning  Missing JSDoc @param "fanBox" type                                                  jsdoc/require-param-type
  112:9   warning  Selector extensions are not allowed                                                 no-jquery/no-sizzle
  117:10  warning  Selector extensions are not allowed                                                 no-jquery/no-sizzle
  134:0   warning  Missing JSDoc @param "el" type                                                      jsdoc/require-param-type
  135:0   warning  Missing JSDoc @param "el2" type                                                     jsdoc/require-param-type
  136:0   warning  Missing JSDoc @param "el3" type                                                     jsdoc/require-param-type
  151:0   warning  Missing JSDoc @param "tagname" type                                                 jsdoc/require-param-type
  152:0   warning  Missing JSDoc @param "tagnumber" type                                               jsdoc/require-param-type
  162:1   warning  This line has a length of 103. Maximum allowed is 100                               max-len
  177:6   warning  Prefer CSS transitions to .fadeIn                                                   no-jquery/no-fade
  183:1   warning  This line has a length of 103. Maximum allowed is 100                               max-len
  185:1   warning  This line has a length of 114. Maximum allowed is 100                               max-len
  190:4   warning  Prefer CSS transitions to .fadeOut                                                  no-jquery/no-fade
  201:6   warning  Prefer CSS transitions to .fadeIn                                                   no-jquery/no-fade
  217:5   warning  Unexpected alert                                                                    no-alert
  225:5   warning  Unexpected alert                                                                    no-alert
  231:5   warning  Unexpected alert                                                                    no-alert
  236:5   warning  Unexpected alert                                                                    no-alert
  254:6   warning  Unexpected alert                                                                    no-alert
  266:5   warning  Unexpected alert                                                                    no-alert
  274:5   warning  Unexpected alert                                                                    no-alert
  295:30  warning  Identifier 'img_tag' is not in camel case                                           camelcase
  295:39  warning  Identifier 'img_name' is not in camel case                                          camelcase
  296:58  warning  Identifier 'img_tag' is not in camel case                                           camelcase
  300:54  warning  Identifier 'img_name' is not in camel case                                          camelcase
  302:67  warning  Identifier 'img_tag' is not in camel case                                           camelcase
  303:59  warning  Identifier 'img_name' is not in camel case                                          camelcase
  318:4   warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector
  322:4   warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector
  326:4   warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector
  330:4   warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector
  353:4   warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector
  380:4   warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector
  391:4   warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector
  401:3   warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector
  402:20  warning  Positional selector extensions are not allowed                                      no-jquery/no-sizzle
  411:4   warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector
  429:1   warning  This line has a length of 116. Maximum allowed is 100                               max-len
  430:3   warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector
  434:9   warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector
  448:3   warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector
  449:20  warning  Positional selector extensions are not allowed                                      no-jquery/no-sizzle
  457:3   warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector
  458:20  warning  Positional selector extensions are not allowed                                      no-jquery/no-sizzle
  468:3   warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector
  469:20  warning  Positional selector extensions are not allowed                                      no-jquery/no-sizzle
  477:3   warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector
  478:20  warning  Positional selector extensions are not allowed                                      no-jquery/no-sizzle
  487:3   warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector
  488:20  warning  Positional selector extensions are not allowed                                      no-jquery/no-sizzle
  496:3   warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector
  497:20  warning  Positional selector extensions are not allowed                                      no-jquery/no-sizzle

/src/repo/resources/js/color-picker.js
  20:1  warning  This line has a length of 103. Maximum allowed is 100  max-len
  32:1  warning  This line has a length of 103. Maximum allowed is 100  max-len

/src/repo/resources/js/file-selector.js
    5:1  warning  This line has a length of 105. Maximum allowed is 100                               max-len
    7:0  warning  Invalid JSDoc tag name "date"                                                       jsdoc/check-tag-names
   10:0  warning  Missing JSDoc @param "$" type                                                       jsdoc/require-param-type
   11:0  warning  Missing JSDoc @param "mw" type                                                      jsdoc/require-param-type
   12:0  warning  Missing JSDoc @param "OO" type                                                      jsdoc/require-param-type
   75:2  warning  Missing JSDoc @return declaration                                                   jsdoc/require-returns
   78:0  warning  Missing JSDoc @param "action" type                                                  jsdoc/require-param-type
  110:7  warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector
  115:7  warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector
  125:2  warning  Missing JSDoc @return declaration                                                   jsdoc/require-returns
  139:3  warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector
  174:3  warning  Avoid queries which search the entire DOM. Keep DOM nodes in memory where possible  no-jquery/no-global-selector

✖ 102 problems (0 errors, 102 warnings)
  0 errors and 9 warnings potentially fixable with the `--fix` option.


Running "banana:FanBoxes" (banana) task
>> 1 message directory checked.

Running "stylelint:all" (stylelint) task
>> Linted 3 files without errors

Done.

--- end ---
$ /usr/bin/npm audit --json --legacy-peer-deps
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {},
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 0,
      "critical": 0,
      "total": 0
    },
    "dependencies": {
      "prod": 1,
      "dev": 388,
      "optional": 0,
      "peer": 0,
      "peerOptional": 0,
      "total": 388
    }
  }
}

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
build: Updating npm dependencies

* grunt: 1.5.3 → 1.6.1
* stylelint-config-wikimedia: 0.13.1 → 0.14.0

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmp6n9g52c8
--- stdout ---
[master 4161bab] build: Updating npm dependencies
 2 files changed, 267 insertions(+), 396 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 4161bab04e908eabe616b53dda2f39a41615b0a6 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Thu, 23 Mar 2023 22:41:54 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* grunt: 1.5.3 → 1.6.1
* stylelint-config-wikimedia: 0.13.1 → 0.14.0

Change-Id: I1465952efe5d7ab81b6e9112e4d00fead53b12ce
---
 package-lock.json | 659 +++++++++++++++++++---------------------------
 package.json      |   4 +-
 2 files changed, 267 insertions(+), 396 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 3c6c49e..9adb956 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7,11 +7,11 @@
 			"name": "FanBoxes",
 			"devDependencies": {
 				"eslint-config-wikimedia": "0.24.0",
-				"grunt": "1.5.3",
+				"grunt": "1.6.1",
 				"grunt-banana-checker": "0.10.0",
 				"grunt-eslint": "24.0.0",
 				"grunt-stylelint": "0.18.0",
-				"stylelint-config-wikimedia": "0.13.1"
+				"stylelint-config-wikimedia": "0.14.0"
 			}
 		},
 		"node_modules/@babel/code-frame": {
@@ -120,6 +120,22 @@
 				"node": ">=4"
 			}
 		},
+		"node_modules/@csstools/selector-specificity": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz",
+			"integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==",
+			"dev": true,
+			"engines": {
+				"node": "^14 || ^16 || >=18"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/csstools"
+			},
+			"peerDependencies": {
+				"postcss-selector-parser": "^6.0.10"
+			}
+		},
 		"node_modules/@es-joy/jsdoccomment": {
 			"version": "0.23.6",
 			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.23.6.tgz",
@@ -631,18 +647,6 @@
 				"wrap-ansi": "^7.0.0"
 			}
 		},
-		"node_modules/clone-regexp": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz",
-			"integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==",
-			"dev": true,
-			"dependencies": {
-				"is-regexp": "^2.0.0"
-			},
-			"engines": {
-				"node": ">=6"
-			}
-		},
 		"node_modules/color-convert": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -662,9 +666,9 @@
 			"dev": true
 		},
 		"node_modules/colord": {
-			"version": "2.9.2",
-			"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz",
-			"integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==",
+			"version": "2.9.3",
+			"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
+			"integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
 			"dev": true
 		},
 		"node_modules/colors": {
@@ -709,9 +713,9 @@
 			"dev": true
 		},
 		"node_modules/cosmiconfig": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
-			"integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
+			"integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
 			"dev": true,
 			"dependencies": {
 				"@types/parse-json": "^4.0.0",
@@ -739,9 +743,9 @@
 			}
 		},
 		"node_modules/css-functions-list": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.0.1.tgz",
-			"integrity": "sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw==",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz",
+			"integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==",
 			"dev": true,
 			"engines": {
 				"node": ">=12.22"
@@ -750,7 +754,7 @@
 		"node_modules/css-rule-stream": {
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/css-rule-stream/-/css-rule-stream-1.1.0.tgz",
-			"integrity": "sha1-N4bnGYmD2WWibjGVfgkHjLt3BaI=",
+			"integrity": "sha512-qiio/Zkr8I19jh/XuzEkK8OKDQRTrEYaRyIHy4Bwh/tPUe0w8GcQs7r6x24Yc9lT+FbnZFYULxEIXCmaymguUQ==",
 			"dev": true,
 			"dependencies": {
 				"css-tokenize": "^1.0.1",
@@ -765,7 +769,7 @@
 		"node_modules/css-rule-stream/node_modules/readable-stream": {
 			"version": "1.0.34",
 			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-			"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+			"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
 			"dev": true,
 			"dependencies": {
 				"core-util-is": "~1.0.0",
@@ -777,7 +781,7 @@
 		"node_modules/css-rule-stream/node_modules/through2": {
 			"version": "0.6.5",
 			"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-			"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+			"integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
 			"dev": true,
 			"dependencies": {
 				"readable-stream": ">=1.0.33-1 <1.1.0-0",
@@ -787,7 +791,7 @@
 		"node_modules/css-tokenize": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/css-tokenize/-/css-tokenize-1.0.1.tgz",
-			"integrity": "sha1-RiXLHtohwUOFi3+B1oA8HSb8FL4=",
+			"integrity": "sha512-gLmmbJdwH9HLY4bcA17lnZ8GgPwEXRbvxBJGHnkiB6gLhRpTzjkjtMIvz7YORGW/Ptv2oMk8b5g+u7mRD6Dd7A==",
 			"dev": true,
 			"dependencies": {
 				"inherits": "^2.0.1",
@@ -807,9 +811,9 @@
 			}
 		},
 		"node_modules/dateformat": {
-			"version": "3.0.3",
-			"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
-			"integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
+			"version": "4.6.3",
+			"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz",
+			"integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==",
 			"dev": true,
 			"engines": {
 				"node": "*"
@@ -984,7 +988,7 @@
 		"node_modules/duplexer2": {
 			"version": "0.0.2",
 			"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
-			"integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
+			"integrity": "sha512-+AWBwjGadtksxjOQSFDhPNQbed7icNXApT4+2BNpsXzcCBiInq2H9XW0O8sfHFaPmnQRs7cg/P0fAr2IWQSW0g==",
 			"dev": true,
 			"dependencies": {
 				"readable-stream": "~1.1.9"
@@ -1545,18 +1549,6 @@
 			"integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
 			"dev": true
 		},
-		"node_modules/execall": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz",
-			"integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==",
-			"dev": true,
-			"dependencies": {
-				"clone-regexp": "^2.1.0"
-			},
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/exit": {
 			"version": "0.1.2",
 			"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
@@ -1591,9 +1583,9 @@
 			"dev": true
 		},
 		"node_modules/fast-glob": {
-			"version": "3.2.11",
-			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
-			"integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
+			"version": "3.2.12",
+			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
+			"integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
 			"dev": true,
 			"dependencies": {
 				"@nodelib/fs.stat": "^2.0.2",
@@ -1631,10 +1623,13 @@
 			"dev": true
 		},
 		"node_modules/fastest-levenshtein": {
-			"version": "1.0.12",
-			"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
-			"integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==",
-			"dev": true
+			"version": "1.0.16",
+			"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
+			"integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
+			"dev": true,
+			"engines": {
+				"node": ">= 4.9.1"
+			}
 		},
 		"node_modules/fastq": {
 			"version": "1.13.0",
@@ -1686,31 +1681,18 @@
 			}
 		},
 		"node_modules/findup-sync": {
-			"version": "0.3.0",
-			"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",
-			"integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
-			"dev": true,
-			"dependencies": {
-				"glob": "~5.0.0"
-			},
-			"engines": {
-				"node": ">= 0.6.0"
-			}
-		},
-		"node_modules/findup-sync/node_modules/glob": {
-			"version": "5.0.15",
-			"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
-			"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz",
+			"integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==",
 			"dev": true,
 			"dependencies": {
-				"inflight": "^1.0.4",
-				"inherits": "2",
-				"minimatch": "2 || 3",
-				"once": "^1.3.0",
-				"path-is-absolute": "^1.0.0"
+				"detect-file": "^1.0.0",
+				"is-glob": "^4.0.3",
+				"micromatch": "^4.0.4",
+				"resolve-dir": "^1.0.1"
 			},
 			"engines": {
-				"node": "*"
+				"node": ">= 10.13.0"
 			}
 		},
 		"node_modules/fined": {
@@ -1799,18 +1781,6 @@
 				"node": "6.* || 8.* || >= 10.*"
 			}
 		},
-		"node_modules/get-stdin": {
-			"version": "8.0.0",
-			"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz",
-			"integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==",
-			"dev": true,
-			"engines": {
-				"node": ">=10"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
 		"node_modules/getobject": {
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.2.tgz",
@@ -1938,32 +1908,30 @@
 			"dev": true
 		},
 		"node_modules/grunt": {
-			"version": "1.5.3",
-			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.3.tgz",
-			"integrity": "sha512-mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==",
+			"version": "1.6.1",
+			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.6.1.tgz",
+			"integrity": "sha512-/ABUy3gYWu5iBmrUSRBP97JLpQUm0GgVveDCp6t3yRNIoltIYw7rEj3g5y1o2PGPR2vfTRGa7WC/LZHLTXnEzA==",
 			"dev": true,
 			"dependencies": {
-				"dateformat": "~3.0.3",
+				"dateformat": "~4.6.2",
 				"eventemitter2": "~0.4.13",
 				"exit": "~0.1.2",
-				"findup-sync": "~0.3.0",
+				"findup-sync": "~5.0.0",
 				"glob": "~7.1.6",
 				"grunt-cli": "~1.4.3",
 				"grunt-known-options": "~2.0.0",
 				"grunt-legacy-log": "~3.0.0",
 				"grunt-legacy-util": "~2.0.1",
-				"iconv-lite": "~0.4.13",
+				"iconv-lite": "~0.6.3",
 				"js-yaml": "~3.14.0",
 				"minimatch": "~3.0.4",
-				"mkdirp": "~1.0.4",
-				"nopt": "~3.0.6",
-				"rimraf": "~3.0.2"
+				"nopt": "~3.0.6"
 			},
 			"bin": {
 				"grunt": "bin/grunt"
 			},
 			"engines": {
-				"node": ">=8"
+				"node": ">=16"
 			}
 		},
 		"node_modules/grunt-banana-checker": {
@@ -2228,21 +2196,21 @@
 			}
 		},
 		"node_modules/iconv-lite": {
-			"version": "0.4.24",
-			"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
-			"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+			"version": "0.6.3",
+			"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+			"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
 			"dev": true,
 			"dependencies": {
-				"safer-buffer": ">= 2.1.2 < 3"
+				"safer-buffer": ">= 2.1.2 < 3.0.0"
 			},
 			"engines": {
 				"node": ">=0.10.0"
 			}
 		},
 		"node_modules/ignore": {
-			"version": "5.2.0",
-			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
-			"integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+			"version": "5.2.4",
+			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
+			"integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
 			"dev": true,
 			"engines": {
 				"node": ">= 4"
@@ -2434,15 +2402,6 @@
 				"node": ">=0.10.0"
 			}
 		},
-		"node_modules/is-regexp": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz",
-			"integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==",
-			"dev": true,
-			"engines": {
-				"node": ">=6"
-			}
-		},
 		"node_modules/is-relative": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
@@ -2479,7 +2438,7 @@
 		"node_modules/isarray": {
 			"version": "0.0.1",
 			"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
-			"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+			"integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
 			"dev": true
 		},
 		"node_modules/isexe": {
@@ -2562,15 +2521,15 @@
 			}
 		},
 		"node_modules/known-css-properties": {
-			"version": "0.24.0",
-			"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.24.0.tgz",
-			"integrity": "sha512-RTSoaUAfLvpR357vWzAz/50Q/BmHfmE6ETSWfutT0AJiw10e6CmcdYRQJlLRd95B53D0Y2aD1jSxD3V3ySF+PA==",
+			"version": "0.26.0",
+			"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.26.0.tgz",
+			"integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==",
 			"dev": true
 		},
 		"node_modules/ldjson-stream": {
 			"version": "1.2.1",
 			"resolved": "https://registry.npmjs.org/ldjson-stream/-/ldjson-stream-1.2.1.tgz",
-			"integrity": "sha1-kb7O2lrE7SsX5kn7d356v6AYnCs=",
+			"integrity": "sha512-xw/nNEXafuPSLu8NjjG3+atVVw+8U1APZAQylmwQn19Hgw6rC7QjHvP6MupnHWCrzSm9m0xs5QWkCLuRvBPjgQ==",
 			"dev": true,
 			"dependencies": {
 				"split2": "^0.2.1",
@@ -2580,7 +2539,7 @@
 		"node_modules/ldjson-stream/node_modules/readable-stream": {
 			"version": "1.0.34",
 			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-			"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+			"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
 			"dev": true,
 			"dependencies": {
 				"core-util-is": "~1.0.0",
@@ -2592,7 +2551,7 @@
 		"node_modules/ldjson-stream/node_modules/through2": {
 			"version": "0.6.5",
 			"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-			"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+			"integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
 			"dev": true,
 			"dependencies": {
 				"readable-stream": ">=1.0.33-1 <1.1.0-0",
@@ -2688,7 +2647,7 @@
 		"node_modules/lodash.truncate": {
 			"version": "4.4.2",
 			"resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
-			"integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=",
+			"integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
 			"dev": true
 		},
 		"node_modules/lru-cache": {
@@ -2868,18 +2827,6 @@
 				"node": ">= 6"
 			}
 		},
-		"node_modules/mkdirp": {
-			"version": "1.0.4",
-			"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-			"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
-			"dev": true,
-			"bin": {
-				"mkdirp": "bin/cmd.js"
-			},
-			"engines": {
-				"node": ">=10"
-			}
-		},
 		"node_modules/ms": {
 			"version": "2.1.2",
 			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -2915,9 +2862,9 @@
 			}
 		},
 		"node_modules/nanoid": {
-			"version": "3.3.3",
-			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
-			"integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+			"version": "3.3.4",
+			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
+			"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
 			"dev": true,
 			"bin": {
 				"nanoid": "bin/nanoid.cjs"
@@ -2980,12 +2927,6 @@
 				"node": ">=0.10.0"
 			}
 		},
-		"node_modules/normalize-selector": {
-			"version": "0.2.0",
-			"resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz",
-			"integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=",
-			"dev": true
-		},
 		"node_modules/nth-check": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz",
@@ -3275,9 +3216,9 @@
 			}
 		},
 		"node_modules/postcss": {
-			"version": "8.4.12",
-			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz",
-			"integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==",
+			"version": "8.4.21",
+			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
+			"integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
 			"dev": true,
 			"funding": [
 				{
@@ -3290,7 +3231,7 @@
 				}
 			],
 			"dependencies": {
-				"nanoid": "^3.3.1",
+				"nanoid": "^3.3.4",
 				"picocolors": "^1.0.0",
 				"source-map-js": "^1.0.2"
 			},
@@ -3360,9 +3301,9 @@
 			}
 		},
 		"node_modules/postcss-selector-parser": {
-			"version": "6.0.10",
-			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
-			"integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
+			"version": "6.0.11",
+			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
+			"integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
 			"dev": true,
 			"dependencies": {
 				"cssesc": "^3.0.0",
@@ -3536,7 +3477,7 @@
 		"node_modules/readable-stream": {
 			"version": "1.1.14",
 			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
-			"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+			"integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==",
 			"dev": true,
 			"dependencies": {
 				"core-util-is": "~1.0.0",
@@ -3594,7 +3535,7 @@
 		"node_modules/require-directory": {
 			"version": "2.1.1",
 			"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
-			"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+			"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
 			"dev": true,
 			"engines": {
 				"node": ">=0.10.0"
@@ -3851,9 +3792,9 @@
 			}
 		},
 		"node_modules/source-map": {
-			"version": "0.7.3",
-			"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-			"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+			"version": "0.7.4",
+			"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+			"integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
 			"dev": true,
 			"engines": {
 				"node": ">= 8"
@@ -3900,19 +3841,10 @@
 			"integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==",
 			"dev": true
 		},
-		"node_modules/specificity": {
-			"version": "0.4.1",
-			"resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz",
-			"integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==",
-			"dev": true,
-			"bin": {
-				"specificity": "bin/specificity"
-			}
-		},
 		"node_modules/split2": {
 			"version": "0.2.1",
 			"resolved": "https://registry.npmjs.org/split2/-/split2-0.2.1.tgz",
-			"integrity": "sha1-At2smtwD7Au3jBKC7Aecpuha6QA=",
+			"integrity": "sha512-D/oTExYAkC9nWleOCTOyNmAuzfAT/6rHGBA9LIK7FVnGo13CSvrKCUzKenwH6U1s2znY9MqH6v0UQTEDa3vJmg==",
 			"dev": true,
 			"dependencies": {
 				"through2": "~0.6.1"
@@ -3921,7 +3853,7 @@
 		"node_modules/split2/node_modules/readable-stream": {
 			"version": "1.0.34",
 			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-			"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+			"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
 			"dev": true,
 			"dependencies": {
 				"core-util-is": "~1.0.0",
@@ -3933,7 +3865,7 @@
 		"node_modules/split2/node_modules/through2": {
 			"version": "0.6.5",
 			"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-			"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+			"integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
 			"dev": true,
 			"dependencies": {
 				"readable-stream": ">=1.0.33-1 <1.1.0-0",
@@ -3949,7 +3881,7 @@
 		"node_modules/string_decoder": {
 			"version": "0.10.31",
 			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
-			"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+			"integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==",
 			"dev": true
 		},
 		"node_modules/string-width": {
@@ -4009,52 +3941,49 @@
 			"dev": true
 		},
 		"node_modules/stylelint": {
-			"version": "14.8.1",
-			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.1.tgz",
-			"integrity": "sha512-0YxTop3wTeEVmQWhS7jjLFaBkvfPmffRiJ6eFIDlK++f3OklaobTYFJu32E5u/cIrFLbcW52pLqrYpihA/y0/w==",
+			"version": "14.16.1",
+			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.16.1.tgz",
+			"integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==",
 			"dev": true,
 			"dependencies": {
+				"@csstools/selector-specificity": "^2.0.2",
 				"balanced-match": "^2.0.0",
-				"colord": "^2.9.2",
-				"cosmiconfig": "^7.0.1",
-				"css-functions-list": "^3.0.1",
+				"colord": "^2.9.3",
+				"cosmiconfig": "^7.1.0",
+				"css-functions-list": "^3.1.0",
 				"debug": "^4.3.4",
-				"execall": "^2.0.0",
-				"fast-glob": "^3.2.11",
-				"fastest-levenshtein": "^1.0.12",
+				"fast-glob": "^3.2.12",
+				"fastest-levenshtein": "^1.0.16",
 				"file-entry-cache": "^6.0.1",
-				"get-stdin": "^8.0.0",
 				"global-modules": "^2.0.0",
 				"globby": "^11.1.0",
 				"globjoin": "^0.1.4",
 				"html-tags": "^3.2.0",
-				"ignore": "^5.2.0",
+				"ignore": "^5.2.1",
 				"import-lazy": "^4.0.0",
 				"imurmurhash": "^0.1.4",
 				"is-plain-object": "^5.0.0",
-				"known-css-properties": "^0.24.0",
+				"known-css-properties": "^0.26.0",
 				"mathml-tag-names": "^2.1.3",
 				"meow": "^9.0.0",
 				"micromatch": "^4.0.5",
 				"normalize-path": "^3.0.0",
-				"normalize-selector": "^0.2.0",
 				"picocolors": "^1.0.0",
-				"postcss": "^8.4.12",
+				"postcss": "^8.4.19",
 				"postcss-media-query-parser": "^0.2.3",
 				"postcss-resolve-nested-selector": "^0.1.1",
 				"postcss-safe-parser": "^6.0.0",
-				"postcss-selector-parser": "^6.0.10",
+				"postcss-selector-parser": "^6.0.11",
 				"postcss-value-parser": "^4.2.0",
 				"resolve-from": "^5.0.0",
-				"specificity": "^0.4.1",
 				"string-width": "^4.2.3",
 				"strip-ansi": "^6.0.1",
 				"style-search": "^0.1.0",
-				"supports-hyperlinks": "^2.2.0",
+				"supports-hyperlinks": "^2.3.0",
 				"svg-tags": "^1.0.0",
-				"table": "^6.8.0",
+				"table": "^6.8.1",
 				"v8-compile-cache": "^2.3.0",
-				"write-file-atomic": "^4.0.1"
+				"write-file-atomic": "^4.0.2"
 			},
 			"bin": {
 				"stylelint": "bin/stylelint.js"
@@ -4068,46 +3997,46 @@
 			}
 		},
 		"node_modules/stylelint-config-recommended": {
-			"version": "7.0.0",
-			"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz",
-			"integrity": "sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==",
+			"version": "9.0.0",
+			"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-9.0.0.tgz",
+			"integrity": "sha512-9YQSrJq4NvvRuTbzDsWX3rrFOzOlYBmZP+o513BJN/yfEmGSr0AxdvrWs0P/ilSpVV/wisamAHu5XSk8Rcf4CQ==",
 			"dev": true,
 			"peerDependencies": {
-				"stylelint": "^14.4.0"
+				"stylelint": "^14.10.0"
 			}
 		},
 		"node_modules/stylelint-config-wikimedia": {
-			"version": "0.13.1",
-			"resolved": "https://registry.npmjs.org/stylelint-config-wikimedia/-/stylelint-config-wikimedia-0.13.1.tgz",
-			"integrity": "sha512-Wpm+cVJ2eZmlPO8HCv223OZZwyVZh5Ha11dRkzlccZwscxVkoKj/lo6xo10GNWBV9kpEA0+ksYJTIXXmRw1AoA==",
+			"version": "0.14.0",
+			"resolved": "https://registry.npmjs.org/stylelint-config-wikimedia/-/stylelint-config-wikimedia-0.14.0.tgz",
+			"integrity": "sha512-8gc5fcYsavMU6yBxE4Ium0XX8Ekedg+kcU0Oojjg5di6Jhv74bx3pcdfW+Z4bDYKWx3pg3Glemy/CBRqg+JViQ==",
 			"dev": true,
 			"dependencies": {
 				"browserslist-config-wikimedia": "0.4.0",
 				"postcss-html": "1.5.0",
 				"postcss-less": "6.0.0",
-				"stylelint": "14.8.1",
-				"stylelint-config-recommended": "7.0.0",
-				"stylelint-no-unsupported-browser-features": "5.0.3"
+				"stylelint": "14.16.1",
+				"stylelint-config-recommended": "9.0.0",
+				"stylelint-no-unsupported-browser-features": "6.1.0"
 			},
 			"peerDependencies": {
 				"postcss-less": "^6.0.0"
 			}
 		},
 		"node_modules/stylelint-no-unsupported-browser-features": {
-			"version": "5.0.3",
-			"resolved": "https://registry.npmjs.org/stylelint-no-unsupported-browser-features/-/stylelint-no-unsupported-browser-features-5.0.3.tgz",
-			"integrity": "sha512-FqfbOTk5UEkHsAKOkPH6SvajsfO9YuoWvKxd34tCRBZug9ZNeaPn141nyWkd+ncc8S1gVmO2+O6qVAMj9bvWww==",
+			"version": "6.1.0",
+			"resolved": "https://registry.npmjs.org/stylelint-no-unsupported-browser-features/-/stylelint-no-unsupported-browser-features-6.1.0.tgz",
+			"integrity": "sha512-3Taj+z9PjIiY6cz4hg3eN8Khue3kMm9lPXYuEvdjAFXDK20uQo2NocJaWN6anIKclYlwrpkBAS9W/KV3qPTWsw==",
 			"dev": true,
 			"dependencies": {
 				"doiuse": "^4.4.1",
 				"lodash": "^4.17.15",
-				"postcss": "^8.3.6"
+				"postcss": "^8.4.16"
 			},
 			"engines": {
-				"node": ">=12"
+				"node": ">=14"
 			},
 			"peerDependencies": {
-				"stylelint": ">=13.0.0"
+				"stylelint": "^14.0.0||^15.0.0"
 			}
 		},
 		"node_modules/stylelint/node_modules/balanced-match": {
@@ -4147,9 +4076,9 @@
 			}
 		},
 		"node_modules/supports-hyperlinks": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
-			"integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
+			"integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
 			"dev": true,
 			"dependencies": {
 				"has-flag": "^4.0.0",
@@ -4178,9 +4107,9 @@
 			"dev": true
 		},
 		"node_modules/table": {
-			"version": "6.8.0",
-			"resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
-			"integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
+			"version": "6.8.1",
+			"resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz",
+			"integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==",
 			"dev": true,
 			"dependencies": {
 				"ajv": "^8.0.1",
@@ -4194,9 +4123,9 @@
 			}
 		},
 		"node_modules/table/node_modules/ajv": {
-			"version": "8.11.0",
-			"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
-			"integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
+			"version": "8.12.0",
+			"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+			"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
 			"dev": true,
 			"dependencies": {
 				"fast-deep-equal": "^3.1.1",
@@ -4231,9 +4160,9 @@
 			}
 		},
 		"node_modules/through2/node_modules/readable-stream": {
-			"version": "3.6.0",
-			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
-			"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+			"version": "3.6.2",
+			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+			"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
 			"dev": true,
 			"dependencies": {
 				"inherits": "^2.0.3",
@@ -4445,16 +4374,16 @@
 			"dev": true
 		},
 		"node_modules/write-file-atomic": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz",
-			"integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==",
+			"version": "4.0.2",
+			"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+			"integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
 			"dev": true,
 			"dependencies": {
 				"imurmurhash": "^0.1.4",
 				"signal-exit": "^3.0.7"
 			},
 			"engines": {
-				"node": "^12.13.0 || ^14.15.0 || >=16"
+				"node": "^12.13.0 || ^14.15.0 || >=16.0.0"
 			}
 		},
 		"node_modules/xtend": {
@@ -4629,6 +4558,13 @@
 				}
 			}
 		},
+		"@csstools/selector-specificity": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz",
+			"integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==",
+			"dev": true,
+			"requires": {}
+		},
 		"@es-joy/jsdoccomment": {
 			"version": "0.23.6",
 			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.23.6.tgz",
@@ -4997,15 +4933,6 @@
 				"wrap-ansi": "^7.0.0"
 			}
 		},
-		"clone-regexp": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/clone-regexp/-/clone-regexp-2.2.0.tgz",
-			"integrity": "sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==",
-			"dev": true,
-			"requires": {
-				"is-regexp": "^2.0.0"
-			}
-		},
 		"color-convert": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
@@ -5022,9 +4949,9 @@
 			"dev": true
 		},
 		"colord": {
-			"version": "2.9.2",
-			"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz",
-			"integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==",
+			"version": "2.9.3",
+			"resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
+			"integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
 			"dev": true
 		},
 		"colors": {
@@ -5058,9 +4985,9 @@
 			"dev": true
 		},
 		"cosmiconfig": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
-			"integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
+			"integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
 			"dev": true,
 			"requires": {
 				"@types/parse-json": "^4.0.0",
@@ -5082,15 +5009,15 @@
 			}
 		},
 		"css-functions-list": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.0.1.tgz",
-			"integrity": "sha512-PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw==",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.1.0.tgz",
+			"integrity": "sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==",
 			"dev": true
 		},
 		"css-rule-stream": {
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/css-rule-stream/-/css-rule-stream-1.1.0.tgz",
-			"integrity": "sha1-N4bnGYmD2WWibjGVfgkHjLt3BaI=",
+			"integrity": "sha512-qiio/Zkr8I19jh/XuzEkK8OKDQRTrEYaRyIHy4Bwh/tPUe0w8GcQs7r6x24Yc9lT+FbnZFYULxEIXCmaymguUQ==",
 			"dev": true,
 			"requires": {
 				"css-tokenize": "^1.0.1",
@@ -5102,7 +5029,7 @@
 				"readable-stream": {
 					"version": "1.0.34",
 					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-					"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+					"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
 					"dev": true,
 					"requires": {
 						"core-util-is": "~1.0.0",
@@ -5114,7 +5041,7 @@
 				"through2": {
 					"version": "0.6.5",
 					"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-					"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+					"integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
 					"dev": true,
 					"requires": {
 						"readable-stream": ">=1.0.33-1 <1.1.0-0",
@@ -5126,7 +5053,7 @@
 		"css-tokenize": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/css-tokenize/-/css-tokenize-1.0.1.tgz",
-			"integrity": "sha1-RiXLHtohwUOFi3+B1oA8HSb8FL4=",
+			"integrity": "sha512-gLmmbJdwH9HLY4bcA17lnZ8GgPwEXRbvxBJGHnkiB6gLhRpTzjkjtMIvz7YORGW/Ptv2oMk8b5g+u7mRD6Dd7A==",
 			"dev": true,
 			"requires": {
 				"inherits": "^2.0.1",
@@ -5140,9 +5067,9 @@
 			"dev": true
 		},
 		"dateformat": {
-			"version": "3.0.3",
-			"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz",
-			"integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==",
+			"version": "4.6.3",
+			"resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz",
+			"integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==",
 			"dev": true
 		},
 		"debug": {
@@ -5266,7 +5193,7 @@
 		"duplexer2": {
 			"version": "0.0.2",
 			"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
-			"integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=",
+			"integrity": "sha512-+AWBwjGadtksxjOQSFDhPNQbed7icNXApT4+2BNpsXzcCBiInq2H9XW0O8sfHFaPmnQRs7cg/P0fAr2IWQSW0g==",
 			"dev": true,
 			"requires": {
 				"readable-stream": "~1.1.9"
@@ -5668,15 +5595,6 @@
 			"integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
 			"dev": true
 		},
-		"execall": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/execall/-/execall-2.0.0.tgz",
-			"integrity": "sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==",
-			"dev": true,
-			"requires": {
-				"clone-regexp": "^2.1.0"
-			}
-		},
 		"exit": {
 			"version": "0.1.2",
 			"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
@@ -5705,9 +5623,9 @@
 			"dev": true
 		},
 		"fast-glob": {
-			"version": "3.2.11",
-			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
-			"integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
+			"version": "3.2.12",
+			"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
+			"integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
 			"dev": true,
 			"requires": {
 				"@nodelib/fs.stat": "^2.0.2",
@@ -5741,9 +5659,9 @@
 			"dev": true
 		},
 		"fastest-levenshtein": {
-			"version": "1.0.12",
-			"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz",
-			"integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==",
+			"version": "1.0.16",
+			"resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
+			"integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
 			"dev": true
 		},
 		"fastq": {
@@ -5784,27 +5702,15 @@
 			}
 		},
 		"findup-sync": {
-			"version": "0.3.0",
-			"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz",
-			"integrity": "sha1-N5MKpdgWt3fANEXhlmzGeQpMCxY=",
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-5.0.0.tgz",
+			"integrity": "sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==",
 			"dev": true,
 			"requires": {
-				"glob": "~5.0.0"
-			},
-			"dependencies": {
-				"glob": {
-					"version": "5.0.15",
-					"resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
-					"integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
-					"dev": true,
-					"requires": {
-						"inflight": "^1.0.4",
-						"inherits": "2",
-						"minimatch": "2 || 3",
-						"once": "^1.3.0",
-						"path-is-absolute": "^1.0.0"
-					}
-				}
+				"detect-file": "^1.0.0",
+				"is-glob": "^4.0.3",
+				"micromatch": "^4.0.4",
+				"resolve-dir": "^1.0.1"
 			}
 		},
 		"fined": {
@@ -5875,12 +5781,6 @@
 			"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
 			"dev": true
 		},
-		"get-stdin": {
-			"version": "8.0.0",
-			"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-8.0.0.tgz",
-			"integrity": "sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==",
-			"dev": true
-		},
 		"getobject": {
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/getobject/-/getobject-1.0.2.tgz",
@@ -5977,26 +5877,24 @@
 			"dev": true
 		},
 		"grunt": {
-			"version": "1.5.3",
-			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.3.tgz",
-			"integrity": "sha512-mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==",
+			"version": "1.6.1",
+			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.6.1.tgz",
+			"integrity": "sha512-/ABUy3gYWu5iBmrUSRBP97JLpQUm0GgVveDCp6t3yRNIoltIYw7rEj3g5y1o2PGPR2vfTRGa7WC/LZHLTXnEzA==",
 			"dev": true,
 			"requires": {
-				"dateformat": "~3.0.3",
+				"dateformat": "~4.6.2",
 				"eventemitter2": "~0.4.13",
 				"exit": "~0.1.2",
-				"findup-sync": "~0.3.0",
+				"findup-sync": "~5.0.0",
 				"glob": "~7.1.6",
 				"grunt-cli": "~1.4.3",
 				"grunt-known-options": "~2.0.0",
 				"grunt-legacy-log": "~3.0.0",
 				"grunt-legacy-util": "~2.0.1",
-				"iconv-lite": "~0.4.13",
+				"iconv-lite": "~0.6.3",
 				"js-yaml": "~3.14.0",
 				"minimatch": "~3.0.4",
-				"mkdirp": "~1.0.4",
-				"nopt": "~3.0.6",
-				"rimraf": "~3.0.2"
+				"nopt": "~3.0.6"
 			},
 			"dependencies": {
 				"argparse": {
@@ -6189,18 +6087,18 @@
 			}
 		},
 		"iconv-lite": {
-			"version": "0.4.24",
-			"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
-			"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+			"version": "0.6.3",
+			"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+			"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
 			"dev": true,
 			"requires": {
-				"safer-buffer": ">= 2.1.2 < 3"
+				"safer-buffer": ">= 2.1.2 < 3.0.0"
 			}
 		},
 		"ignore": {
-			"version": "5.2.0",
-			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
-			"integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+			"version": "5.2.4",
+			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
+			"integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
 			"dev": true
 		},
 		"import-fresh": {
@@ -6341,12 +6239,6 @@
 				"isobject": "^3.0.1"
 			}
 		},
-		"is-regexp": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-2.1.0.tgz",
-			"integrity": "sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==",
-			"dev": true
-		},
 		"is-relative": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
@@ -6374,7 +6266,7 @@
 		"isarray": {
 			"version": "0.0.1",
 			"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
-			"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+			"integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==",
 			"dev": true
 		},
 		"isexe": {
@@ -6441,15 +6333,15 @@
 			"dev": true
 		},
 		"known-css-properties": {
-			"version": "0.24.0",
-			"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.24.0.tgz",
-			"integrity": "sha512-RTSoaUAfLvpR357vWzAz/50Q/BmHfmE6ETSWfutT0AJiw10e6CmcdYRQJlLRd95B53D0Y2aD1jSxD3V3ySF+PA==",
+			"version": "0.26.0",
+			"resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.26.0.tgz",
+			"integrity": "sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==",
 			"dev": true
 		},
 		"ldjson-stream": {
 			"version": "1.2.1",
 			"resolved": "https://registry.npmjs.org/ldjson-stream/-/ldjson-stream-1.2.1.tgz",
-			"integrity": "sha1-kb7O2lrE7SsX5kn7d356v6AYnCs=",
+			"integrity": "sha512-xw/nNEXafuPSLu8NjjG3+atVVw+8U1APZAQylmwQn19Hgw6rC7QjHvP6MupnHWCrzSm9m0xs5QWkCLuRvBPjgQ==",
 			"dev": true,
 			"requires": {
 				"split2": "^0.2.1",
@@ -6459,7 +6351,7 @@
 				"readable-stream": {
 					"version": "1.0.34",
 					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-					"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+					"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
 					"dev": true,
 					"requires": {
 						"core-util-is": "~1.0.0",
@@ -6471,7 +6363,7 @@
 				"through2": {
 					"version": "0.6.5",
 					"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-					"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+					"integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
 					"dev": true,
 					"requires": {
 						"readable-stream": ">=1.0.33-1 <1.1.0-0",
@@ -6556,7 +6448,7 @@
 		"lodash.truncate": {
 			"version": "4.4.2",
 			"resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
-			"integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=",
+			"integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
 			"dev": true
 		},
 		"lru-cache": {
@@ -6686,12 +6578,6 @@
 				"kind-of": "^6.0.3"
 			}
 		},
-		"mkdirp": {
-			"version": "1.0.4",
-			"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
-			"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
-			"dev": true
-		},
 		"ms": {
 			"version": "2.1.2",
 			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@@ -6720,9 +6606,9 @@
 			}
 		},
 		"nanoid": {
-			"version": "3.3.3",
-			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz",
-			"integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==",
+			"version": "3.3.4",
+			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
+			"integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
 			"dev": true
 		},
 		"natural-compare": {
@@ -6772,12 +6658,6 @@
 			"integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
 			"dev": true
 		},
-		"normalize-selector": {
-			"version": "0.2.0",
-			"resolved": "https://registry.npmjs.org/normalize-selector/-/normalize-selector-0.2.0.tgz",
-			"integrity": "sha1-0LFF62kRicY6eNIB3E/bEpPvDAM=",
-			"dev": true
-		},
 		"nth-check": {
 			"version": "2.0.1",
 			"resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz",
@@ -6989,12 +6869,12 @@
 			"dev": true
 		},
 		"postcss": {
-			"version": "8.4.12",
-			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.12.tgz",
-			"integrity": "sha512-lg6eITwYe9v6Hr5CncVbK70SoioNQIq81nsaG86ev5hAidQvmOeETBqs7jm43K2F5/Ley3ytDtriImV6TpNiSg==",
+			"version": "8.4.21",
+			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
+			"integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
 			"dev": true,
 			"requires": {
-				"nanoid": "^3.3.1",
+				"nanoid": "^3.3.4",
 				"picocolors": "^1.0.0",
 				"source-map-js": "^1.0.2"
 			}
@@ -7046,9 +6926,9 @@
 			"requires": {}
 		},
 		"postcss-selector-parser": {
-			"version": "6.0.10",
-			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
-			"integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
+			"version": "6.0.11",
+			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
+			"integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
 			"dev": true,
 			"requires": {
 				"cssesc": "^3.0.0",
@@ -7170,7 +7050,7 @@
 		"readable-stream": {
 			"version": "1.1.14",
 			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
-			"integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+			"integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==",
 			"dev": true,
 			"requires": {
 				"core-util-is": "~1.0.0",
@@ -7213,7 +7093,7 @@
 		"require-directory": {
 			"version": "2.1.1",
 			"resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
-			"integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=",
+			"integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
 			"dev": true
 		},
 		"require-from-string": {
@@ -7383,9 +7263,9 @@
 			}
 		},
 		"source-map": {
-			"version": "0.7.3",
-			"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz",
-			"integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==",
+			"version": "0.7.4",
+			"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
+			"integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
 			"dev": true
 		},
 		"source-map-js": {
@@ -7426,16 +7306,10 @@
 			"integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==",
 			"dev": true
 		},
-		"specificity": {
-			"version": "0.4.1",
-			"resolved": "https://registry.npmjs.org/specificity/-/specificity-0.4.1.tgz",
-			"integrity": "sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==",
-			"dev": true
-		},
 		"split2": {
 			"version": "0.2.1",
 			"resolved": "https://registry.npmjs.org/split2/-/split2-0.2.1.tgz",
-			"integrity": "sha1-At2smtwD7Au3jBKC7Aecpuha6QA=",
+			"integrity": "sha512-D/oTExYAkC9nWleOCTOyNmAuzfAT/6rHGBA9LIK7FVnGo13CSvrKCUzKenwH6U1s2znY9MqH6v0UQTEDa3vJmg==",
 			"dev": true,
 			"requires": {
 				"through2": "~0.6.1"
@@ -7444,7 +7318,7 @@
 				"readable-stream": {
 					"version": "1.0.34",
 					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
-					"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
+					"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
 					"dev": true,
 					"requires": {
 						"core-util-is": "~1.0.0",
@@ -7456,7 +7330,7 @@
 				"through2": {
 					"version": "0.6.5",
 					"resolved": "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz",
-					"integrity": "sha1-QaucZ7KdVyCQcUEOHXp6lozTrUg=",
+					"integrity": "sha512-RkK/CCESdTKQZHdmKICijdKKsCRVHs5KsLZ6pACAmF/1GPUQhonHSXWNERctxEp7RmvjdNbZTL5z9V7nSCXKcg==",
 					"dev": true,
 					"requires": {
 						"readable-stream": ">=1.0.33-1 <1.1.0-0",
@@ -7474,7 +7348,7 @@
 		"string_decoder": {
 			"version": "0.10.31",
 			"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
-			"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+			"integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==",
 			"dev": true
 		},
 		"string-width": {
@@ -7519,52 +7393,49 @@
 			"dev": true
 		},
 		"stylelint": {
-			"version": "14.8.1",
-			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.8.1.tgz",
-			"integrity": "sha512-0YxTop3wTeEVmQWhS7jjLFaBkvfPmffRiJ6eFIDlK++f3OklaobTYFJu32E5u/cIrFLbcW52pLqrYpihA/y0/w==",
+			"version": "14.16.1",
+			"resolved": "https://registry.npmjs.org/stylelint/-/stylelint-14.16.1.tgz",
+			"integrity": "sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==",
 			"dev": true,
 			"requires": {
+				"@csstools/selector-specificity": "^2.0.2",
 				"balanced-match": "^2.0.0",
-				"colord": "^2.9.2",
-				"cosmiconfig": "^7.0.1",
-				"css-functions-list": "^3.0.1",
+				"colord": "^2.9.3",
+				"cosmiconfig": "^7.1.0",
+				"css-functions-list": "^3.1.0",
 				"debug": "^4.3.4",
-				"execall": "^2.0.0",
-				"fast-glob": "^3.2.11",
-				"fastest-levenshtein": "^1.0.12",
+				"fast-glob": "^3.2.12",
+				"fastest-levenshtein": "^1.0.16",
 				"file-entry-cache": "^6.0.1",
-				"get-stdin": "^8.0.0",
 				"global-modules": "^2.0.0",
 				"globby": "^11.1.0",
 				"globjoin": "^0.1.4",
 				"html-tags": "^3.2.0",
-				"ignore": "^5.2.0",
+				"ignore": "^5.2.1",
 				"import-lazy": "^4.0.0",
 				"imurmurhash": "^0.1.4",
 				"is-plain-object": "^5.0.0",
-				"known-css-properties": "^0.24.0",
+				"known-css-properties": "^0.26.0",
 				"mathml-tag-names": "^2.1.3",
 				"meow": "^9.0.0",
 				"micromatch": "^4.0.5",
 				"normalize-path": "^3.0.0",
-				"normalize-selector": "^0.2.0",
 				"picocolors": "^1.0.0",
-				"postcss": "^8.4.12",
+				"postcss": "^8.4.19",
 				"postcss-media-query-parser": "^0.2.3",
 				"postcss-resolve-nested-selector": "^0.1.1",
 				"postcss-safe-parser": "^6.0.0",
-				"postcss-selector-parser": "^6.0.10",
+				"postcss-selector-parser": "^6.0.11",
 				"postcss-value-parser": "^4.2.0",
 				"resolve-from": "^5.0.0",
-				"specificity": "^0.4.1",
 				"string-width": "^4.2.3",
 				"strip-ansi": "^6.0.1",
 				"style-search": "^0.1.0",
-				"supports-hyperlinks": "^2.2.0",
+				"supports-hyperlinks": "^2.3.0",
 				"svg-tags": "^1.0.0",
-				"table": "^6.8.0",
+				"table": "^6.8.1",
 				"v8-compile-cache": "^2.3.0",
-				"write-file-atomic": "^4.0.1"
+				"write-file-atomic": "^4.0.2"
 			},
 			"dependencies": {
 				"balanced-match": {
@@ -7588,35 +7459,35 @@
 			}
 		},
 		"stylelint-config-recommended": {
-			"version": "7.0.0",
-			"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-7.0.0.tgz",
-			"integrity": "sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==",
+			"version": "9.0.0",
+			"resolved": "https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-9.0.0.tgz",
+			"integrity": "sha512-9YQSrJq4NvvRuTbzDsWX3rrFOzOlYBmZP+o513BJN/yfEmGSr0AxdvrWs0P/ilSpVV/wisamAHu5XSk8Rcf4CQ==",
 			"dev": true,
 			"requires": {}
 		},
 		"stylelint-config-wikimedia": {
-			"version": "0.13.1",
-			"resolved": "https://registry.npmjs.org/stylelint-config-wikimedia/-/stylelint-config-wikimedia-0.13.1.tgz",
-			"integrity": "sha512-Wpm+cVJ2eZmlPO8HCv223OZZwyVZh5Ha11dRkzlccZwscxVkoKj/lo6xo10GNWBV9kpEA0+ksYJTIXXmRw1AoA==",
+			"version": "0.14.0",
+			"resolved": "https://registry.npmjs.org/stylelint-config-wikimedia/-/stylelint-config-wikimedia-0.14.0.tgz",
+			"integrity": "sha512-8gc5fcYsavMU6yBxE4Ium0XX8Ekedg+kcU0Oojjg5di6Jhv74bx3pcdfW+Z4bDYKWx3pg3Glemy/CBRqg+JViQ==",
 			"dev": true,
 			"requires": {
 				"browserslist-config-wikimedia": "0.4.0",
 				"postcss-html": "1.5.0",
 				"postcss-less": "6.0.0",
-				"stylelint": "14.8.1",
-				"stylelint-config-recommended": "7.0.0",
-				"stylelint-no-unsupported-browser-features": "5.0.3"
+				"stylelint": "14.16.1",
+				"stylelint-config-recommended": "9.0.0",
+				"stylelint-no-unsupported-browser-features": "6.1.0"
 			}
 		},
 		"stylelint-no-unsupported-browser-features": {
-			"version": "5.0.3",
-			"resolved": "https://registry.npmjs.org/stylelint-no-unsupported-browser-features/-/stylelint-no-unsupported-browser-features-5.0.3.tgz",
-			"integrity": "sha512-FqfbOTk5UEkHsAKOkPH6SvajsfO9YuoWvKxd34tCRBZug9ZNeaPn141nyWkd+ncc8S1gVmO2+O6qVAMj9bvWww==",
+			"version": "6.1.0",
+			"resolved": "https://registry.npmjs.org/stylelint-no-unsupported-browser-features/-/stylelint-no-unsupported-browser-features-6.1.0.tgz",
+			"integrity": "sha512-3Taj+z9PjIiY6cz4hg3eN8Khue3kMm9lPXYuEvdjAFXDK20uQo2NocJaWN6anIKclYlwrpkBAS9W/KV3qPTWsw==",
 			"dev": true,
 			"requires": {
 				"doiuse": "^4.4.1",
 				"lodash": "^4.17.15",
-				"postcss": "^8.3.6"
+				"postcss": "^8.4.16"
 			}
 		},
 		"supports-color": {
@@ -7629,9 +7500,9 @@
 			}
 		},
 		"supports-hyperlinks": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz",
-			"integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==",
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz",
+			"integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
 			"dev": true,
 			"requires": {
 				"has-flag": "^4.0.0",
@@ -7651,9 +7522,9 @@
 			"dev": true
 		},
 		"table": {
-			"version": "6.8.0",
-			"resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz",
-			"integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==",
+			"version": "6.8.1",
+			"resolved": "https://registry.npmjs.org/table/-/table-6.8.1.tgz",
+			"integrity": "sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==",
 			"dev": true,
 			"requires": {
 				"ajv": "^8.0.1",
@@ -7664,9 +7535,9 @@
 			},
 			"dependencies": {
 				"ajv": {
-					"version": "8.11.0",
-					"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz",
-					"integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==",
+					"version": "8.12.0",
+					"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
+					"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
 					"dev": true,
 					"requires": {
 						"fast-deep-equal": "^3.1.1",
@@ -7699,9 +7570,9 @@
 			},
 			"dependencies": {
 				"readable-stream": {
-					"version": "3.6.0",
-					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
-					"integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==",
+					"version": "3.6.2",
+					"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+					"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
 					"dev": true,
 					"requires": {
 						"inherits": "^2.0.3",
@@ -7860,9 +7731,9 @@
 			"dev": true
 		},
 		"write-file-atomic": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz",
-			"integrity": "sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==",
+			"version": "4.0.2",
+			"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+			"integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
 			"dev": true,
 			"requires": {
 				"imurmurhash": "^0.1.4",
diff --git a/package.json b/package.json
index 15faa3b..a3e0bdd 100644
--- a/package.json
+++ b/package.json
@@ -6,10 +6,10 @@
 	},
 	"devDependencies": {
 		"eslint-config-wikimedia": "0.24.0",
-		"grunt": "1.5.3",
+		"grunt": "1.6.1",
 		"grunt-banana-checker": "0.10.0",
 		"grunt-eslint": "24.0.0",
 		"grunt-stylelint": "0.18.0",
-		"stylelint-config-wikimedia": "0.13.1"
+		"stylelint-config-wikimedia": "0.14.0"
 	}
 }
-- 
2.30.2


--- end ---
Source code is licensed under the AGPL.