This is an automated email from the ASF dual-hosted git repository.

MartijnVisser pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/flink.git


The following commit(s) were added to refs/heads/master by this push:
     new 80f0587c774 [FLINK-40034][runtime-web] Refresh web-dashboard lint 
tooling to prettier 3 and stylelint 17 (#28710)
80f0587c774 is described below

commit 80f0587c774173af581c9d5d019560df056db982
Author: Purushottam Sinha <[email protected]>
AuthorDate: Thu Jul 16 20:30:27 2026 +0530

    [FLINK-40034][runtime-web] Refresh web-dashboard lint tooling to prettier 3 
and stylelint 17 (#28710)
    
    * [FLINK-40034][runtime-web] Bump prettier to 3, eslint-plugin-prettier to 
5, stylelint to 17
    
    Generated-by: Claude Code (claude-opus-4-8)
---
 flink-runtime-web/web-dashboard/.stylelintrc.js    |    4 +
 flink-runtime-web/web-dashboard/package-lock.json  | 1650 +++++++-------------
 flink-runtime-web/web-dashboard/package.json       |   15 +-
 .../web-dashboard/src/app/app.component.ts         |    5 +-
 .../configuration-cards.component.less             |    2 +-
 .../dagre/components/node/node.component.less      |    3 +-
 .../dagre/components/node/node.component.ts        |    8 +-
 .../svg-container/svg-container.component.ts       |    5 +-
 .../src/app/components/dagre/dagre.component.ts    |    6 +-
 .../app/components/editor/auto-resize.directive.ts |    5 +-
 .../components/job-chart/job-chart.component.ts    |    5 +-
 .../components/navigation/navigation.component.ts  |    6 +-
 .../status/application-status.component.less       |    2 +-
 .../running-application.guard.ts                   |    5 +-
 .../overview/application-overview.component.ts     |    5 +-
 .../job-manager-configuration.component.ts         |    5 +-
 .../job-manager-log-detail.component.less          |   10 +-
 .../logs/job-manager-logs.component.less           |    5 +-
 .../stdout/job-manager-stdout.component.less       |    5 +-
 .../job-manager-thread-dump.component.less         |    5 +-
 .../subtask/job-checkpoints-subtask.component.ts   |    3 +-
 .../job/exceptions/job-exceptions.component.less   |    4 +-
 .../job-detail/status/job-status.component.less    |    2 +-
 .../modules/completed-job/cluster-config.guard.ts  |    5 +-
 .../job/modules/running-job/running-job.guard.ts   |    5 +-
 .../job-overview-drawer-detail.component.less      |    2 +-
 .../src/app/pages/submit/submit.component.less     |    5 +-
 .../task-manager-log-detail.component.less         |   10 +-
 .../logs/task-manager-logs.component.less          |    5 +-
 .../metrics/task-manager-metrics.component.html    |    4 +-
 .../stdout/task-manager-stdout.component.less      |    5 +-
 .../task-manager-thread-dump.component.less        |    5 +-
 .../src/app/services/application.service.ts        |    5 +-
 .../web-dashboard/src/app/services/jar.service.ts  |    5 +-
 .../src/app/services/job-manager.service.ts        |    5 +-
 .../web-dashboard/src/app/services/job.service.ts  |    5 +-
 .../src/app/services/metrics.service.ts            |    5 +-
 .../src/app/services/overview.service.ts           |    5 +-
 .../src/app/services/task-manager.service.ts       |    5 +-
 flink-runtime-web/web-dashboard/src/index.html     |    2 +-
 40 files changed, 692 insertions(+), 1156 deletions(-)

diff --git a/flink-runtime-web/web-dashboard/.stylelintrc.js 
b/flink-runtime-web/web-dashboard/.stylelintrc.js
index f0455f2e4e3..73629f802a1 100644
--- a/flink-runtime-web/web-dashboard/.stylelintrc.js
+++ b/flink-runtime-web/web-dashboard/.stylelintrc.js
@@ -33,6 +33,10 @@ module.exports = {
     'property-no-vendor-prefix': null,
     'alpha-value-notation': null,
     'color-function-notation': null,
+    'declaration-property-value-no-unknown': null,
+    'declaration-property-value-keyword-no-deprecated': null,
+    'import-notation': 'string',
+    'color-function-alias-notation': 'with-alpha',
     'selector-pseudo-element-no-unknown': [
       true,
       {
diff --git a/flink-runtime-web/web-dashboard/package-lock.json 
b/flink-runtime-web/web-dashboard/package-lock.json
index c674f002661..9362faea97e 100644
--- a/flink-runtime-web/web-dashboard/package-lock.json
+++ b/flink-runtime-web/web-dashboard/package-lock.json
@@ -45,17 +45,16 @@
         "eslint-plugin-import": "^2.32.0",
         "eslint-plugin-jsdoc": "^50.8.0",
         "eslint-plugin-prefer-arrow": "^1.2.3",
-        "eslint-plugin-prettier": "^4.2.5",
+        "eslint-plugin-prettier": "^5.5.6",
         "eslint-plugin-unused-imports": "^4.4.1",
         "jsdom": "^29.1.1",
         "postcss-less": "^6.0.0",
-        "prettier": "^2.4.1",
-        "stylelint": "^14.16.1",
-        "stylelint-config-hudochenkov": "^6.0.1",
-        "stylelint-config-prettier": "^9.0.5",
-        "stylelint-config-standard": "^24.0.0",
-        "stylelint-order": "^5.0.0",
-        "stylelint-prettier": "^2.0.0",
+        "prettier": "^3.9.5",
+        "stylelint": "^17.14.0",
+        "stylelint-config-hudochenkov": "^13.0.2",
+        "stylelint-config-standard": "^40.0.0",
+        "stylelint-order": "^8.1.1",
+        "stylelint-prettier": "^5.0.3",
         "ts-node": "^10.9.2",
         "typescript": "~5.9.3",
         "typescript-eslint": "^8.62.1",
@@ -1668,6 +1667,67 @@
         "specificity": "bin/cli.js"
       }
     },
+    "node_modules/@cacheable/memory": {
+      "version": "2.2.0",
+      "resolved": 
"https://registry.npmjs.org/@cacheable/memory/-/memory-2.2.0.tgz";,
+      "integrity": 
"sha512-CTLKqLItRCEixEAewD3/j9DB3/o96gpTPD4eJ1v+DGOlxZRZncRQkGYqqnAGCscYd6RNeXfGeiuCphsPtqyIfQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@cacheable/utils": "^2.5.0",
+        "@keyv/bigmap": "^1.3.1",
+        "hookified": "^1.15.1",
+        "keyv": "^5.6.0"
+      }
+    },
+    "node_modules/@cacheable/memory/node_modules/@keyv/bigmap": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/@keyv/bigmap/-/bigmap-1.3.1.tgz";,
+      "integrity": 
"sha512-WbzE9sdmQtKy8vrNPa9BRnwZh5UF4s1KTmSK0KUVLo3eff5BlQNNWDnFOouNpKfPKDnms9xynJjsMYjMaT/aFQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "hashery": "^1.4.0",
+        "hookified": "^1.15.0"
+      },
+      "engines": {
+        "node": ">= 18"
+      },
+      "peerDependencies": {
+        "keyv": "^5.6.0"
+      }
+    },
+    "node_modules/@cacheable/memory/node_modules/keyv": {
+      "version": "5.6.0",
+      "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz";,
+      "integrity": 
"sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@keyv/serialize": "^1.1.1"
+      }
+    },
+    "node_modules/@cacheable/utils": {
+      "version": "2.5.0",
+      "resolved": 
"https://registry.npmjs.org/@cacheable/utils/-/utils-2.5.0.tgz";,
+      "integrity": 
"sha512-buipgOVDkkPXNR5+xBpDw7Zk2n1EvU7qBJCNUcL7rhQ//kfpOXPAvQ511Os0vpLYJ1pZnvudNytkQt2hst3wqA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "hashery": "^1.5.1",
+        "keyv": "^5.6.0"
+      }
+    },
+    "node_modules/@cacheable/utils/node_modules/keyv": {
+      "version": "5.6.0",
+      "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz";,
+      "integrity": 
"sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@keyv/serialize": "^1.1.1"
+      }
+    },
     "node_modules/@cspotcode/source-map-support": {
       "version": "0.8.1",
       "resolved": 
"https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz";,
@@ -1832,6 +1892,76 @@
         "node": ">=20.19.0"
       }
     },
+    "node_modules/@csstools/media-query-list-parser": {
+      "version": "5.0.0",
+      "resolved": 
"https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-5.0.0.tgz";,
+      "integrity": 
"sha512-T9lXmZOfnam3eMERPsszjY5NK0jX8RmThmmm99FZ8b7z8yMaFZWKwLWGZuTwdO3ddRY5fy13GmmEYZXB4I98Eg==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/csstools";
+        },
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/csstools";
+        }
+      ],
+      "license": "MIT",
+      "engines": {
+        "node": ">=20.19.0"
+      },
+      "peerDependencies": {
+        "@csstools/css-parser-algorithms": "^4.0.0",
+        "@csstools/css-tokenizer": "^4.0.0"
+      }
+    },
+    "node_modules/@csstools/selector-resolve-nested": {
+      "version": "4.0.0",
+      "resolved": 
"https://registry.npmjs.org/@csstools/selector-resolve-nested/-/selector-resolve-nested-4.0.0.tgz";,
+      "integrity": 
"sha512-9vAPxmp+Dx3wQBIUwc1v7Mdisw1kbbaGqXUM8QLTgWg7SoPGYtXBsMXvsFs/0Bn5yoFhcktzxNZGNaUt0VjgjA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/csstools";
+        },
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/csstools";
+        }
+      ],
+      "license": "MIT-0",
+      "engines": {
+        "node": ">=20.19.0"
+      },
+      "peerDependencies": {
+        "postcss-selector-parser": "^7.1.1"
+      }
+    },
+    "node_modules/@csstools/selector-specificity": {
+      "version": "6.0.0",
+      "resolved": 
"https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-6.0.0.tgz";,
+      "integrity": 
"sha512-4sSgl78OtOXEX/2d++8A83zHNTgwCJMaR24FvsYL7Uf/VS8HZk9PTwR51elTbGqMuwH3szLvvOXEaVnqn0Z3zA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/csstools";
+        },
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/csstools";
+        }
+      ],
+      "license": "MIT-0",
+      "engines": {
+        "node": ">=20.19.0"
+      },
+      "peerDependencies": {
+        "postcss-selector-parser": "^7.1.1"
+      }
+    },
     "node_modules/@ctrl/tinycolor": {
       "version": "3.6.1",
       "resolved": 
"https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-3.6.1.tgz";,
@@ -3109,6 +3239,13 @@
         "@jridgewell/sourcemap-codec": "^1.4.14"
       }
     },
+    "node_modules/@keyv/serialize": {
+      "version": "1.1.1",
+      "resolved": 
"https://registry.npmjs.org/@keyv/serialize/-/serialize-1.1.1.tgz";,
+      "integrity": 
"sha512-dXn3FZhPv0US+7dtJsIi2R+c7qWYiReoEh5zUntWCf4oSpMNib8FDhSoed6m3QyZdx5hK7iLFkYk3rNxwt8vTA==",
+      "dev": true,
+      "license": "MIT"
+    },
     "node_modules/@listr2/prompt-adapter-inquirer": {
       "version": "3.0.5",
       "resolved": 
"https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-3.0.5.tgz";,
@@ -4257,6 +4394,19 @@
         "url": "https://opencollective.com/parcel";
       }
     },
+    "node_modules/@pkgr/core": {
+      "version": "0.3.6",
+      "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.3.6.tgz";,
+      "integrity": 
"sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": "^14.18.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/pkgr";
+      }
+    },
     "node_modules/@rolldown/binding-android-arm64": {
       "version": "1.0.0-rc.4",
       "resolved": 
"https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-rc.4.tgz";,
@@ -4973,6 +5123,19 @@
         "node": "^20.17.0 || >=22.9.0"
       }
     },
+    "node_modules/@sindresorhus/merge-streams": {
+      "version": "4.0.0",
+      "resolved": 
"https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz";,
+      "integrity": 
"sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus";
+      }
+    },
     "node_modules/@standard-schema/spec": {
       "version": "1.1.0",
       "resolved": 
"https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz";,
@@ -5378,13 +5541,6 @@
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/@types/minimist": {
-      "version": "1.2.5",
-      "resolved": 
"https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz";,
-      "integrity": 
"sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==",
-      "dev": true,
-      "license": "MIT"
-    },
     "node_modules/@types/node": {
       "version": "22.20.0",
       "resolved": "https://registry.npmjs.org/@types/node/-/node-22.20.0.tgz";,
@@ -5395,20 +5551,6 @@
         "undici-types": "~6.21.0"
       }
     },
-    "node_modules/@types/normalize-package-data": {
-      "version": "2.4.4",
-      "resolved": 
"https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz";,
-      "integrity": 
"sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/parse-json": {
-      "version": "4.0.2",
-      "resolved": 
"https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz";,
-      "integrity": 
"sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==",
-      "dev": true,
-      "license": "MIT"
-    },
     "node_modules/@typescript-eslint/eslint-plugin": {
       "version": "8.62.1",
       "resolved": 
"https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.62.1.tgz";,
@@ -6013,16 +6155,6 @@
         "url": "https://github.com/sponsors/ljharb";
       }
     },
-    "node_modules/array-union": {
-      "version": "2.1.0",
-      "resolved": 
"https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz";,
-      "integrity": 
"sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/array.prototype.findlastindex": {
       "version": "1.2.6",
       "resolved": 
"https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz";,
@@ -6105,16 +6237,6 @@
         "url": "https://github.com/sponsors/ljharb";
       }
     },
-    "node_modules/arrify": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz";,
-      "integrity": 
"sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/assertion-error": {
       "version": "2.0.1",
       "resolved": 
"https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz";,
@@ -6215,33 +6337,6 @@
         "node": ">=18.0.0"
       }
     },
-    "node_modules/beasties/node_modules/postcss-safe-parser": {
-      "version": "7.0.1",
-      "resolved": 
"https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz";,
-      "integrity": 
"sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==",
-      "dev": true,
-      "funding": [
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/postcss/";
-        },
-        {
-          "type": "tidelift",
-          "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser";
-        },
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/ai";
-        }
-      ],
-      "license": "MIT",
-      "engines": {
-        "node": ">=18.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.31"
-      }
-    },
     "node_modules/bidi-js": {
       "version": "1.0.3",
       "resolved": "https://registry.npmjs.org/bidi-js/-/bidi-js-1.0.3.tgz";,
@@ -6407,6 +6502,30 @@
         "node": "20 || >=22"
       }
     },
+    "node_modules/cacheable": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/cacheable/-/cacheable-2.5.0.tgz";,
+      "integrity": 
"sha512-60cyAOytib/OzBw1JNSoSV/boK1AtHryDIjvVBk7XbN4ugfkM3+Sry7fEjNgPMGgOjuaZPAp8ruZ0Cxafwyq9g==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@cacheable/memory": "^2.2.0",
+        "@cacheable/utils": "^2.5.0",
+        "hookified": "^1.15.0",
+        "keyv": "^5.6.0",
+        "qified": "^0.10.1"
+      }
+    },
+    "node_modules/cacheable/node_modules/keyv": {
+      "version": "5.6.0",
+      "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.6.0.tgz";,
+      "integrity": 
"sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@keyv/serialize": "^1.1.1"
+      }
+    },
     "node_modules/call-bind": {
       "version": "1.0.9",
       "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.9.tgz";,
@@ -6467,34 +6586,6 @@
         "node": ">=6"
       }
     },
-    "node_modules/camelcase": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz";,
-      "integrity": 
"sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/camelcase-keys": {
-      "version": "6.2.2",
-      "resolved": 
"https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz";,
-      "integrity": 
"sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "camelcase": "^5.3.1",
-        "map-obj": "^4.0.0",
-        "quick-lru": "^4.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus";
-      }
-    },
     "node_modules/caniuse-lite": {
       "version": "1.0.30001800",
       "resolved": 
"https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001800.tgz";,
@@ -6870,6 +6961,33 @@
         "url": "https://opencollective.com/express";
       }
     },
+    "node_modules/cosmiconfig": {
+      "version": "9.0.2",
+      "resolved": 
"https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.2.tgz";,
+      "integrity": 
"sha512-gtTZxTDau1wL7Y7zifc2dd8jHSK/k6BTx/2Xp/BpdlAdnlYWFVt7qhJqgwi7637yRwRQ3qL4ZidbB4I8tA5VOg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "env-paths": "^2.2.1",
+        "import-fresh": "^3.3.0",
+        "js-yaml": "^4.1.0",
+        "parse-json": "^5.2.0"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/d-fischer";
+      },
+      "peerDependencies": {
+        "typescript": ">=4.9.5"
+      },
+      "peerDependenciesMeta": {
+        "typescript": {
+          "optional": true
+        }
+      }
+    },
     "node_modules/create-require": {
       "version": "1.1.1",
       "resolved": 
"https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz";,
@@ -7517,43 +7635,6 @@
         }
       }
     },
-    "node_modules/decamelize": {
-      "version": "1.2.0",
-      "resolved": 
"https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";,
-      "integrity": 
"sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/decamelize-keys": {
-      "version": "1.1.1",
-      "resolved": 
"https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz";,
-      "integrity": 
"sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "decamelize": "^1.1.0",
-        "map-obj": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus";
-      }
-    },
-    "node_modules/decamelize-keys/node_modules/map-obj": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz";,
-      "integrity": 
"sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/decimal.js": {
       "version": "10.6.0",
       "resolved": 
"https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz";,
@@ -7649,19 +7730,6 @@
         "node": ">=0.3.1"
       }
     },
-    "node_modules/dir-glob": {
-      "version": "3.0.1",
-      "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz";,
-      "integrity": 
"sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "path-type": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/dom-serializer": {
       "version": "2.0.0",
       "resolved": 
"https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz";,
@@ -8376,22 +8444,31 @@
       }
     },
     "node_modules/eslint-plugin-prettier": {
-      "version": "4.2.5",
-      "resolved": 
"https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.5.tgz";,
-      "integrity": 
"sha512-9Ni+xgemM2IWLq6aXEpP2+V/V30GeA/46Ar629vcMqVPodFFWC9skHu/D1phvuqtS8bJCFnNf01/qcmqYEwNfg==",
+      "version": "5.5.6",
+      "resolved": 
"https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.6.tgz";,
+      "integrity": 
"sha512-ifetmTcxWfz+4qRW3pH/ujdTq2jQIj59AxJMIN26K5avYgU8dxycUETQonWiW+wPrYXA0j3Try0l1CnwVQtDqQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "prettier-linter-helpers": "^1.0.0"
+        "prettier-linter-helpers": "^1.0.1",
+        "synckit": "^0.11.13"
       },
       "engines": {
-        "node": ">=12.0.0"
+        "node": "^14.18.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint-plugin-prettier";
       },
       "peerDependencies": {
-        "eslint": ">=7.28.0",
-        "prettier": ">=2.0.0"
+        "@types/eslint": ">=8.0.0",
+        "eslint": ">=8.0.0",
+        "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0",
+        "prettier": ">=3.0.0"
       },
       "peerDependenciesMeta": {
+        "@types/eslint": {
+          "optional": true
+        },
         "eslint-config-prettier": {
           "optional": true
         }
@@ -8887,16 +8964,13 @@
       "license": "MIT"
     },
     "node_modules/file-entry-cache": {
-      "version": "6.0.1",
-      "resolved": 
"https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz";,
-      "integrity": 
"sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+      "version": "11.1.5",
+      "resolved": 
"https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-11.1.5.tgz";,
+      "integrity": 
"sha512-+PFTHITI08JIGhnNpGNI8T8inUpgZfk3GNEqfT9R2zZV2iFXg3CvqzSl/uEhs7TSGujYRELEANyDvS8Fj7+S7Q==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "flat-cache": "^3.0.4"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
+        "flat-cache": "^6.1.23"
       }
     },
     "node_modules/fill-range": {
@@ -8952,18 +9026,15 @@
       }
     },
     "node_modules/flat-cache": {
-      "version": "3.2.0",
-      "resolved": 
"https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz";,
-      "integrity": 
"sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
+      "version": "6.1.23",
+      "resolved": 
"https://registry.npmjs.org/flat-cache/-/flat-cache-6.1.23.tgz";,
+      "integrity": 
"sha512-f++BY9pTk+983xK1FLzlLpmM0i0z+jHmx3QESGkURMXujQZz1k5wzwX6hjnQ8goaD0B+sYnDK1yZ6MTyZfUaqA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "flatted": "^3.2.9",
-        "keyv": "^4.5.3",
-        "rimraf": "^3.0.2"
-      },
-      "engines": {
-        "node": "^10.12.0 || >=12.0.0"
+        "cacheable": "^2.5.0",
+        "flatted": "^3.4.2",
+        "hookified": "^1.15.0"
       }
     },
     "node_modules/flatted": {
@@ -9022,13 +9093,6 @@
         "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/fs.realpath": {
-      "version": "1.0.0",
-      "resolved": 
"https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";,
-      "integrity": 
"sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
-      "dev": true,
-      "license": "ISC"
-    },
     "node_modules/fsevents": {
       "version": "2.3.3",
       "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz";,
@@ -9311,36 +9375,26 @@
       }
     },
     "node_modules/globby": {
-      "version": "11.1.0",
-      "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz";,
-      "integrity": 
"sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+      "version": "16.2.1",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-16.2.1.tgz";,
+      "integrity": 
"sha512-JmsqJalahxxgW8V2ecSQ2G7UjPlI9cpKdrkG9KoNiXhd/YslXOTEB0cViENWUznuovIuNT+FkMbraDGjr4FCUg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "array-union": "^2.1.0",
-        "dir-glob": "^3.0.1",
-        "fast-glob": "^3.2.9",
-        "ignore": "^5.2.0",
-        "merge2": "^1.4.1",
-        "slash": "^3.0.0"
+        "@sindresorhus/merge-streams": "^4.0.0",
+        "fast-glob": "^3.3.3",
+        "ignore": "^7.0.5",
+        "is-path-inside": "^4.0.0",
+        "slash": "^5.1.0",
+        "unicorn-magic": "^0.4.0"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=20"
       },
       "funding": {
         "url": "https://github.com/sponsors/sindresorhus";
       }
     },
-    "node_modules/globby/node_modules/ignore": {
-      "version": "5.3.2",
-      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz";,
-      "integrity": 
"sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">= 4"
-      }
-    },
     "node_modules/globjoin": {
       "version": "0.1.4",
       "resolved": "https://registry.npmjs.org/globjoin/-/globjoin-0.1.4.tgz";,
@@ -9368,16 +9422,6 @@
       "dev": true,
       "license": "ISC"
     },
-    "node_modules/hard-rejection": {
-      "version": "2.1.0",
-      "resolved": 
"https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz";,
-      "integrity": 
"sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=6"
-      }
-    },
     "node_modules/has-bigints": {
       "version": "1.1.0",
       "resolved": 
"https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz";,
@@ -9459,6 +9503,19 @@
         "url": "https://github.com/sponsors/ljharb";
       }
     },
+    "node_modules/hashery": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/hashery/-/hashery-1.5.1.tgz";,
+      "integrity": 
"sha512-iZyKG96/JwPz1N55vj2Ie2vXbhu440zfUfJvSwEqEbeLluk7NnapfGqa7LH0mOsnDxTF85Mx8/dyR6HfqcbmbQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "hookified": "^1.15.0"
+      },
+      "engines": {
+        "node": ">=20"
+      }
+    },
     "node_modules/hasown": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz";,
@@ -9482,6 +9539,13 @@
         "node": ">=16.9.0"
       }
     },
+    "node_modules/hookified": {
+      "version": "1.15.1",
+      "resolved": 
"https://registry.npmjs.org/hookified/-/hookified-1.15.1.tgz";,
+      "integrity": 
"sha512-MvG/clsADq1GPM2KGo2nyfaWVyn9naPiXrqIe4jYjXNZQt238kWyOGrsyc/DmRAQ+Re6yeo6yX/yoNCG5KAEVg==",
+      "dev": true,
+      "license": "MIT"
+    },
     "node_modules/hosted-git-info": {
       "version": "9.0.3",
       "resolved": 
"https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.3.tgz";,
@@ -9552,13 +9616,13 @@
       }
     },
     "node_modules/html-tags": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz";,
-      "integrity": 
"sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==",
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-5.1.0.tgz";,
+      "integrity": 
"sha512-n6l5uca7/y5joxZ3LUePhzmBFUJ+U2YWzhMa8XUTecSeSlQiZdF5XAd/Q3/WUl0VsXgUwWi8I7CNIwdI5WN1SQ==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=8"
+        "node": ">=20.10"
       },
       "funding": {
         "url": "https://github.com/sponsors/sindresorhus";
@@ -9732,14 +9796,15 @@
         "url": "https://github.com/sponsors/sindresorhus";
       }
     },
-    "node_modules/import-lazy": {
-      "version": "4.0.0",
-      "resolved": 
"https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz";,
-      "integrity": 
"sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==",
+    "node_modules/import-meta-resolve": {
+      "version": "4.2.0",
+      "resolved": 
"https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz";,
+      "integrity": 
"sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=8"
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm";
       }
     },
     "node_modules/imurmurhash": {
@@ -9752,28 +9817,6 @@
         "node": ">=0.8.19"
       }
     },
-    "node_modules/indent-string": {
-      "version": "4.0.0",
-      "resolved": 
"https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz";,
-      "integrity": 
"sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/inflight": {
-      "version": "1.0.6",
-      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";,
-      "integrity": 
"sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
-      "deprecated": "This module is not supported, and leaks memory. Do not 
use it. Check out lru-cache if you want a good and tested way to coalesce async 
requests by a key value, which is much more comprehensive and powerful.",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "once": "^1.3.0",
-        "wrappy": "1"
-      }
-    },
     "node_modules/inherits": {
       "version": "2.0.4",
       "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz";,
@@ -10118,24 +10161,17 @@
         "url": "https://github.com/sponsors/ljharb";
       }
     },
-    "node_modules/is-plain-obj": {
-      "version": "1.1.0",
-      "resolved": 
"https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz";,
-      "integrity": 
"sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/is-plain-object": {
-      "version": "5.0.0",
-      "resolved": 
"https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz";,
-      "integrity": 
"sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
+    "node_modules/is-path-inside": {
+      "version": "4.0.0",
+      "resolved": 
"https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz";,
+      "integrity": 
"sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus";
       }
     },
     "node_modules/is-potential-custom-element-name": {
@@ -10617,13 +10653,6 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/known-css-properties": {
-      "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,
-      "license": "MIT"
-    },
     "node_modules/less": {
       "version": "4.4.2",
       "resolved": "https://registry.npmjs.org/less/-/less-4.4.2.tgz";,
@@ -11055,23 +11084,6 @@
         "url": "https://github.com/chalk/slice-ansi?sponsor=1";
       }
     },
-    "node_modules/listr2/node_modules/string-width": {
-      "version": "8.2.1",
-      "resolved": 
"https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz";,
-      "integrity": 
"sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "get-east-asian-width": "^1.5.0",
-        "strip-ansi": "^7.1.2"
-      },
-      "engines": {
-        "node": ">=20"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus";
-      }
-    },
     "node_modules/listr2/node_modules/strip-ansi": {
       "version": "7.2.0",
       "resolved": 
"https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz";,
@@ -11425,19 +11437,6 @@
         "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/map-obj": {
-      "version": "4.3.0",
-      "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz";,
-      "integrity": 
"sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus";
-      }
-    },
     "node_modules/marked": {
       "version": "14.0.0",
       "resolved": "https://registry.npmjs.org/marked/-/marked-14.0.0.tgz";,
@@ -11461,9 +11460,9 @@
       }
     },
     "node_modules/mathml-tag-names": {
-      "version": "2.1.3",
-      "resolved": 
"https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-2.1.3.tgz";,
-      "integrity": 
"sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==",
+      "version": "4.0.0",
+      "resolved": 
"https://registry.npmjs.org/mathml-tag-names/-/mathml-tag-names-4.0.0.tgz";,
+      "integrity": 
"sha512-aa6AU2Pcx0VP/XWnh8IGL0SYSgQHDT6Ucror2j2mXeFAlN3ahaNs8EZtG1YiticMkSLj3Gt6VPFfZogt7G5iFQ==",
       "dev": true,
       "license": "MIT",
       "funding": {
@@ -11489,40 +11488,13 @@
       }
     },
     "node_modules/meow": {
-      "version": "9.0.0",
-      "resolved": "https://registry.npmjs.org/meow/-/meow-9.0.0.tgz";,
-      "integrity": 
"sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==",
+      "version": "14.1.0",
+      "resolved": "https://registry.npmjs.org/meow/-/meow-14.1.0.tgz";,
+      "integrity": 
"sha512-EDYo6VlmtnumlcBCbh1gLJ//9jvM/ndXHfVXIFrZVr6fGcwTUyCTFNTLCKuY3ffbK8L/+3Mzqnd58RojiZqHVw==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@types/minimist": "^1.2.0",
-        "camelcase-keys": "^6.2.2",
-        "decamelize": "^1.2.0",
-        "decamelize-keys": "^1.1.0",
-        "hard-rejection": "^2.1.0",
-        "minimist-options": "4.1.0",
-        "normalize-package-data": "^3.0.0",
-        "read-pkg-up": "^7.0.1",
-        "redent": "^3.0.0",
-        "trim-newlines": "^3.0.0",
-        "type-fest": "^0.18.0",
-        "yargs-parser": "^20.2.3"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus";
-      }
-    },
-    "node_modules/meow/node_modules/type-fest": {
-      "version": "0.18.1",
-      "resolved": 
"https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz";,
-      "integrity": 
"sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==",
-      "dev": true,
-      "license": "(MIT OR CC0-1.0)",
       "engines": {
-        "node": ">=10"
+        "node": ">=20"
       },
       "funding": {
         "url": "https://github.com/sponsors/sindresorhus";
@@ -11633,16 +11605,6 @@
         "url": "https://github.com/sponsors/sindresorhus";
       }
     },
-    "node_modules/min-indent": {
-      "version": "1.0.1",
-      "resolved": 
"https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz";,
-      "integrity": 
"sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=4"
-      }
-    },
     "node_modules/minimatch": {
       "version": "10.2.5",
       "resolved": 
"https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz";,
@@ -11669,21 +11631,6 @@
         "url": "https://github.com/sponsors/ljharb";
       }
     },
-    "node_modules/minimist-options": {
-      "version": "4.1.0",
-      "resolved": 
"https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz";,
-      "integrity": 
"sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "arrify": "^1.0.1",
-        "is-plain-obj": "^1.1.0",
-        "kind-of": "^6.0.3"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
     "node_modules/minipass": {
       "version": "7.1.3",
       "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz";,
@@ -12108,55 +12055,6 @@
         "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/normalize-package-data": {
-      "version": "3.0.3",
-      "resolved": 
"https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz";,
-      "integrity": 
"sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==",
-      "dev": true,
-      "license": "BSD-2-Clause",
-      "dependencies": {
-        "hosted-git-info": "^4.0.1",
-        "is-core-module": "^2.5.0",
-        "semver": "^7.3.4",
-        "validate-npm-package-license": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/normalize-package-data/node_modules/hosted-git-info": {
-      "version": "4.1.0",
-      "resolved": 
"https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz";,
-      "integrity": 
"sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/normalize-package-data/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz";,
-      "integrity": 
"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/normalize-package-data/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz";,
-      "integrity": 
"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true,
-      "license": "ISC"
-    },
     "node_modules/normalize-path": {
       "version": "3.0.0",
       "resolved": 
"https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz";,
@@ -12483,19 +12381,6 @@
         "url": "https://github.com/sponsors/sindresorhus";
       }
     },
-    "node_modules/ora/node_modules/ansi-regex": {
-      "version": "6.2.2",
-      "resolved": 
"https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz";,
-      "integrity": 
"sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-regex?sponsor=1";
-      }
-    },
     "node_modules/ora/node_modules/chalk": {
       "version": "5.6.2",
       "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz";,
@@ -12509,39 +12394,6 @@
         "url": "https://github.com/chalk/chalk?sponsor=1";
       }
     },
-    "node_modules/ora/node_modules/string-width": {
-      "version": "8.2.1",
-      "resolved": 
"https://registry.npmjs.org/string-width/-/string-width-8.2.1.tgz";,
-      "integrity": 
"sha512-IIaP0g3iy9Cyy18w3M9YcaDudujEAVHKt3a3QJg1+sr/oX96TbaGUubG0hJyCjCBThFH+tFpcIyoUHUn1ogaLA==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "get-east-asian-width": "^1.5.0",
-        "strip-ansi": "^7.1.2"
-      },
-      "engines": {
-        "node": ">=20"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus";
-      }
-    },
-    "node_modules/ora/node_modules/strip-ansi": {
-      "version": "7.2.0",
-      "resolved": 
"https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz";,
-      "integrity": 
"sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "ansi-regex": "^6.2.2"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/strip-ansi?sponsor=1";
-      }
-    },
     "node_modules/ordered-binary": {
       "version": "1.6.1",
       "resolved": 
"https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.1.tgz";,
@@ -12613,16 +12465,6 @@
         "url": "https://github.com/sponsors/sindresorhus";
       }
     },
-    "node_modules/p-try": {
-      "version": "2.2.0",
-      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz";,
-      "integrity": 
"sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=6"
-      }
-    },
     "node_modules/pacote": {
       "version": "21.5.1",
       "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.5.1.tgz";,
@@ -12796,16 +12638,6 @@
         "node": ">=8"
       }
     },
-    "node_modules/path-is-absolute": {
-      "version": "1.0.1",
-      "resolved": 
"https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";,
-      "integrity": 
"sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
     "node_modules/path-key": {
       "version": "3.1.1",
       "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz";,
@@ -12861,16 +12693,6 @@
         "url": "https://opencollective.com/express";
       }
     },
-    "node_modules/path-type": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz";,
-      "integrity": 
"sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/pathe": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz";,
@@ -12992,38 +12814,55 @@
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/postcss-resolve-nested-selector": {
-      "version": "0.1.6",
-      "resolved": 
"https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz";,
-      "integrity": 
"sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw==",
-      "dev": true,
-      "license": "MIT"
-    },
     "node_modules/postcss-safe-parser": {
-      "version": "6.0.0",
-      "resolved": 
"https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-6.0.0.tgz";,
-      "integrity": 
"sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==",
+      "version": "7.0.1",
+      "resolved": 
"https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-7.0.1.tgz";,
+      "integrity": 
"sha512-0AioNCJZ2DPYz5ABT6bddIqlhgwhpHZ/l65YAYo0BCIn0xiDpsnTHz0gnoTGk0OXZW0JRs+cDwL8u/teRdz+8A==",
       "dev": true,
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/postcss/";
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/postcss-safe-parser";
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai";
+        }
+      ],
       "license": "MIT",
       "engines": {
-        "node": ">=12.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/postcss/";
+        "node": ">=18.0"
       },
       "peerDependencies": {
-        "postcss": "^8.3.3"
+        "postcss": "^8.4.31"
       }
     },
-    "node_modules/postcss-sorting": {
-      "version": "7.0.1",
-      "resolved": 
"https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-7.0.1.tgz";,
-      "integrity": 
"sha512-iLBFYz6VRYyLJEJsBJ8M3TCqNcckVzz4wFounSc5Oez35ogE/X+aoC5fFu103Ot7NyvjU3/xqIXn93Gp3kJk4g==",
+    "node_modules/postcss-selector-parser": {
+      "version": "7.1.4",
+      "resolved": 
"https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.4.tgz";,
+      "integrity": 
"sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "cssesc": "^3.0.0",
+        "util-deprecate": "^1.0.2"
+      },
+      "engines": {
+        "node": ">=4"
+      }
+    },
+    "node_modules/postcss-sorting": {
+      "version": "10.0.0",
+      "resolved": 
"https://registry.npmjs.org/postcss-sorting/-/postcss-sorting-10.0.0.tgz";,
+      "integrity": 
"sha512-TXbU+h6vVRW+86c/+ewhWq9k7pr7ijASTnepVhCQiC87zAOTkvB1v2dHyWP+ggstSTX/PNvjzS+IOqzejndz9w==",
       "dev": true,
       "license": "MIT",
       "peerDependencies": {
-        "postcss": "^8.3.9"
+        "postcss": "^8.4.20"
       }
     },
     "node_modules/postcss-value-parser": {
@@ -13044,16 +12883,16 @@
       }
     },
     "node_modules/prettier": {
-      "version": "2.6.2",
-      "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz";,
-      "integrity": 
"sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==",
+      "version": "3.9.5",
+      "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.5.tgz";,
+      "integrity": 
"sha512-/FVl766LpUfB5vXgCYOYa0MeV/441Ia99AeICQIQFTY/Nw0roZwULcXpku5i1/m5kt/baz+s4Zogspd839HSMg==",
       "dev": true,
       "license": "MIT",
       "bin": {
-        "prettier": "bin-prettier.js"
+        "prettier": "bin/prettier.cjs"
       },
       "engines": {
-        "node": ">=10.13.0"
+        "node": ">=14"
       },
       "funding": {
         "url": "https://github.com/prettier/prettier?sponsor=1";
@@ -13115,6 +12954,26 @@
         "node": ">=6"
       }
     },
+    "node_modules/qified": {
+      "version": "0.10.1",
+      "resolved": "https://registry.npmjs.org/qified/-/qified-0.10.1.tgz";,
+      "integrity": 
"sha512-+Owyggi9IxT1ePKGafcI87ubSmxol6smwJ+RAHDQlx9+9cPwFWDiKFFCPuWhr9ignlGpZ9vDQLw67N4dcTVFEA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "hookified": "^2.1.1"
+      },
+      "engines": {
+        "node": ">=20"
+      }
+    },
+    "node_modules/qified/node_modules/hookified": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/hookified/-/hookified-2.2.0.tgz";,
+      "integrity": 
"sha512-p/LgFzRN5FeoD3DLS6bkUapeye6E4SI6yJs6KetENd18S+FBthqYq2amJUWpt5z0EQwwHemidjY5OqJGEKm5uA==",
+      "dev": true,
+      "license": "MIT"
+    },
     "node_modules/qs": {
       "version": "6.15.3",
       "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.3.tgz";,
@@ -13153,16 +13012,6 @@
       ],
       "license": "MIT"
     },
-    "node_modules/quick-lru": {
-      "version": "4.0.1",
-      "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz";,
-      "integrity": 
"sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/range-parser": {
       "version": "1.3.0",
       "resolved": 
"https://registry.npmjs.org/range-parser/-/range-parser-1.3.0.tgz";,
@@ -13193,146 +13042,6 @@
         "node": ">= 0.10"
       }
     },
-    "node_modules/read-pkg": {
-      "version": "5.2.0",
-      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz";,
-      "integrity": 
"sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/normalize-package-data": "^2.4.0",
-        "normalize-package-data": "^2.5.0",
-        "parse-json": "^5.0.0",
-        "type-fest": "^0.6.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/read-pkg-up": {
-      "version": "7.0.1",
-      "resolved": 
"https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz";,
-      "integrity": 
"sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "find-up": "^4.1.0",
-        "read-pkg": "^5.2.0",
-        "type-fest": "^0.8.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus";
-      }
-    },
-    "node_modules/read-pkg-up/node_modules/find-up": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz";,
-      "integrity": 
"sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/read-pkg-up/node_modules/locate-path": {
-      "version": "5.0.0",
-      "resolved": 
"https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz";,
-      "integrity": 
"sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/read-pkg-up/node_modules/p-limit": {
-      "version": "2.3.0",
-      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz";,
-      "integrity": 
"sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus";
-      }
-    },
-    "node_modules/read-pkg-up/node_modules/p-locate": {
-      "version": "4.1.0",
-      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz";,
-      "integrity": 
"sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/read-pkg-up/node_modules/type-fest": {
-      "version": "0.8.1",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz";,
-      "integrity": 
"sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==",
-      "dev": true,
-      "license": "(MIT OR CC0-1.0)",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/read-pkg/node_modules/hosted-git-info": {
-      "version": "2.8.9",
-      "resolved": 
"https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz";,
-      "integrity": 
"sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==",
-      "dev": true,
-      "license": "ISC"
-    },
-    "node_modules/read-pkg/node_modules/normalize-package-data": {
-      "version": "2.5.0",
-      "resolved": 
"https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz";,
-      "integrity": 
"sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==",
-      "dev": true,
-      "license": "BSD-2-Clause",
-      "dependencies": {
-        "hosted-git-info": "^2.1.4",
-        "resolve": "^1.10.0",
-        "semver": "2 || 3 || 4 || 5",
-        "validate-npm-package-license": "^3.0.1"
-      }
-    },
-    "node_modules/read-pkg/node_modules/semver": {
-      "version": "5.7.2",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz";,
-      "integrity": 
"sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
-      "dev": true,
-      "license": "ISC",
-      "bin": {
-        "semver": "bin/semver"
-      }
-    },
-    "node_modules/read-pkg/node_modules/type-fest": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz";,
-      "integrity": 
"sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==",
-      "dev": true,
-      "license": "(MIT OR CC0-1.0)",
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/readdirp": {
       "version": "5.0.0",
       "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz";,
@@ -13347,20 +13056,6 @@
         "url": "https://paulmillr.com/funding/";
       }
     },
-    "node_modules/redent": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz";,
-      "integrity": 
"sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "indent-string": "^4.0.0",
-        "strip-indent": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/reflect-metadata": {
       "version": "0.2.2",
       "resolved": 
"https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz";,
@@ -13422,28 +13117,6 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/resolve": {
-      "version": "1.22.12",
-      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.12.tgz";,
-      "integrity": 
"sha512-TyeJ1zif53BPfHootBGwPRYT1RUt6oGWsaQr8UyZW/eAm9bKoijtvruSDEmZHm92CwS9nj7/fWttqPCgzep8CA==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "es-errors": "^1.3.0",
-        "is-core-module": "^2.16.1",
-        "path-parse": "^1.0.7",
-        "supports-preserve-symlinks-flag": "^1.0.0"
-      },
-      "bin": {
-        "resolve": "bin/resolve"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb";
-      }
-    },
     "node_modules/resolve-from": {
       "version": "4.0.0",
       "resolved": 
"https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz";,
@@ -13505,76 +13178,6 @@
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/rimraf": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz";,
-      "integrity": 
"sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
-      "deprecated": "Rimraf versions prior to v4 are no longer supported",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs";
-      }
-    },
-    "node_modules/rimraf/node_modules/balanced-match": {
-      "version": "1.0.2",
-      "resolved": 
"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz";,
-      "integrity": 
"sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/rimraf/node_modules/brace-expansion": {
-      "version": "1.1.15",
-      "resolved": 
"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.15.tgz";,
-      "integrity": 
"sha512-EwOCDEex4quD37XhqM3omwtMoJjr//isUZz1JopUNWms+4Z2ViyM/k1YIRePpoVNnQhENnxtFjLaxNHrT7xIUg==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "balanced-match": "^1.0.0",
-        "concat-map": "0.0.1"
-      }
-    },
-    "node_modules/rimraf/node_modules/glob": {
-      "version": "7.2.3",
-      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz";,
-      "integrity": 
"sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
-      "deprecated": "Old versions of glob are not supported, and contain 
widely publicized security vulnerabilities, which have been fixed in the 
current version. Please update. Support for old versions may be purchased (at 
exorbitant rates) by contacting [email protected]",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      },
-      "engines": {
-        "node": "*"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs";
-      }
-    },
-    "node_modules/rimraf/node_modules/minimatch": {
-      "version": "3.1.5",
-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz";,
-      "integrity": 
"sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "brace-expansion": "^1.1.7"
-      },
-      "engines": {
-        "node": "*"
-      }
-    },
     "node_modules/robust-predicates": {
       "version": "3.0.3",
       "resolved": 
"https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz";,
@@ -14105,13 +13708,16 @@
       }
     },
     "node_modules/slash": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz";,
-      "integrity": 
"sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz";,
+      "integrity": 
"sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=8"
+        "node": ">=14.16"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus";
       }
     },
     "node_modules/smart-buffer": {
@@ -14196,28 +13802,6 @@
         "node": ">=0.10.0"
       }
     },
-    "node_modules/spdx-correct": {
-      "version": "3.2.0",
-      "resolved": 
"https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz";,
-      "integrity": 
"sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
-      "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "spdx-expression-parse": "^3.0.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
-    "node_modules/spdx-correct/node_modules/spdx-expression-parse": {
-      "version": "3.0.1",
-      "resolved": 
"https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz";,
-      "integrity": 
"sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "spdx-exceptions": "^2.1.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
     "node_modules/spdx-exceptions": {
       "version": "2.5.0",
       "resolved": 
"https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz";,
@@ -14307,6 +13891,52 @@
         "node": ">= 0.4"
       }
     },
+    "node_modules/string-width": {
+      "version": "8.2.2",
+      "resolved": 
"https://registry.npmjs.org/string-width/-/string-width-8.2.2.tgz";,
+      "integrity": 
"sha512-GaPUh5gfdrYzqeVNZvUfT23vYYxXzKYidUcnMtJg/3rxRV63EFZy3k6xfKlmfeJD0176lnUV/Usr3XcwSvFzpg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "get-east-asian-width": "^1.5.0",
+        "strip-ansi": "^7.1.2"
+      },
+      "engines": {
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus";
+      }
+    },
+    "node_modules/string-width/node_modules/ansi-regex": {
+      "version": "6.2.2",
+      "resolved": 
"https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz";,
+      "integrity": 
"sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1";
+      }
+    },
+    "node_modules/string-width/node_modules/strip-ansi": {
+      "version": "7.2.0",
+      "resolved": 
"https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz";,
+      "integrity": 
"sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "ansi-regex": "^6.2.2"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1";
+      }
+    },
     "node_modules/string.prototype.trim": {
       "version": "1.2.11",
       "resolved": 
"https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.11.tgz";,
@@ -14390,19 +14020,6 @@
         "node": ">=4"
       }
     },
-    "node_modules/strip-indent": {
-      "version": "3.0.0",
-      "resolved": 
"https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz";,
-      "integrity": 
"sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "min-indent": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/strip-json-comments": {
       "version": "3.1.1",
       "resolved": 
"https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz";,
@@ -14416,283 +14033,214 @@
         "url": "https://github.com/sponsors/sindresorhus";
       }
     },
-    "node_modules/style-search": {
-      "version": "0.1.0",
-      "resolved": 
"https://registry.npmjs.org/style-search/-/style-search-0.1.0.tgz";,
-      "integrity": 
"sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==",
-      "dev": true,
-      "license": "ISC"
-    },
     "node_modules/stylelint": {
-      "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==",
+      "version": "17.14.0",
+      "resolved": 
"https://registry.npmjs.org/stylelint/-/stylelint-17.14.0.tgz";,
+      "integrity": 
"sha512-8xkHPpdqYryeIsOgfsYTmr6cIeC4nLYWk5S8BPxpodq8mIuepggkMljsHewWfuAjj/+qpRKou2QerhjMH3iasg==",
       "dev": true,
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/stylelint";
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/stylelint";
+        }
+      ],
       "license": "MIT",
       "dependencies": {
-        "@csstools/selector-specificity": "^2.0.2",
-        "balanced-match": "^2.0.0",
+        "@csstools/css-calc": "^3.2.1",
+        "@csstools/css-parser-algorithms": "^4.0.0",
+        "@csstools/css-syntax-patches-for-csstree": "^1.1.5",
+        "@csstools/css-tokenizer": "^4.0.0",
+        "@csstools/media-query-list-parser": "^5.0.0",
+        "@csstools/selector-resolve-nested": "^4.0.0",
+        "@csstools/selector-specificity": "^6.0.0",
         "colord": "^2.9.3",
-        "cosmiconfig": "^7.1.0",
-        "css-functions-list": "^3.1.0",
-        "debug": "^4.3.4",
-        "fast-glob": "^3.2.12",
+        "cosmiconfig": "^9.0.2",
+        "css-functions-list": "^3.3.3",
+        "css-tree": "^3.2.1",
+        "debug": "^4.4.3",
+        "fast-glob": "^3.3.3",
         "fastest-levenshtein": "^1.0.16",
-        "file-entry-cache": "^6.0.1",
+        "file-entry-cache": "^11.1.3",
         "global-modules": "^2.0.0",
-        "globby": "^11.1.0",
+        "globby": "^16.2.0",
         "globjoin": "^0.1.4",
-        "html-tags": "^3.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.26.0",
-        "mathml-tag-names": "^2.1.3",
-        "meow": "^9.0.0",
-        "micromatch": "^4.0.5",
+        "html-tags": "^5.1.0",
+        "ignore": "^7.0.5",
+        "import-meta-resolve": "^4.2.0",
+        "mathml-tag-names": "^4.0.0",
+        "meow": "^14.1.0",
+        "micromatch": "^4.0.8",
         "normalize-path": "^3.0.0",
-        "picocolors": "^1.0.0",
-        "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.11",
+        "picocolors": "^1.1.1",
+        "postcss": "^8.5.15",
+        "postcss-safe-parser": "^7.0.1",
+        "postcss-selector-parser": "^7.1.4",
         "postcss-value-parser": "^4.2.0",
-        "resolve-from": "^5.0.0",
-        "string-width": "^4.2.3",
-        "strip-ansi": "^6.0.1",
-        "style-search": "^0.1.0",
-        "supports-hyperlinks": "^2.3.0",
+        "string-width": "^8.2.1",
+        "supports-hyperlinks": "^4.4.0",
         "svg-tags": "^1.0.0",
-        "table": "^6.8.1",
-        "v8-compile-cache": "^2.3.0",
-        "write-file-atomic": "^4.0.2"
+        "table": "^6.9.0",
+        "write-file-atomic": "^7.0.1"
       },
       "bin": {
-        "stylelint": "bin/stylelint.js"
+        "stylelint": "bin/stylelint.mjs"
       },
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/stylelint";
+        "node": ">=20.19.0"
       }
     },
     "node_modules/stylelint-config-hudochenkov": {
-      "version": "6.0.1",
-      "resolved": 
"https://registry.npmjs.org/stylelint-config-hudochenkov/-/stylelint-config-hudochenkov-6.0.1.tgz";,
-      "integrity": 
"sha512-jCiHBTn9FZwZ2SZgsBgIIyqIfAwuwv3AnxEvj1ITLTTHB0g53opW5E8aKSAUPgmJpXseDTWWrGODiUjTSPj1AA==",
+      "version": "13.0.2",
+      "resolved": 
"https://registry.npmjs.org/stylelint-config-hudochenkov/-/stylelint-config-hudochenkov-13.0.2.tgz";,
+      "integrity": 
"sha512-29uFLuyU+4G7lmYxAeT/WkBdHktM9oSnpTskkzjanmTK+NBCWYZVCqxVC4ruEQ8+dm3b8xXCBDYXTdX9gTy9GQ==",
       "dev": true,
       "license": "MIT",
       "peerDependencies": {
-        "stylelint": "^14.0.0"
+        "stylelint": "^16.19.0 || ^17.0.0",
+        "stylelint-order": "^7.0.1 || ^8.0.1"
       }
     },
-    "node_modules/stylelint-config-prettier": {
-      "version": "9.0.5",
-      "resolved": 
"https://registry.npmjs.org/stylelint-config-prettier/-/stylelint-config-prettier-9.0.5.tgz";,
-      "integrity": 
"sha512-U44lELgLZhbAD/xy/vncZ2Pq8sh2TnpiPvo38Ifg9+zeioR+LAkHu0i6YORIOxFafZoVg0xqQwex6e6F25S5XA==",
+    "node_modules/stylelint-config-recommended": {
+      "version": "18.0.0",
+      "resolved": 
"https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-18.0.0.tgz";,
+      "integrity": 
"sha512-mxgT2XY6YZ3HWWe3Di8umG6aBmWmHTblTgu/f10rqFXnyWxjKWwNdjSWkgkwCtxIKnqjSJzvFmPT5yabVIRxZg==",
       "dev": true,
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/stylelint";
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/stylelint";
+        }
+      ],
       "license": "MIT",
-      "bin": {
-        "stylelint-config-prettier": "bin/check.js",
-        "stylelint-config-prettier-check": "bin/check.js"
-      },
       "engines": {
-        "node": ">= 12"
+        "node": ">=20.19.0"
       },
       "peerDependencies": {
-        "stylelint": ">= 11.x < 15"
-      }
-    },
-    "node_modules/stylelint-config-recommended": {
-      "version": "6.0.0",
-      "resolved": 
"https://registry.npmjs.org/stylelint-config-recommended/-/stylelint-config-recommended-6.0.0.tgz";,
-      "integrity": 
"sha512-ZorSSdyMcxWpROYUvLEMm0vSZud2uB7tX1hzBZwvVY9SV/uly4AvvJPPhCcymZL3fcQhEQG5AELmrxWqtmzacw==",
-      "dev": true,
-      "license": "MIT",
-      "peerDependencies": {
-        "stylelint": "^14.0.0"
+        "stylelint": "^17.0.0"
       }
     },
     "node_modules/stylelint-config-standard": {
-      "version": "24.0.0",
-      "resolved": 
"https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-24.0.0.tgz";,
-      "integrity": 
"sha512-+RtU7fbNT+VlNbdXJvnjc3USNPZRiRVp/d2DxOF/vBDDTi0kH5RX2Ny6errdtZJH3boO+bmqIYEllEmok4jiuw==",
+      "version": "40.0.0",
+      "resolved": 
"https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-40.0.0.tgz";,
+      "integrity": 
"sha512-EznGJxOUhtWck2r6dJpbgAdPATIzvpLdK9+i5qPd4Lx70es66TkBPljSg4wN3Qnc6c4h2n+WbUrUynQ3fanjHw==",
       "dev": true,
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/stylelint";
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/stylelint";
+        }
+      ],
       "license": "MIT",
       "dependencies": {
-        "stylelint-config-recommended": "^6.0.0"
+        "stylelint-config-recommended": "^18.0.0"
+      },
+      "engines": {
+        "node": ">=20.19.0"
       },
       "peerDependencies": {
-        "stylelint": "^14.0.0"
+        "stylelint": "^17.0.0"
       }
     },
     "node_modules/stylelint-order": {
-      "version": "5.0.0",
-      "resolved": 
"https://registry.npmjs.org/stylelint-order/-/stylelint-order-5.0.0.tgz";,
-      "integrity": 
"sha512-OWQ7pmicXufDw5BlRqzdz3fkGKJPgLyDwD1rFY3AIEfIH/LQY38Vu/85v8/up0I+VPiuGRwbc2Hg3zLAsJaiyw==",
+      "version": "8.1.1",
+      "resolved": 
"https://registry.npmjs.org/stylelint-order/-/stylelint-order-8.1.1.tgz";,
+      "integrity": 
"sha512-LqsEB6VggJuu5v10RtkrQsBObcdwBE7GuAOlwfc/LR3VL/w8UqKX2BOLIjhyGt0Gne/njo7gRNGiJAKhfmPMNw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "postcss": "^8.3.11",
-        "postcss-sorting": "^7.0.1"
+        "postcss": "^8.5.8",
+        "postcss-sorting": "^10.0.0"
+      },
+      "engines": {
+        "node": ">=20.19.0"
       },
       "peerDependencies": {
-        "stylelint": "^14.0.0"
+        "stylelint": "^16.18.0 || ^17.0.0"
       }
     },
     "node_modules/stylelint-prettier": {
-      "version": "2.0.0",
-      "resolved": 
"https://registry.npmjs.org/stylelint-prettier/-/stylelint-prettier-2.0.0.tgz";,
-      "integrity": 
"sha512-jvT3G+9lopkeB0ARmDPszyfaOnvnIF+30QCjZxyt7E6fynI1T9mOKgYDNb9bXX17M7PXMZaX3j/26wqakjp1tw==",
+      "version": "5.0.3",
+      "resolved": 
"https://registry.npmjs.org/stylelint-prettier/-/stylelint-prettier-5.0.3.tgz";,
+      "integrity": 
"sha512-B6V0oa35ekRrKZlf+6+jA+i50C4GXJ7X1PPmoCqSUoXN6BrNF6NhqqhanvkLjqw2qgvrS0wjdpeC+Tn06KN3jw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "prettier-linter-helpers": "^1.0.0"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": ">=18.12.0"
       },
       "peerDependencies": {
-        "prettier": ">=2.0.0",
-        "stylelint": ">=14.0.0"
+        "prettier": ">=3.0.0",
+        "stylelint": ">=16.0.0"
       }
     },
-    "node_modules/stylelint/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,
-      "license": "CC0-1.0",
-      "engines": {
-        "node": "^14 || ^16 || >=18"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/csstools";
-      },
-      "peerDependencies": {
-        "postcss-selector-parser": "^6.0.10"
-      }
-    },
-    "node_modules/stylelint/node_modules/balanced-match": {
-      "version": "2.0.0",
-      "resolved": 
"https://registry.npmjs.org/balanced-match/-/balanced-match-2.0.0.tgz";,
-      "integrity": 
"sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/stylelint/node_modules/cosmiconfig": {
-      "version": "7.1.0",
-      "resolved": 
"https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz";,
-      "integrity": 
"sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
+    "node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": 
"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz";,
+      "integrity": 
"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@types/parse-json": "^4.0.0",
-        "import-fresh": "^3.2.1",
-        "parse-json": "^5.0.0",
-        "path-type": "^4.0.0",
-        "yaml": "^1.10.0"
+        "has-flag": "^4.0.0"
       },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/stylelint/node_modules/emoji-regex": {
-      "version": "8.0.0",
-      "resolved": 
"https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz";,
-      "integrity": 
"sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/stylelint/node_modules/ignore": {
-      "version": "5.3.2",
-      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz";,
-      "integrity": 
"sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">= 4"
-      }
-    },
-    "node_modules/stylelint/node_modules/is-fullwidth-code-point": {
-      "version": "3.0.0",
-      "resolved": 
"https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz";,
-      "integrity": 
"sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-      "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">=8"
       }
     },
-    "node_modules/stylelint/node_modules/postcss-selector-parser": {
-      "version": "6.1.4",
-      "resolved": 
"https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.4.tgz";,
-      "integrity": 
"sha512-bIoJLOmjCO1S9XdY/DcnR5hJxvrDir1PbGChrzXG3vw0/FOliy/fA3dmdhQ441kah4gKv+TwckGzex6wNS5cnQ==",
+    "node_modules/supports-hyperlinks": {
+      "version": "4.5.0",
+      "resolved": 
"https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-4.5.0.tgz";,
+      "integrity": 
"sha512-ZW2OvfeCXrNTbLakPUzjQG922EeGCOteFSVoek5DKStTh898wf7zgtuFlzQN8HfZCxC3Eh02yJVrRW51hADf+w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "cssesc": "^3.0.0",
-        "util-deprecate": "^1.0.2"
+        "has-flag": "^5.0.1",
+        "supports-color": "^10.2.2"
       },
       "engines": {
-        "node": ">=4"
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1";
       }
     },
-    "node_modules/stylelint/node_modules/resolve-from": {
-      "version": "5.0.0",
-      "resolved": 
"https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz";,
-      "integrity": 
"sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+    "node_modules/supports-hyperlinks/node_modules/has-flag": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-5.0.1.tgz";,
+      "integrity": 
"sha512-CsNUt5x9LUdx6hnk/E2SZLsDyvfqANZSUq4+D3D8RzDJ2M+HDTIkF60ibS1vHaK55vzgiZw1bEPFG9yH7l33wA==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/stylelint/node_modules/string-width": {
-      "version": "4.2.3",
-      "resolved": 
"https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz";,
-      "integrity": 
"sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "emoji-regex": "^8.0.0",
-        "is-fullwidth-code-point": "^3.0.0",
-        "strip-ansi": "^6.0.1"
+        "node": ">=12"
       },
-      "engines": {
-        "node": ">=8"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus";
       }
     },
-    "node_modules/supports-color": {
-      "version": "7.2.0",
-      "resolved": 
"https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz";,
-      "integrity": 
"sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+    "node_modules/supports-hyperlinks/node_modules/supports-color": {
+      "version": "10.2.2",
+      "resolved": 
"https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz";,
+      "integrity": 
"sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
       "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/supports-hyperlinks": {
-      "version": "2.3.0",
-      "resolved": 
"https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz";,
-      "integrity": 
"sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "has-flag": "^4.0.0",
-        "supports-color": "^7.0.0"
+        "node": ">=18"
       },
-      "engines": {
-        "node": ">=8"
+      "funding": {
+        "url": "https://github.com/chalk/supports-color?sponsor=1";
       }
     },
     "node_modules/supports-preserve-symlinks-flag": {
@@ -14721,6 +14269,22 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/synckit": {
+      "version": "0.11.13",
+      "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.13.tgz";,
+      "integrity": 
"sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@pkgr/core": "^0.3.6"
+      },
+      "engines": {
+        "node": "^14.18.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/synckit";
+      }
+    },
     "node_modules/table": {
       "version": "6.9.0",
       "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz";,
@@ -14958,16 +14522,6 @@
         "node": ">=20"
       }
     },
-    "node_modules/trim-newlines": {
-      "version": "3.0.1",
-      "resolved": 
"https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz";,
-      "integrity": 
"sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/ts-api-utils": {
       "version": "2.5.0",
       "resolved": 
"https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz";,
@@ -15270,6 +14824,19 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/unicorn-magic": {
+      "version": "0.4.0",
+      "resolved": 
"https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.4.0.tgz";,
+      "integrity": 
"sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus";
+      }
+    },
     "node_modules/unpipe": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz";,
@@ -15328,13 +14895,6 @@
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/v8-compile-cache": {
-      "version": "2.4.0",
-      "resolved": 
"https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz";,
-      "integrity": 
"sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==",
-      "dev": true,
-      "license": "MIT"
-    },
     "node_modules/v8-compile-cache-lib": {
       "version": "3.0.1",
       "resolved": 
"https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz";,
@@ -15342,28 +14902,6 @@
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/validate-npm-package-license": {
-      "version": "3.0.4",
-      "resolved": 
"https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz";,
-      "integrity": 
"sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
-      "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "spdx-correct": "^3.0.0",
-        "spdx-expression-parse": "^3.0.0"
-      }
-    },
-    
"node_modules/validate-npm-package-license/node_modules/spdx-expression-parse": 
{
-      "version": "3.0.1",
-      "resolved": 
"https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz";,
-      "integrity": 
"sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "spdx-exceptions": "^2.1.0",
-        "spdx-license-ids": "^3.0.0"
-      }
-    },
     "node_modules/validate-npm-package-name": {
       "version": "7.0.2",
       "resolved": 
"https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-7.0.2.tgz";,
@@ -16164,26 +15702,18 @@
       "license": "ISC"
     },
     "node_modules/write-file-atomic": {
-      "version": "4.0.2",
-      "resolved": 
"https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz";,
-      "integrity": 
"sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
+      "version": "7.0.1",
+      "resolved": 
"https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-7.0.1.tgz";,
+      "integrity": 
"sha512-OTIk8iR8/aCRWBqvxrzxR0hgxWpnYBblY1S5hDWBQfk/VFmJwzmJgQFN3WsoUKHISv2eAwe+PpbUzyL1CKTLXg==",
       "dev": true,
       "license": "ISC",
       "dependencies": {
-        "imurmurhash": "^0.1.4",
-        "signal-exit": "^3.0.7"
+        "signal-exit": "^4.0.1"
       },
       "engines": {
-        "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/write-file-atomic/node_modules/signal-exit": {
-      "version": "3.0.7",
-      "resolved": 
"https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz";,
-      "integrity": 
"sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
-      "dev": true,
-      "license": "ISC"
-    },
     "node_modules/xml-name-validator": {
       "version": "5.0.0",
       "resolved": 
"https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz";,
@@ -16218,16 +15748,6 @@
       "dev": true,
       "license": "ISC"
     },
-    "node_modules/yaml": {
-      "version": "1.10.3",
-      "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.3.tgz";,
-      "integrity": 
"sha512-vIYeF1u3CjlhAFekPPAk2h/Kv4T3mAkMox5OymRiJQB0spDP10LHvt+K7G9Ny6NuuMAb25/6n1qyUjAcGNf/AA==",
-      "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": ">= 6"
-      }
-    },
     "node_modules/yargs": {
       "version": "18.0.0",
       "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz";,
@@ -16246,16 +15766,6 @@
         "node": "^20.19.0 || ^22.12.0 || >=23"
       }
     },
-    "node_modules/yargs-parser": {
-      "version": "20.2.9",
-      "resolved": 
"https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz";,
-      "integrity": 
"sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
-      "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": ">=10"
-      }
-    },
     "node_modules/yargs/node_modules/ansi-regex": {
       "version": "6.2.2",
       "resolved": 
"https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz";,
diff --git a/flink-runtime-web/web-dashboard/package.json 
b/flink-runtime-web/web-dashboard/package.json
index 5afcbe1ccbb..b5eed921260 100644
--- a/flink-runtime-web/web-dashboard/package.json
+++ b/flink-runtime-web/web-dashboard/package.json
@@ -50,17 +50,16 @@
     "eslint-plugin-import": "^2.32.0",
     "eslint-plugin-jsdoc": "^50.8.0",
     "eslint-plugin-prefer-arrow": "^1.2.3",
-    "eslint-plugin-prettier": "^4.2.5",
+    "eslint-plugin-prettier": "^5.5.6",
     "eslint-plugin-unused-imports": "^4.4.1",
     "jsdom": "^29.1.1",
     "postcss-less": "^6.0.0",
-    "prettier": "^2.4.1",
-    "stylelint": "^14.16.1",
-    "stylelint-config-hudochenkov": "^6.0.1",
-    "stylelint-config-prettier": "^9.0.5",
-    "stylelint-config-standard": "^24.0.0",
-    "stylelint-order": "^5.0.0",
-    "stylelint-prettier": "^2.0.0",
+    "prettier": "^3.9.5",
+    "stylelint": "^17.14.0",
+    "stylelint-config-hudochenkov": "^13.0.2",
+    "stylelint-config-standard": "^40.0.0",
+    "stylelint-order": "^8.1.1",
+    "stylelint-prettier": "^5.0.3",
     "ts-node": "^10.9.2",
     "typescript": "~5.9.3",
     "typescript-eslint": "^8.62.1",
diff --git a/flink-runtime-web/web-dashboard/src/app/app.component.ts 
b/flink-runtime-web/web-dashboard/src/app/app.component.ts
index f7a21b2ecae..47fb9b66d47 100644
--- a/flink-runtime-web/web-dashboard/src/app/app.component.ts
+++ b/flink-runtime-web/web-dashboard/src/app/app.component.ts
@@ -81,5 +81,8 @@ export class AppComponent {
     this.cdr.markForCheck();
   }
 
-  constructor(public statusService: StatusService, private cdr: 
ChangeDetectorRef) {}
+  constructor(
+    public statusService: StatusService,
+    private cdr: ChangeDetectorRef
+  ) {}
 }
diff --git 
a/flink-runtime-web/web-dashboard/src/app/components/configuration-cards/configuration-cards.component.less
 
b/flink-runtime-web/web-dashboard/src/app/components/configuration-cards/configuration-cards.component.less
index 31e7f062ece..45a2747b5bf 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/components/configuration-cards/configuration-cards.component.less
+++ 
b/flink-runtime-web/web-dashboard/src/app/components/configuration-cards/configuration-cards.component.less
@@ -30,8 +30,8 @@
   .empty {
     display: flex;
     flex: 1;
-    align-items: center;
     justify-content: center;
+    align-items: center;
   }
 
   ::ng-deep {
diff --git 
a/flink-runtime-web/web-dashboard/src/app/components/dagre/components/node/node.component.less
 
b/flink-runtime-web/web-dashboard/src/app/components/dagre/components/node/node.component.less
index 3bfbcefd696..2044f3a18e9 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/components/dagre/components/node/node.component.less
+++ 
b/flink-runtime-web/web-dashboard/src/app/components/dagre/components/node/node.component.less
@@ -74,7 +74,8 @@
 
     &.pending {
       border: none;
-      background: linear-gradient(to right, #000 50%, #fff 0%) top/20px 1px 
repeat-x,
+      background:
+        linear-gradient(to right, #000 50%, #fff 0%) top/20px 1px repeat-x,
         /* top */ linear-gradient(#000 50%, #fff 0%) right/1px 20px repeat-y,
         /* right */ linear-gradient(to right, #000 50%, #fff 0%) bottom/20px 
1px repeat-x,
         /* bottom */ linear-gradient(#000 50%, #fff 0%) left/1px 20px 
repeat-y; /* left */
diff --git 
a/flink-runtime-web/web-dashboard/src/app/components/dagre/components/node/node.component.ts
 
b/flink-runtime-web/web-dashboard/src/app/components/dagre/components/node/node.component.ts
index b3e72a60ef2..2ae04d884cb 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/components/dagre/components/node/node.component.ts
+++ 
b/flink-runtime-web/web-dashboard/src/app/components/dagre/components/node/node.component.ts
@@ -129,10 +129,10 @@ export class NodeComponent {
       (f[3] > -1 && t[3] > -1
         ? Math.round(((t[3] - f[3]) * p + f[3]) * 255)
         : t[3] > -1
-        ? Math.round(t[3] * 255)
-        : f[3] > -1
-        ? Math.round(f[3] * 255)
-        : 255) *
+          ? Math.round(t[3] * 255)
+          : f[3] > -1
+            ? Math.round(f[3] * 255)
+            : 255) *
         0x1000000 +
       Math.round((t[0] - f[0]) * p + f[0]) * 0x10000 +
       Math.round((t[1] - f[1]) * p + f[1]) * 0x100 +
diff --git 
a/flink-runtime-web/web-dashboard/src/app/components/dagre/components/svg-container/svg-container.component.ts
 
b/flink-runtime-web/web-dashboard/src/app/components/dagre/components/svg-container/svg-container.component.ts
index 0a2991c5596..bcf630832b4 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/components/dagre/components/svg-container/svg-container.component.ts
+++ 
b/flink-runtime-web/web-dashboard/src/app/components/dagre/components/svg-container/svg-container.component.ts
@@ -70,7 +70,10 @@ export class SvgContainerComponent implements OnInit, 
AfterContentInit {
       .call(this.zoomController.transform, transform);
   }
 
-  constructor(private readonly el: ElementRef, private cdr: ChangeDetectorRef) 
{}
+  constructor(
+    private readonly el: ElementRef,
+    private cdr: ChangeDetectorRef
+  ) {}
 
   public ngOnInit(): void {
     this.svgSelect = select(this.svgContainer.nativeElement);
diff --git 
a/flink-runtime-web/web-dashboard/src/app/components/dagre/dagre.component.ts 
b/flink-runtime-web/web-dashboard/src/app/components/dagre/dagre.component.ts
index 0567f85f603..a053ced9b1d 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/components/dagre/dagre.component.ts
+++ 
b/flink-runtime-web/web-dashboard/src/app/components/dagre/dagre.component.ts
@@ -391,7 +391,11 @@ export class DagreComponent extends NzGraph {
     this.cd.detectChanges();
   }
 
-  constructor(protected cd: ChangeDetectorRef, protected zone: NgZone, private 
elementRef: ElementRef) {
+  constructor(
+    protected cd: ChangeDetectorRef,
+    protected zone: NgZone,
+    private elementRef: ElementRef
+  ) {
     super();
   }
 }
diff --git 
a/flink-runtime-web/web-dashboard/src/app/components/editor/auto-resize.directive.ts
 
b/flink-runtime-web/web-dashboard/src/app/components/editor/auto-resize.directive.ts
index daa3db80824..8a40efa0ed8 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/components/editor/auto-resize.directive.ts
+++ 
b/flink-runtime-web/web-dashboard/src/app/components/editor/auto-resize.directive.ts
@@ -29,7 +29,10 @@ export class AutoResizeDirective implements OnDestroy, 
OnInit {
   private destroy$ = new Subject<void>();
   hiddenMinimap = false;
 
-  constructor(private elementRef: ElementRef<HTMLElement>, private 
nzCodeEditorComponent: NzCodeEditorComponent) {}
+  constructor(
+    private elementRef: ElementRef<HTMLElement>,
+    private nzCodeEditorComponent: NzCodeEditorComponent
+  ) {}
 
   public ngOnInit(): void {
     this.createResizeObserver()
diff --git 
a/flink-runtime-web/web-dashboard/src/app/components/job-chart/job-chart.component.ts
 
b/flink-runtime-web/web-dashboard/src/app/components/job-chart/job-chart.component.ts
index 02ffa91b6a1..559723335f4 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/components/job-chart/job-chart.component.ts
+++ 
b/flink-runtime-web/web-dashboard/src/app/components/job-chart/job-chart.component.ts
@@ -97,7 +97,10 @@ export class JobChartComponent implements AfterViewInit, 
OnDestroy {
     this.closed.emit(this.title);
   }
 
-  constructor(private cdr: ChangeDetectorRef, private jobChartService: 
JobChartService) {}
+  constructor(
+    private cdr: ChangeDetectorRef,
+    private jobChartService: JobChartService
+  ) {}
 
   ngAfterViewInit(): void {
     this.cdr.detach();
diff --git 
a/flink-runtime-web/web-dashboard/src/app/components/navigation/navigation.component.ts
 
b/flink-runtime-web/web-dashboard/src/app/components/navigation/navigation.component.ts
index 315a912e8b4..c066f129d92 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/components/navigation/navigation.component.ts
+++ 
b/flink-runtime-web/web-dashboard/src/app/components/navigation/navigation.component.ts
@@ -42,7 +42,11 @@ export class NavigationComponent implements OnInit, 
OnDestroy {
     this.router.navigate([path], { relativeTo: this.activatedRoute }).then();
   }
 
-  constructor(private activatedRoute: ActivatedRoute, private router: Router, 
private cdr: ChangeDetectorRef) {}
+  constructor(
+    private activatedRoute: ActivatedRoute,
+    private router: Router,
+    private cdr: ChangeDetectorRef
+  ) {}
 
   ngOnInit(): void {
     this.router.events
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/application/application-detail/status/application-status.component.less
 
b/flink-runtime-web/web-dashboard/src/app/pages/application/application-detail/status/application-status.component.less
index 5407b3ea19c..8e27dd6f6d6 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/application/application-detail/status/application-status.component.less
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/application/application-detail/status/application-status.component.less
@@ -39,8 +39,8 @@
       &:hover {
         border-color: @error-color;
         background-color: @error-color;
-        color: #fff;
         box-shadow: 0 2px 6px fade(@error-color, 30%);
+        color: #fff;
       }
     }
   }
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/application/modules/running-application/running-application.guard.ts
 
b/flink-runtime-web/web-dashboard/src/app/pages/application/modules/running-application/running-application.guard.ts
index e5d37527c5f..10cecc8e6c8 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/application/modules/running-application/running-application.guard.ts
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/application/modules/running-application/running-application.guard.ts
@@ -27,7 +27,10 @@ import { ApplicationService } from 
'@flink-runtime-web/services';
   providedIn: 'root'
 })
 export class RunningApplicationGuard implements CanActivate {
-  constructor(private readonly applicationService: ApplicationService, private 
router: Router) {}
+  constructor(
+    private readonly applicationService: ApplicationService,
+    private router: Router
+  ) {}
 
   canActivate(
     route: ActivatedRouteSnapshot,
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/application/overview/application-overview.component.ts
 
b/flink-runtime-web/web-dashboard/src/app/pages/application/overview/application-overview.component.ts
index 37428acbf23..6aee0a33bea 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/application/overview/application-overview.component.ts
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/application/overview/application-overview.component.ts
@@ -37,7 +37,10 @@ export class ApplicationOverviewComponent implements OnInit, 
OnDestroy {
 
   private readonly destroy$ = new Subject<void>();
 
-  constructor(private readonly applicationLocalService: 
ApplicationLocalService, private router: Router) {}
+  constructor(
+    private readonly applicationLocalService: ApplicationLocalService,
+    private router: Router
+  ) {}
 
   public ngOnInit(): void {
     this.jobData$ = 
this.applicationLocalService.applicationDetailChanges().pipe(
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/job-manager/configuration/job-manager-configuration.component.ts
 
b/flink-runtime-web/web-dashboard/src/app/pages/job-manager/configuration/job-manager-configuration.component.ts
index 1e9ec89f665..3d58904de62 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/job-manager/configuration/job-manager-configuration.component.ts
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/job-manager/configuration/job-manager-configuration.component.ts
@@ -41,7 +41,10 @@ export class JobManagerConfigurationComponent implements 
OnInit, OnDestroy {
     return value.key;
   };
 
-  constructor(private readonly jobManagerService: JobManagerService, private 
readonly cdr: ChangeDetectorRef) {}
+  constructor(
+    private readonly jobManagerService: JobManagerService,
+    private readonly cdr: ChangeDetectorRef
+  ) {}
 
   ngOnInit(): void {
     forkJoin([
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/job-manager/log-detail/job-manager-log-detail.component.less
 
b/flink-runtime-web/web-dashboard/src/app/pages/job-manager/log-detail/job-manager-log-detail.component.less
index 771c19631d3..3209af31c45 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/job-manager/log-detail/job-manager-log-detail.component.less
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/job-manager/log-detail/job-manager-log-detail.component.less
@@ -25,10 +25,7 @@
 
   &.full-screen {
     position: fixed;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    left: 0;
+    inset: 0;
     z-index: 99;
     background: @component-background;
   }
@@ -39,10 +36,7 @@
 
     nz-code-editor {
       position: absolute;
-      top: 0;
-      right: 0;
-      bottom: 0;
-      left: 0;
+      inset: 0;
     }
   }
 
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/job-manager/logs/job-manager-logs.component.less
 
b/flink-runtime-web/web-dashboard/src/app/pages/job-manager/logs/job-manager-logs.component.less
index fb7b221017e..4cf7fe26e6b 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/job-manager/logs/job-manager-logs.component.less
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/job-manager/logs/job-manager-logs.component.less
@@ -23,9 +23,6 @@
 
   nz-code-editor {
     position: absolute;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    left: 0;
+    inset: 0;
   }
 }
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/job-manager/stdout/job-manager-stdout.component.less
 
b/flink-runtime-web/web-dashboard/src/app/pages/job-manager/stdout/job-manager-stdout.component.less
index fb7b221017e..4cf7fe26e6b 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/job-manager/stdout/job-manager-stdout.component.less
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/job-manager/stdout/job-manager-stdout.component.less
@@ -23,9 +23,6 @@
 
   nz-code-editor {
     position: absolute;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    left: 0;
+    inset: 0;
   }
 }
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/job-manager/thread-dump/job-manager-thread-dump.component.less
 
b/flink-runtime-web/web-dashboard/src/app/pages/job-manager/thread-dump/job-manager-thread-dump.component.less
index fb011b9457d..d43b64680c6 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/job-manager/thread-dump/job-manager-thread-dump.component.less
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/job-manager/thread-dump/job-manager-thread-dump.component.less
@@ -22,9 +22,6 @@
 
   nz-code-editor {
     position: absolute;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    left: 0;
+    inset: 0;
   }
 }
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/job/checkpoints/subtask/job-checkpoints-subtask.component.ts
 
b/flink-runtime-web/web-dashboard/src/app/pages/job/checkpoints/subtask/job-checkpoints-subtask.component.ts
index d80d1003111..27d3fd4d133 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/job/checkpoints/subtask/job-checkpoints-subtask.component.ts
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/job/checkpoints/subtask/job-checkpoints-subtask.component.ts
@@ -135,8 +135,7 @@ export class JobCheckpointsSubtaskComponent implements 
OnInit, OnChanges, OnDest
           ) {
             map.set(obj.subtask, obj);
             return map;
-          },
-          new Map());
+          }, new Map());
           this.subTaskCheckPoint = checkpointSubTasks;
           this.listOfSubTaskCheckPoint = (checkpointSubTasks && 
checkpointSubTasks.subtasks) || [];
           this.isLoading = false;
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/job/exceptions/job-exceptions.component.less
 
b/flink-runtime-web/web-dashboard/src/app/pages/job/exceptions/job-exceptions.component.less
index 56008210d58..3b94660f926 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/job/exceptions/job-exceptions.component.less
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/job/exceptions/job-exceptions.component.less
@@ -53,10 +53,10 @@
 
       nz-tag {
         max-width: 100%;
-        white-space: normal;
-        word-break: break-all;
         height: auto;
         line-height: 1.4;
+        white-space: normal;
+        word-break: break-all;
       }
     }
   }
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/job/job-detail/status/job-status.component.less
 
b/flink-runtime-web/web-dashboard/src/app/pages/job/job-detail/status/job-status.component.less
index 6302cfaaad8..13774a2540f 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/job/job-detail/status/job-status.component.less
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/job/job-detail/status/job-status.component.less
@@ -39,8 +39,8 @@
       &:hover {
         border-color: @error-color;
         background-color: @error-color;
-        color: #fff;
         box-shadow: 0 2px 6px fade(@error-color, 30%);
+        color: #fff;
       }
     }
   }
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/job/modules/completed-job/cluster-config.guard.ts
 
b/flink-runtime-web/web-dashboard/src/app/pages/job/modules/completed-job/cluster-config.guard.ts
index 3a52f820d85..e4882cfed17 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/job/modules/completed-job/cluster-config.guard.ts
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/job/modules/completed-job/cluster-config.guard.ts
@@ -26,7 +26,10 @@ import { StatusService } from '@flink-runtime-web/services';
   providedIn: 'root'
 })
 export class ClusterConfigGuard {
-  constructor(private statusService: StatusService, private router: Router) {}
+  constructor(
+    private statusService: StatusService,
+    private router: Router
+  ) {}
 
   canActivate(
     route: ActivatedRouteSnapshot,
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/job/modules/running-job/running-job.guard.ts
 
b/flink-runtime-web/web-dashboard/src/app/pages/job/modules/running-job/running-job.guard.ts
index ed5d3da2f98..cb2fdb47291 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/job/modules/running-job/running-job.guard.ts
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/job/modules/running-job/running-job.guard.ts
@@ -27,7 +27,10 @@ import { JobService } from '@flink-runtime-web/services';
   providedIn: 'root'
 })
 export class RunningJobGuard implements CanActivate {
-  constructor(private readonly jobService: JobService, private router: Router) 
{}
+  constructor(
+    private readonly jobService: JobService,
+    private router: Router
+  ) {}
 
   canActivate(
     route: ActivatedRouteSnapshot,
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/job/overview/detail/job-overview-drawer-detail.component.less
 
b/flink-runtime-web/web-dashboard/src/app/pages/job/overview/detail/job-overview-drawer-detail.component.less
index 30f12dc52d5..22b938b8fd5 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/job/overview/detail/job-overview-drawer-detail.component.less
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/job/overview/detail/job-overview-drawer-detail.component.less
@@ -43,7 +43,7 @@
     dl {
       display: grid;
       grid-template-columns: auto 1fr;
-      grid-gap: 0.75rem 2rem;
+      gap: 0.75rem 2rem;
       margin-bottom: 0;
       padding: @padding-lg;
       font-size: @font-size-sm;
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/submit/submit.component.less 
b/flink-runtime-web/web-dashboard/src/app/pages/submit/submit.component.less
index 0748e2bda58..86bf6f811d3 100644
--- a/flink-runtime-web/web-dashboard/src/app/pages/submit/submit.component.less
+++ b/flink-runtime-web/web-dashboard/src/app/pages/submit/submit.component.less
@@ -51,10 +51,7 @@
 
 flink-dagre {
   position: absolute;
-  top: 60px;
-  right: 0;
-  bottom: 0;
-  left: 0;
+  inset: 60px 0 0;
 }
 
 ::ng-deep .ant-form-inline .ant-form-item {
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/task-manager/log-detail/task-manager-log-detail.component.less
 
b/flink-runtime-web/web-dashboard/src/app/pages/task-manager/log-detail/task-manager-log-detail.component.less
index c6de73829ea..843abd1d426 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/task-manager/log-detail/task-manager-log-detail.component.less
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/task-manager/log-detail/task-manager-log-detail.component.less
@@ -23,10 +23,7 @@
 
   &.full-screen {
     position: fixed;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    left: 0;
+    inset: 0;
     z-index: 99;
     background: @component-background;
   }
@@ -37,10 +34,7 @@
 
     nz-code-editor {
       position: absolute;
-      top: 0;
-      right: 0;
-      bottom: 0;
-      left: 0;
+      inset: 0;
     }
   }
 
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/task-manager/logs/task-manager-logs.component.less
 
b/flink-runtime-web/web-dashboard/src/app/pages/task-manager/logs/task-manager-logs.component.less
index 6c0746edfc5..a18d00d9740 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/task-manager/logs/task-manager-logs.component.less
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/task-manager/logs/task-manager-logs.component.less
@@ -24,9 +24,6 @@
 
   nz-code-editor {
     position: absolute;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    left: 0;
+    inset: 0;
   }
 }
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/task-manager/metrics/task-manager-metrics.component.html
 
b/flink-runtime-web/web-dashboard/src/app/pages/task-manager/metrics/task-manager-metrics.component.html
index 07f735be986..fdc16301270 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/task-manager/metrics/task-manager-metrics.component.html
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/task-manager/metrics/task-manager-metrics.component.html
@@ -312,8 +312,8 @@
         "
         nzStatus="normal"
       ></nz-progress>
-      {{ detail?.freeResource[property] | number }} /
-      {{ detail?.totalResource[property] | number }} {{ unit }}
+      {{ detail?.freeResource[property] | number }} / {{ 
detail?.totalResource[property] | number }}
+      {{ unit }}
     </td>
   </tr>
 </ng-template>
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/task-manager/stdout/task-manager-stdout.component.less
 
b/flink-runtime-web/web-dashboard/src/app/pages/task-manager/stdout/task-manager-stdout.component.less
index 8d972571a86..40ccd6ae0e6 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/task-manager/stdout/task-manager-stdout.component.less
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/task-manager/stdout/task-manager-stdout.component.less
@@ -23,9 +23,6 @@
 
   nz-code-editor {
     position: absolute;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    left: 0;
+    inset: 0;
   }
 }
diff --git 
a/flink-runtime-web/web-dashboard/src/app/pages/task-manager/thread-dump/task-manager-thread-dump.component.less
 
b/flink-runtime-web/web-dashboard/src/app/pages/task-manager/thread-dump/task-manager-thread-dump.component.less
index fb011b9457d..d43b64680c6 100644
--- 
a/flink-runtime-web/web-dashboard/src/app/pages/task-manager/thread-dump/task-manager-thread-dump.component.less
+++ 
b/flink-runtime-web/web-dashboard/src/app/pages/task-manager/thread-dump/task-manager-thread-dump.component.less
@@ -22,9 +22,6 @@
 
   nz-code-editor {
     position: absolute;
-    top: 0;
-    right: 0;
-    bottom: 0;
-    left: 0;
+    inset: 0;
   }
 }
diff --git 
a/flink-runtime-web/web-dashboard/src/app/services/application.service.ts 
b/flink-runtime-web/web-dashboard/src/app/services/application.service.ts
index 9a2394f3835..fd9d97b042c 100644
--- a/flink-runtime-web/web-dashboard/src/app/services/application.service.ts
+++ b/flink-runtime-web/web-dashboard/src/app/services/application.service.ts
@@ -36,7 +36,10 @@ import { ConfigService } from './config.service';
   providedIn: 'root'
 })
 export class ApplicationService {
-  constructor(private readonly httpClient: HttpClient, private readonly 
configService: ConfigService) {}
+  constructor(
+    private readonly httpClient: HttpClient,
+    private readonly configService: ConfigService
+  ) {}
 
   public cancelApplication(applicationId: string): Observable<void> {
     return 
this.httpClient.post<void>(`${this.configService.BASE_URL}/applications/${applicationId}/cancel`,
 {});
diff --git a/flink-runtime-web/web-dashboard/src/app/services/jar.service.ts 
b/flink-runtime-web/web-dashboard/src/app/services/jar.service.ts
index 80877c53eb0..b42090bbb73 100644
--- a/flink-runtime-web/web-dashboard/src/app/services/jar.service.ts
+++ b/flink-runtime-web/web-dashboard/src/app/services/jar.service.ts
@@ -29,7 +29,10 @@ import { ConfigService } from './config.service';
   providedIn: 'root'
 })
 export class JarService {
-  constructor(private readonly httpClient: HttpClient, private readonly 
configService: ConfigService) {}
+  constructor(
+    private readonly httpClient: HttpClient,
+    private readonly configService: ConfigService
+  ) {}
 
   public loadJarList(): Observable<JarList> {
     return 
this.httpClient.get<JarList>(`${this.configService.BASE_URL}/jars`).pipe(
diff --git 
a/flink-runtime-web/web-dashboard/src/app/services/job-manager.service.ts 
b/flink-runtime-web/web-dashboard/src/app/services/job-manager.service.ts
index 7a3525b6eb0..52064a87081 100644
--- a/flink-runtime-web/web-dashboard/src/app/services/job-manager.service.ts
+++ b/flink-runtime-web/web-dashboard/src/app/services/job-manager.service.ts
@@ -38,7 +38,10 @@ import { ConfigService } from './config.service';
   providedIn: 'root'
 })
 export class JobManagerService {
-  constructor(private readonly httpClient: HttpClient, private readonly 
configService: ConfigService) {}
+  constructor(
+    private readonly httpClient: HttpClient,
+    private readonly configService: ConfigService
+  ) {}
 
   loadConfig(): Observable<ClusterConfiguration[]> {
     return 
this.httpClient.get<ClusterConfiguration[]>(`${this.configService.BASE_URL}/jobmanager/config`);
diff --git a/flink-runtime-web/web-dashboard/src/app/services/job.service.ts 
b/flink-runtime-web/web-dashboard/src/app/services/job.service.ts
index 4bcabff12ac..0250f051a67 100644
--- a/flink-runtime-web/web-dashboard/src/app/services/job.service.ts
+++ b/flink-runtime-web/web-dashboard/src/app/services/job.service.ts
@@ -58,7 +58,10 @@ import { ConfigService } from './config.service';
   providedIn: 'root'
 })
 export class JobService {
-  constructor(private readonly httpClient: HttpClient, private readonly 
configService: ConfigService) {}
+  constructor(
+    private readonly httpClient: HttpClient,
+    private readonly configService: ConfigService
+  ) {}
 
   /**
    * Uses the non REST-compliant GET yarn-cancel handler which is available in 
addition to the
diff --git 
a/flink-runtime-web/web-dashboard/src/app/services/metrics.service.ts 
b/flink-runtime-web/web-dashboard/src/app/services/metrics.service.ts
index 75e1329ef48..cb420159e8e 100644
--- a/flink-runtime-web/web-dashboard/src/app/services/metrics.service.ts
+++ b/flink-runtime-web/web-dashboard/src/app/services/metrics.service.ts
@@ -35,7 +35,10 @@ import { ConfigService } from './config.service';
   providedIn: 'root'
 })
 export class MetricsService {
-  constructor(private readonly httpClient: HttpClient, private readonly 
configService: ConfigService) {}
+  constructor(
+    private readonly httpClient: HttpClient,
+    private readonly configService: ConfigService
+  ) {}
 
   public loadAllAvailableMetrics(jobId: string, vertexId: string): 
Observable<JobMetric[]> {
     return this.httpClient
diff --git 
a/flink-runtime-web/web-dashboard/src/app/services/overview.service.ts 
b/flink-runtime-web/web-dashboard/src/app/services/overview.service.ts
index a5b80113252..eb79ad3df61 100644
--- a/flink-runtime-web/web-dashboard/src/app/services/overview.service.ts
+++ b/flink-runtime-web/web-dashboard/src/app/services/overview.service.ts
@@ -29,7 +29,10 @@ import { ConfigService } from './config.service';
   providedIn: 'root'
 })
 export class OverviewService {
-  constructor(private readonly httpClient: HttpClient, private readonly 
configService: ConfigService) {}
+  constructor(
+    private readonly httpClient: HttpClient,
+    private readonly configService: ConfigService
+  ) {}
 
   public loadOverview(): Observable<Overview> {
     return 
this.httpClient.get<Overview>(`${this.configService.BASE_URL}/overview`).pipe(catchError(()
 => EMPTY));
diff --git 
a/flink-runtime-web/web-dashboard/src/app/services/task-manager.service.ts 
b/flink-runtime-web/web-dashboard/src/app/services/task-manager.service.ts
index 3a8c3227ddc..b5ece679d03 100644
--- a/flink-runtime-web/web-dashboard/src/app/services/task-manager.service.ts
+++ b/flink-runtime-web/web-dashboard/src/app/services/task-manager.service.ts
@@ -39,7 +39,10 @@ import { ConfigService } from './config.service';
   providedIn: 'root'
 })
 export class TaskManagerService {
-  constructor(private readonly httpClient: HttpClient, private readonly 
configService: ConfigService) {}
+  constructor(
+    private readonly httpClient: HttpClient,
+    private readonly configService: ConfigService
+  ) {}
 
   loadManagers(): Observable<TaskManagersItem[]> {
     return 
this.httpClient.get<TaskManagerList>(`${this.configService.BASE_URL}/taskmanagers`).pipe(
diff --git a/flink-runtime-web/web-dashboard/src/index.html 
b/flink-runtime-web/web-dashboard/src/index.html
index 150177c5072..1a5f106951c 100644
--- a/flink-runtime-web/web-dashboard/src/index.html
+++ b/flink-runtime-web/web-dashboard/src/index.html
@@ -16,7 +16,7 @@
   ~ limitations under the License.
   -->
 
-<!DOCTYPE html>
+<!doctype html>
 <html lang="en">
   <head>
     <meta charset="utf-8" />

Reply via email to