diff --git a/package-lock.json b/package-lock.json
index 8c81c63b..2d0c50bd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -21,7 +21,7 @@
         "@protobuf-ts/plugin": "2.9.4",
         "@types/diff": "5.2.1",
         "@types/jest": "29.5.12",
-        "@types/node": "20.14.9",
+        "@types/node": "20.14.10",
         "@types/react": "18.3.3",
         "@types/react-dom": "18.3.0",
         "@typescript-eslint/eslint-plugin": "6.21.0",
@@ -43,8 +43,8 @@
         "style-loader": "3.3.4",
         "ts-jest": "29.1.5",
         "ts-loader": "9.5.1",
-        "tsx": "4.16.0",
-        "typescript": "5.5.2",
+        "tsx": "4.16.2",
+        "typescript": "5.5.3",
         "webpack": "5.92.1",
         "webpack-cli": "4.10.0",
         "webpack-dev-server": "4.15.2"
@@ -1883,9 +1883,9 @@
       "dev": true
     },
     "node_modules/@remix-run/router": {
-      "version": "1.17.0",
-      "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.17.0.tgz",
-      "integrity": "sha512-2D6XaHEVvkCn682XBnipbJjgZUU7xjLtA4dGJRBVUKpEaDYOZMENZoZjAOSb7qirxt5RupjzZxz4fK2FO+EFPw==",
+      "version": "1.17.1",
+      "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.17.1.tgz",
+      "integrity": "sha512-mCOMec4BKd6BRGBZeSnGiIgwsbLGp3yhVqAD8H+PxiRNEHgDpZb8J1TnrSDlg97t0ySKMQJTHCWBCmBpSmkF6Q==",
       "engines": {
         "node": ">=14.0.0"
       }
@@ -2151,9 +2151,9 @@
       "dev": true
     },
     "node_modules/@types/node": {
-      "version": "20.14.9",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz",
-      "integrity": "sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==",
+      "version": "20.14.10",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz",
+      "integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==",
       "dev": true,
       "dependencies": {
         "undici-types": "~5.26.4"
@@ -9184,11 +9184,11 @@
       "dev": true
     },
     "node_modules/react-router": {
-      "version": "6.24.0",
-      "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.24.0.tgz",
-      "integrity": "sha512-sQrgJ5bXk7vbcC4BxQxeNa5UmboFm35we1AFK0VvQaz9g0LzxEIuLOhHIoZ8rnu9BO21ishGeL9no1WB76W/eg==",
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.24.1.tgz",
+      "integrity": "sha512-PTXFXGK2pyXpHzVo3rR9H7ip4lSPZZc0bHG5CARmj65fTT6qG7sTngmb6lcYu1gf3y/8KxORoy9yn59pGpCnpg==",
       "dependencies": {
-        "@remix-run/router": "1.17.0"
+        "@remix-run/router": "1.17.1"
       },
       "engines": {
         "node": ">=14.0.0"
@@ -9198,12 +9198,12 @@
       }
     },
     "node_modules/react-router-dom": {
-      "version": "6.24.0",
-      "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.24.0.tgz",
-      "integrity": "sha512-960sKuau6/yEwS8e+NVEidYQb1hNjAYM327gjEyXlc6r3Skf2vtwuJ2l7lssdegD2YjoKG5l8MsVyeTDlVeY8g==",
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.24.1.tgz",
+      "integrity": "sha512-U19KtXqooqw967Vw0Qcn5cOvrX5Ejo9ORmOtJMzYWtCT4/WOfFLIZGGsVLxcd9UkBO0mSTZtXqhZBsWlHr7+Sg==",
       "dependencies": {
-        "@remix-run/router": "1.17.0",
-        "react-router": "6.24.0"
+        "@remix-run/router": "1.17.1",
+        "react-router": "6.24.1"
       },
       "engines": {
         "node": ">=14.0.0"
@@ -10558,9 +10558,9 @@
       }
     },
     "node_modules/tsx": {
-      "version": "4.16.0",
-      "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.16.0.tgz",
-      "integrity": "sha512-MPgN+CuY+4iKxGoJNPv+1pyo5YWZAQ5XfsyobUG+zoKG7IkvCPLZDEyoIb8yLS2FcWci1nlxAqmvPlFWD5AFiQ==",
+      "version": "4.16.2",
+      "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.16.2.tgz",
+      "integrity": "sha512-C1uWweJDgdtX2x600HjaFaucXTilT7tgUZHbOE4+ypskZ1OP8CRCSDkCxG6Vya9EwaFIVagWwpaVAn5wzypaqQ==",
       "dev": true,
       "dependencies": {
         "esbuild": "~0.21.5",
@@ -10696,9 +10696,9 @@
       }
     },
     "node_modules/typescript": {
-      "version": "5.5.2",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.2.tgz",
-      "integrity": "sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==",
+      "version": "5.5.3",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz",
+      "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==",
       "dev": true,
       "bin": {
         "tsc": "bin/tsc",
@@ -12813,9 +12813,9 @@
       "dev": true
     },
     "@remix-run/router": {
-      "version": "1.17.0",
-      "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.17.0.tgz",
-      "integrity": "sha512-2D6XaHEVvkCn682XBnipbJjgZUU7xjLtA4dGJRBVUKpEaDYOZMENZoZjAOSb7qirxt5RupjzZxz4fK2FO+EFPw=="
+      "version": "1.17.1",
+      "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.17.1.tgz",
+      "integrity": "sha512-mCOMec4BKd6BRGBZeSnGiIgwsbLGp3yhVqAD8H+PxiRNEHgDpZb8J1TnrSDlg97t0ySKMQJTHCWBCmBpSmkF6Q=="
     },
     "@sinclair/typebox": {
       "version": "0.27.8",
@@ -13076,9 +13076,9 @@
       "dev": true
     },
     "@types/node": {
-      "version": "20.14.9",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz",
-      "integrity": "sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==",
+      "version": "20.14.10",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.10.tgz",
+      "integrity": "sha512-MdiXf+nDuMvY0gJKxyfZ7/6UFsETO7mGKF54MVD/ekJS6HdFtpZFBgrh6Pseu64XTb2MLyFPlbW6hj8HYRQNOQ==",
       "dev": true,
       "requires": {
         "undici-types": "~5.26.4"
@@ -18208,20 +18208,20 @@
       "dev": true
     },
     "react-router": {
-      "version": "6.24.0",
-      "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.24.0.tgz",
-      "integrity": "sha512-sQrgJ5bXk7vbcC4BxQxeNa5UmboFm35we1AFK0VvQaz9g0LzxEIuLOhHIoZ8rnu9BO21ishGeL9no1WB76W/eg==",
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.24.1.tgz",
+      "integrity": "sha512-PTXFXGK2pyXpHzVo3rR9H7ip4lSPZZc0bHG5CARmj65fTT6qG7sTngmb6lcYu1gf3y/8KxORoy9yn59pGpCnpg==",
       "requires": {
-        "@remix-run/router": "1.17.0"
+        "@remix-run/router": "1.17.1"
       }
     },
     "react-router-dom": {
-      "version": "6.24.0",
-      "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.24.0.tgz",
-      "integrity": "sha512-960sKuau6/yEwS8e+NVEidYQb1hNjAYM327gjEyXlc6r3Skf2vtwuJ2l7lssdegD2YjoKG5l8MsVyeTDlVeY8g==",
+      "version": "6.24.1",
+      "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.24.1.tgz",
+      "integrity": "sha512-U19KtXqooqw967Vw0Qcn5cOvrX5Ejo9ORmOtJMzYWtCT4/WOfFLIZGGsVLxcd9UkBO0mSTZtXqhZBsWlHr7+Sg==",
       "requires": {
-        "@remix-run/router": "1.17.0",
-        "react-router": "6.24.0"
+        "@remix-run/router": "1.17.1",
+        "react-router": "6.24.1"
       }
     },
     "readable-stream": {
@@ -19206,9 +19206,9 @@
       }
     },
     "tsx": {
-      "version": "4.16.0",
-      "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.16.0.tgz",
-      "integrity": "sha512-MPgN+CuY+4iKxGoJNPv+1pyo5YWZAQ5XfsyobUG+zoKG7IkvCPLZDEyoIb8yLS2FcWci1nlxAqmvPlFWD5AFiQ==",
+      "version": "4.16.2",
+      "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.16.2.tgz",
+      "integrity": "sha512-C1uWweJDgdtX2x600HjaFaucXTilT7tgUZHbOE4+ypskZ1OP8CRCSDkCxG6Vya9EwaFIVagWwpaVAn5wzypaqQ==",
       "dev": true,
       "requires": {
         "esbuild": "~0.21.5",
@@ -19300,9 +19300,9 @@
       }
     },
     "typescript": {
-      "version": "5.5.2",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.2.tgz",
-      "integrity": "sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==",
+      "version": "5.5.3",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz",
+      "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==",
       "dev": true
     },
     "uc.micro": {
diff --git a/package.json b/package.json
index 92076f04..e1166779 100644
--- a/package.json
+++ b/package.json
@@ -22,7 +22,7 @@
     "@protobuf-ts/plugin": "2.9.4",
     "@types/diff": "5.2.1",
     "@types/jest": "29.5.12",
-    "@types/node": "20.14.9",
+    "@types/node": "20.14.10",
     "@types/react": "18.3.3",
     "@types/react-dom": "18.3.0",
     "@typescript-eslint/eslint-plugin": "6.21.0",
@@ -44,8 +44,8 @@
     "style-loader": "3.3.4",
     "ts-jest": "29.1.5",
     "ts-loader": "9.5.1",
-    "tsx": "4.16.0",
-    "typescript": "5.5.2",
+    "tsx": "4.16.2",
+    "typescript": "5.5.3",
     "webpack": "5.92.1",
     "webpack-cli": "4.10.0",
     "webpack-dev-server": "4.15.2"