Index: frontend/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/LICENSE
===================================================================
--- frontend/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/LICENSE	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/LICENSE	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,22 @@
+MIT License
+
+Copyright (c) 2014-present Sebastian McKenzie and other contributors
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Index: frontend/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/README.md
===================================================================
--- frontend/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/README.md	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/README.md	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,19 @@
+# @babel/plugin-bugfix-firefox-class-in-computed-class-key
+
+> Wraps classes defined in computed keys of other classes affected by https://bugzilla.mozilla.org/show_bug.cgi?id=1887677
+
+See our website [@babel/plugin-bugfix-firefox-class-in-computed-class-key](https://babeljs.io/docs/babel-plugin-bugfix-firefox-class-in-computed-class-key) for more information.
+
+## Install
+
+Using npm:
+
+```sh
+npm install --save-dev @babel/plugin-bugfix-firefox-class-in-computed-class-key
+```
+
+or using yarn:
+
+```sh
+yarn add @babel/plugin-bugfix-firefox-class-in-computed-class-key --dev
+```
Index: frontend/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/lib/index.js
===================================================================
--- frontend/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/lib/index.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/lib/index.js	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,79 @@
+"use strict";
+
+Object.defineProperty(exports, "__esModule", {
+  value: true
+});
+exports.default = void 0;
+var _traverse = require("@babel/traverse");
+var _helperPluginUtils = require("@babel/helper-plugin-utils");
+var _default = exports.default = (0, _helperPluginUtils.declare)(({
+  types: t,
+  assertVersion
+}) => {
+  assertVersion(7);
+  const containsClassExpressionVisitor = {
+    ClassExpression(path, state) {
+      state.found = true;
+      path.stop();
+    },
+    Function(path) {
+      path.skip();
+    }
+  };
+  const containsYieldOrAwaitVisitor = _traverse.visitors.environmentVisitor({
+    YieldExpression(path, state) {
+      state.yield = true;
+      if (state.await) path.stop();
+    },
+    AwaitExpression(path, state) {
+      state.await = true;
+      if (state.yield) path.stop();
+    }
+  });
+  function containsClassExpression(path) {
+    if (t.isClassExpression(path.node)) return true;
+    if (t.isFunction(path.node)) return false;
+    const state = {
+      found: false
+    };
+    {
+      path.traverse(containsClassExpressionVisitor, state);
+    }
+    return state.found;
+  }
+  function wrap(path) {
+    const context = {
+      yield: t.isYieldExpression(path.node),
+      await: t.isAwaitExpression(path.node)
+    };
+    {
+      path.traverse(containsYieldOrAwaitVisitor, context);
+    }
+    let replacement;
+    if (context.yield) {
+      const fn = t.functionExpression(null, [], t.blockStatement([t.returnStatement(path.node)]), true, context.await);
+      replacement = t.yieldExpression(t.callExpression(t.memberExpression(fn, t.identifier("call")), [t.thisExpression(), t.identifier("arguments")]), true);
+    } else {
+      const fn = t.arrowFunctionExpression([], path.node, context.await);
+      replacement = t.callExpression(fn, []);
+      if (context.await) replacement = t.awaitExpression(replacement);
+    }
+    path.replaceWith(replacement);
+  }
+  return {
+    name: "bugfix-firefox-class-in-computed-class-key",
+    visitor: {
+      Class(path) {
+        const hasPrivateElement = path.node.body.body.some(node => t.isPrivate(node));
+        if (!hasPrivateElement) return;
+        for (const elem of path.get("body.body")) {
+          if ("computed" in elem.node && elem.node.computed && containsClassExpression(elem.get("key"))) {
+            wrap(elem.get("key"));
+          }
+        }
+      }
+    }
+  };
+});
+
+//# sourceMappingURL=index.js.map
Index: frontend/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/lib/index.js.map
===================================================================
--- frontend/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/lib/index.js.map	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/lib/index.js.map	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,1 @@
+{"version":3,"names":["_traverse","require","_helperPluginUtils","_default","exports","default","declare","types","t","assertVersion","containsClassExpressionVisitor","ClassExpression","path","state","found","stop","Function","skip","containsYieldOrAwaitVisitor","visitors","environmentVisitor","YieldExpression","yield","await","AwaitExpression","containsClassExpression","isClassExpression","node","isFunction","traverse","wrap","context","isYieldExpression","isAwaitExpression","replacement","fn","functionExpression","blockStatement","returnStatement","yieldExpression","callExpression","memberExpression","identifier","thisExpression","arrowFunctionExpression","awaitExpression","replaceWith","name","visitor","Class","hasPrivateElement","body","some","isPrivate","elem","get","computed"],"sources":["../src/index.ts"],"sourcesContent":["import type { types as t, NodePath, Visitor } from \"@babel/core\";\nimport { visitors } from \"@babel/traverse\";\nimport { declare } from \"@babel/helper-plugin-utils\";\n\nexport default declare(({ types: t, assertVersion }) => {\n  assertVersion(REQUIRED_VERSION(7));\n\n  const containsClassExpressionVisitor: Visitor<{ found: boolean }> = {\n    ClassExpression(path, state) {\n      state.found = true;\n      path.stop();\n    },\n    Function(path) {\n      path.skip();\n    },\n  };\n\n  const containsYieldOrAwaitVisitor = visitors.environmentVisitor<{\n    yield: boolean;\n    await: boolean;\n  }>({\n    YieldExpression(path, state) {\n      state.yield = true;\n      if (state.await) path.stop();\n    },\n    AwaitExpression(path, state) {\n      state.await = true;\n      if (state.yield) path.stop();\n    },\n  });\n\n  function containsClassExpression(path: NodePath<t.Node>) {\n    if (t.isClassExpression(path.node)) return true;\n    if (t.isFunction(path.node)) return false;\n    const state = { found: false };\n    if (process.env.BABEL_8_BREAKING) {\n      t.traverseFast(path.node, node => {\n        if (t.isClassExpression(node)) {\n          state.found = true;\n          return t.traverseFast.stop;\n        } else if (t.isFunction(node)) {\n          return t.traverseFast.skip;\n        }\n      });\n    } else {\n      path.traverse(containsClassExpressionVisitor, state);\n    }\n    return state.found;\n  }\n\n  function wrap(path: NodePath<t.Expression>) {\n    const context = {\n      yield: t.isYieldExpression(path.node),\n      await: t.isAwaitExpression(path.node),\n    };\n    if (process.env.BABEL_8_BREAKING) {\n      t.traverseFast(path.node, node => {\n        if (t.isYieldExpression(node)) {\n          context.yield = true;\n          if (context.await) return t.traverseFast.stop;\n        } else if (t.isAwaitExpression(node)) {\n          context.await = true;\n          if (context.yield) return t.traverseFast.stop;\n        }\n      });\n    } else {\n      path.traverse(containsYieldOrAwaitVisitor, context);\n    }\n\n    let replacement;\n\n    if (context.yield) {\n      const fn = t.functionExpression(\n        null,\n        [],\n        t.blockStatement([t.returnStatement(path.node)]),\n        /* generator */ true,\n        /* async */ context.await,\n      );\n\n      replacement = t.yieldExpression(\n        t.callExpression(t.memberExpression(fn, t.identifier(\"call\")), [\n          t.thisExpression(),\n          // NOTE: In some context arguments is invalid (it might not be defined\n          // in the top-level scope, or it's a syntax error in static class blocks).\n          // However, `yield` is also invalid in those contexts, so we can safely\n          // inject a reference to arguments.\n          t.identifier(\"arguments\"),\n        ]),\n        true,\n      );\n    } else {\n      const fn = t.arrowFunctionExpression([], path.node, context.await);\n\n      replacement = t.callExpression(fn, []);\n      if (context.await) replacement = t.awaitExpression(replacement);\n    }\n\n    path.replaceWith(replacement);\n  }\n\n  return {\n    name: \"bugfix-firefox-class-in-computed-class-key\",\n\n    visitor: {\n      Class(path) {\n        const hasPrivateElement = path.node.body.body.some(node =>\n          t.isPrivate(node),\n        );\n        if (!hasPrivateElement) return;\n\n        for (const elem of path.get(\"body.body\")) {\n          if (\n            \"computed\" in elem.node &&\n            elem.node.computed &&\n            containsClassExpression(elem.get(\"key\"))\n          ) {\n            wrap(\n              // @ts-expect-error .key also includes t.PrivateName\n              elem.get(\"key\") satisfies NodePath<t.Expression>,\n            );\n          }\n        }\n      },\n    },\n  };\n});\n"],"mappings":"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","ignoreList":[]}
Index: frontend/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/package.json
===================================================================
--- frontend/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/package.json	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
+++ frontend/node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key/package.json	(revision 9af201e94b5a79beb92a30858fc54de4bc3b9449)
@@ -0,0 +1,43 @@
+{
+  "name": "@babel/plugin-bugfix-firefox-class-in-computed-class-key",
+  "version": "7.28.5",
+  "description": "Wraps classes defined in computed keys of other classes affected by https://bugzilla.mozilla.org/show_bug.cgi?id=1887677",
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/babel/babel.git",
+    "directory": "packages/babel-plugin-bugfix-firefox-class-in-computed-class-key"
+  },
+  "homepage": "https://babel.dev/docs/en/next/babel-plugin-bugfix-firefox-class-in-computed-class-key",
+  "license": "MIT",
+  "publishConfig": {
+    "access": "public"
+  },
+  "main": "./lib/index.js",
+  "exports": {
+    ".": {
+      "types": "./lib/index.d.ts",
+      "default": "./lib/index.js"
+    },
+    "./package.json": "./package.json"
+  },
+  "keywords": [
+    "babel-plugin",
+    "bugfix"
+  ],
+  "dependencies": {
+    "@babel/helper-plugin-utils": "^7.27.1",
+    "@babel/traverse": "^7.28.5"
+  },
+  "peerDependencies": {
+    "@babel/core": "^7.0.0"
+  },
+  "devDependencies": {
+    "@babel/core": "^7.28.5",
+    "@babel/helper-plugin-test-runner": "^7.27.1"
+  },
+  "engines": {
+    "node": ">=6.9.0"
+  },
+  "author": "The Babel Team (https://babel.dev/team)",
+  "type": "commonjs"
+}
