diff --git a/.github/actions/javascript/bumpVersion/index.js b/.github/actions/javascript/bumpVersion/index.js
index c8360931845a..43bd09558c26 100644
--- a/.github/actions/javascript/bumpVersion/index.js
+++ b/.github/actions/javascript/bumpVersion/index.js
@@ -1928,7 +1928,7 @@ class SemVer {
     do {
       const a = this.build[i]
       const b = other.build[i]
-      debug('build compare', i, a, b)
+      debug('prerelease compare', i, a, b)
       if (a === undefined && b === undefined) {
         return 0
       } else if (b === undefined) {
@@ -2154,10 +2154,6 @@ const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||
 // Max safe segment length for coercion.
 const MAX_SAFE_COMPONENT_LENGTH = 16
 
-// Max safe length for a build identifier. The max length minus 6 characters for
-// the shortest version with a build 0.0.0+BUILD.
-const MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6
-
 const RELEASE_TYPES = [
   'major',
   'premajor',
@@ -2171,7 +2167,6 @@ const RELEASE_TYPES = [
 module.exports = {
   MAX_LENGTH,
   MAX_SAFE_COMPONENT_LENGTH,
-  MAX_SAFE_BUILD_LENGTH,
   MAX_SAFE_INTEGER,
   RELEASE_TYPES,
   SEMVER_SPEC_VERSION,
@@ -2253,11 +2248,7 @@ module.exports = parseOptions
 /***/ 9523:
 /***/ ((module, exports, __nccwpck_require__) => {
 
-const {
-  MAX_SAFE_COMPONENT_LENGTH,
-  MAX_SAFE_BUILD_LENGTH,
-  MAX_LENGTH,
-} = __nccwpck_require__(2293)
+const { MAX_SAFE_COMPONENT_LENGTH } = __nccwpck_require__(2293)
 const debug = __nccwpck_require__(427)
 exports = module.exports = {}
 
@@ -2268,31 +2259,16 @@ const src = exports.src = []
 const t = exports.t = {}
 let R = 0
 
-const LETTERDASHNUMBER = '[a-zA-Z0-9-]'
-
-// Replace some greedy regex tokens to prevent regex dos issues. These regex are
-// used internally via the safeRe object since all inputs in this library get
-// normalized first to trim and collapse all extra whitespace. The original
-// regexes are exported for userland consumption and lower level usage. A
-// future breaking change could export the safer regex only with a note that
-// all input should have extra whitespace removed.
-const safeRegexReplacements = [
-  ['\\s', 1],
-  ['\\d', MAX_LENGTH],
-  [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH],
-]
-
-const makeSafeRegex = (value) => {
-  for (const [token, max] of safeRegexReplacements) {
-    value = value
-      .split(`${token}*`).join(`${token}{0,${max}}`)
-      .split(`${token}+`).join(`${token}{1,${max}}`)
-  }
-  return value
-}
-
 const createToken = (name, value, isGlobal) => {
-  const safe = makeSafeRegex(value)
+  // Replace all greedy whitespace to prevent regex dos issues. These regex are
+  // used internally via the safeRe object since all inputs in this library get
+  // normalized first to trim and collapse all extra whitespace. The original
+  // regexes are exported for userland consumption and lower level usage. A
+  // future breaking change could export the safer regex only with a note that
+  // all input should have extra whitespace removed.
+  const safe = value
+    .split('\\s*').join('\\s{0,1}')
+    .split('\\s+').join('\\s')
   const index = R++
   debug(name, index, value)
   t[name] = index
@@ -2308,13 +2284,13 @@ const createToken = (name, value, isGlobal) => {
 // A single `0`, or a non-zero digit followed by zero or more digits.
 
 createToken('NUMERICIDENTIFIER', '0|[1-9]\\d*')
-createToken('NUMERICIDENTIFIERLOOSE', '\\d+')
+createToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')
 
 // ## Non-numeric Identifier
 // Zero or more digits, followed by a letter or hyphen, and then zero or
 // more letters, digits, or hyphens.
 
-createToken('NONNUMERICIDENTIFIER', `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`)
+createToken('NONNUMERICIDENTIFIER', '\\d*[a-zA-Z-][a-zA-Z0-9-]*')
 
 // ## Main Version
 // Three dot-separated numeric identifiers.
@@ -2349,7 +2325,7 @@ createToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]
 // ## Build Metadata Identifier
 // Any combination of digits, letters, or hyphens.
 
-createToken('BUILDIDENTIFIER', `${LETTERDASHNUMBER}+`)
+createToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')
 
 // ## Build Metadata
 // Plus sign, followed by one or more period-separated build metadata
@@ -2409,17 +2385,12 @@ createToken('XRANGELOOSE', `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`)
 
 // Coercion.
 // Extract anything that could conceivably be a part of a valid semver
-createToken('COERCEPLAIN', `${'(^|[^\\d])' +
+createToken('COERCE', `${'(^|[^\\d])' +
               '(\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +
               `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +
-              `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`)
-createToken('COERCE', `${src[t.COERCEPLAIN]}(?:$|[^\\d])`)
-createToken('COERCEFULL', src[t.COERCEPLAIN] +
-              `(?:${src[t.PRERELEASE]})?` +
-              `(?:${src[t.BUILD]})?` +
+              `(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +
               `(?:$|[^\\d])`)
 createToken('COERCERTL', src[t.COERCE], true)
-createToken('COERCERTLFULL', src[t.COERCEFULL], true)
 
 // Tilde ranges.
 // Meaning is "reasonably at or greater than"
diff --git a/babel.config.js b/babel.config.js
index 9d7224ec4436..3721edaa7afb 100644
--- a/babel.config.js
+++ b/babel.config.js
@@ -8,7 +8,12 @@ const ReactCompilerConfig = {
         enableTreatRefLikeIdentifiersAsRefs: true,
     },
 };
-const defaultPresets = ['@babel/preset-react', '@babel/preset-env', '@babel/preset-flow', '@babel/preset-typescript'];
+/**
+ * Setting targets to node 20 to reduce JS bundle size
+ * It is also recommended by babel:
+ * https://babeljs.io/docs/options#no-targets
+ */
+const defaultPresets = ['@babel/preset-react', ['@babel/preset-env', {targets: {node: 20}}], '@babel/preset-flow', '@babel/preset-typescript'];
 const defaultPlugins = [
     ['babel-plugin-react-compiler', ReactCompilerConfig], // must run first!
     // Adding the commonjs: true option to react-native-web plugin can cause styling conflicts
diff --git a/config/webpack/webpack.common.ts b/config/webpack/webpack.common.ts
index 0640d007b960..1bab57905d0e 100644
--- a/config/webpack/webpack.common.ts
+++ b/config/webpack/webpack.common.ts
@@ -128,6 +128,13 @@ const getCommonConfiguration = ({file = '.env', platform = 'web'}: Environment):
             resourceRegExp: /^\.\/locale$/,
             contextRegExp: /moment$/,
         }),
+        ...(file === '.env.production' || file === '.env.staging'
+            ? [
+                  new IgnorePlugin({
+                      resourceRegExp: /@welldone-software\/why-did-you-render/,
+                  }),
+              ]
+            : []),
         ...(platform === 'web' ? [new CustomVersionFilePlugin()] : []),
         new DefinePlugin({
             ...(platform === 'desktop' ? {} : {process: {env: {}}}),
@@ -215,6 +222,7 @@ const getCommonConfiguration = ({file = '.env', platform = 'web'}: Environment):
     },
     resolve: {
         alias: {
+            lodash: 'lodash-es',
             // eslint-disable-next-line @typescript-eslint/naming-convention
             'react-native-config': 'react-web-config',
             // eslint-disable-next-line @typescript-eslint/naming-convention
diff --git a/package-lock.json b/package-lock.json
index d21d80353080..f0af39ce1757 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -42,7 +42,6 @@
         "@rnmapbox/maps": "10.1.30",
         "@shopify/flash-list": "1.7.1",
         "@ua/react-native-airship": "19.2.1",
-        "@vue/preload-webpack-plugin": "^2.0.0",
         "awesome-phonenumber": "^5.4.0",
         "babel-polyfill": "^6.26.0",
         "canvas-size": "^1.2.6",
@@ -60,9 +59,7 @@
         "focus-trap-react": "^10.2.3",
         "htmlparser2": "^7.2.0",
         "idb-keyval": "^6.2.1",
-        "jest-expo": "51.0.4",
-        "jest-when": "^3.5.2",
-        "lodash": "4.17.21",
+        "lodash-es": "4.17.21",
         "lottie-react-native": "6.5.1",
         "mapbox-gl": "^2.15.0",
         "onfido-sdk-ui": "14.15.0",
@@ -71,7 +68,6 @@
         "react": "18.3.1",
         "react-beautiful-dnd": "^13.1.1",
         "react-collapse": "^5.1.0",
-        "react-compiler-runtime": "file:./lib/react-compiler-runtime",
         "react-content-loader": "^7.0.0",
         "react-dom": "18.3.1",
         "react-error-boundary": "^4.0.11",
@@ -125,8 +121,7 @@
         "react-plaid-link": "3.3.2",
         "react-web-config": "^1.0.0",
         "react-webcam": "^7.1.1",
-        "semver": "^7.5.2",
-        "xlsx": "file:vendor/xlsx-0.20.3.tgz"
+        "react-window": "^1.8.9"
       },
       "devDependencies": {
         "@actions/core": "1.10.0",
@@ -149,7 +144,10 @@
         "@dword-design/eslint-plugin-import-alias": "^5.0.0",
         "@electron/notarize": "^2.1.0",
         "@fullstory/babel-plugin-annotate-react": "^2.3.0",
+        "@fullstory/babel-plugin-react-native": "^1.2.1",
         "@jest/globals": "^29.5.0",
+        "@kie/act-js": "^2.6.2",
+        "@kie/mock-github": "2.0.1",
         "@ngneat/falso": "^7.1.1",
         "@octokit/core": "4.0.4",
         "@octokit/plugin-paginate-rest": "3.1.0",
@@ -179,7 +177,7 @@
         "@types/jest": "^29.5.2",
         "@types/jest-when": "^3.5.2",
         "@types/js-yaml": "^4.0.5",
-        "@types/lodash": "^4.14.195",
+        "@types/lodash-es": "4.17.12",
         "@types/mapbox-gl": "^2.7.13",
         "@types/mime-db": "^1.43.5",
         "@types/node": "^20.11.5",
@@ -198,6 +196,7 @@
         "@typescript-eslint/eslint-plugin": "^7.13.1",
         "@typescript-eslint/parser": "^7.13.1",
         "@vercel/ncc": "0.38.1",
+        "@vue/preload-webpack-plugin": "^2.0.0",
         "@welldone-software/why-did-you-render": "7.0.1",
         "ajv-cli": "^5.0.0",
         "babel-jest": "29.4.1",
@@ -233,7 +232,9 @@
         "jest-circus": "29.4.1",
         "jest-cli": "29.4.1",
         "jest-environment-jsdom": "^29.4.1",
+        "jest-expo": "51.0.4",
         "jest-transformer-svg": "^2.0.1",
+        "jest-when": "^3.5.2",
         "link": "^2.1.1",
         "memfs": "^4.6.0",
         "onchange": "^7.1.0",
@@ -244,10 +245,12 @@
         "prettier": "^2.8.8",
         "pusher-js-mock": "^0.3.3",
         "react-compiler-healthcheck": "^0.0.0-experimental-ab3118d-20240725",
+        "react-compiler-runtime": "file:./lib/react-compiler-runtime",
         "react-is": "^18.3.1",
         "react-native-clean-project": "^4.0.0-alpha4.0",
         "react-test-renderer": "18.3.1",
         "reassure": "^1.0.0-rc.4",
+        "semver": "7.5.2",
         "setimmediate": "^1.0.5",
         "shellcheck": "^1.1.0",
         "source-map": "^0.7.4",
@@ -264,7 +267,8 @@
         "webpack-bundle-analyzer": "^4.5.0",
         "webpack-cli": "^5.0.4",
         "webpack-dev-server": "^5.0.4",
-        "webpack-merge": "^5.8.0"
+        "webpack-merge": "^5.8.0",
+        "xlsx": "file:vendor/xlsx-0.20.3.tgz"
       },
       "engines": {
         "node": "20.15.1",
@@ -273,6 +277,7 @@
     },
     "lib/react-compiler-runtime": {
       "version": "0.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "react": "18.3.1"
@@ -1440,6 +1445,7 @@
     },
     "node_modules/@babel/plugin-syntax-bigint": {
       "version": "7.8.3",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.8.0"
@@ -2837,6 +2843,7 @@
     },
     "node_modules/@bcoe/v8-coverage": {
       "version": "0.2.3",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/@blakeembrey/deque": {
@@ -3031,7 +3038,7 @@
     },
     "node_modules/@cspotcode/source-map-support": {
       "version": "0.8.1",
-      "devOptional": true,
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jridgewell/trace-mapping": "0.3.9"
@@ -3042,7 +3049,7 @@
     },
     "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": {
       "version": "0.3.9",
-      "devOptional": true,
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jridgewell/resolve-uri": "^3.0.3",
@@ -4100,6 +4107,17 @@
         "node": ">=4"
       }
     },
+    "node_modules/@expo/cli/node_modules/semver": {
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/@expo/cli/node_modules/strip-ansi": {
       "version": "5.2.0",
       "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz",
@@ -4247,6 +4265,17 @@
         "node": ">=8"
       }
     },
+    "node_modules/@expo/config-plugins/node_modules/semver": {
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/@expo/config-plugins/node_modules/supports-color": {
       "version": "7.2.0",
       "license": "MIT",
@@ -4345,6 +4374,17 @@
         "node": ">=8"
       }
     },
+    "node_modules/@expo/config/node_modules/semver": {
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/@expo/config/node_modules/supports-color": {
       "version": "7.2.0",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -4634,6 +4674,17 @@
         "node": ">=8"
       }
     },
+    "node_modules/@expo/image-utils/node_modules/semver": {
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/@expo/image-utils/node_modules/supports-color": {
       "version": "7.2.0",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -5261,6 +5312,17 @@
         "node": ">=8"
       }
     },
+    "node_modules/@expo/prebuild-config/node_modules/semver": {
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/@expo/prebuild-config/node_modules/supports-color": {
       "version": "7.2.0",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -5772,6 +5834,7 @@
     },
     "node_modules/@istanbuljs/load-nyc-config": {
       "version": "1.1.0",
+      "dev": true,
       "license": "ISC",
       "dependencies": {
         "camelcase": "^5.3.1",
@@ -5786,6 +5849,7 @@
     },
     "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": {
       "version": "5.3.1",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=6"
@@ -5793,6 +5857,7 @@
     },
     "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
       "version": "4.1.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "locate-path": "^5.0.0",
@@ -5804,6 +5869,7 @@
     },
     "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
       "version": "5.0.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "p-locate": "^4.1.0"
@@ -5814,6 +5880,7 @@
     },
     "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": {
       "version": "2.3.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "p-try": "^2.0.0"
@@ -5827,6 +5894,7 @@
     },
     "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
       "version": "4.1.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "p-limit": "^2.2.0"
@@ -5837,6 +5905,7 @@
     },
     "node_modules/@istanbuljs/load-nyc-config/node_modules/path-exists": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -5844,6 +5913,7 @@
     },
     "node_modules/@istanbuljs/schema": {
       "version": "0.1.3",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -5851,6 +5921,7 @@
     },
     "node_modules/@jest/console": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jest/types": "^29.6.3",
@@ -5866,6 +5937,7 @@
     },
     "node_modules/@jest/console/node_modules/ansi-styles": {
       "version": "4.3.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-convert": "^2.0.1"
@@ -5879,6 +5951,7 @@
     },
     "node_modules/@jest/console/node_modules/chalk": {
       "version": "4.1.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-styles": "^4.1.0",
@@ -5893,6 +5966,7 @@
     },
     "node_modules/@jest/console/node_modules/color-convert": {
       "version": "2.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-name": "~1.1.4"
@@ -5903,10 +5977,12 @@
     },
     "node_modules/@jest/console/node_modules/color-name": {
       "version": "1.1.4",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/@jest/console/node_modules/has-flag": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -5914,6 +5990,7 @@
     },
     "node_modules/@jest/console/node_modules/supports-color": {
       "version": "7.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -5924,6 +6001,7 @@
     },
     "node_modules/@jest/core": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jest/console": "^29.7.0",
@@ -5969,6 +6047,7 @@
     },
     "node_modules/@jest/core/node_modules/ansi-styles": {
       "version": "4.3.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-convert": "^2.0.1"
@@ -5982,6 +6061,7 @@
     },
     "node_modules/@jest/core/node_modules/chalk": {
       "version": "4.1.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-styles": "^4.1.0",
@@ -5996,6 +6076,7 @@
     },
     "node_modules/@jest/core/node_modules/color-convert": {
       "version": "2.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-name": "~1.1.4"
@@ -6006,10 +6087,12 @@
     },
     "node_modules/@jest/core/node_modules/color-name": {
       "version": "1.1.4",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/@jest/core/node_modules/has-flag": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -6017,6 +6100,7 @@
     },
     "node_modules/@jest/core/node_modules/supports-color": {
       "version": "7.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -6050,6 +6134,7 @@
     },
     "node_modules/@jest/expect": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "expect": "^29.7.0",
@@ -6061,6 +6146,7 @@
     },
     "node_modules/@jest/expect-utils": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "jest-get-type": "^29.6.3"
@@ -6086,6 +6172,7 @@
     },
     "node_modules/@jest/globals": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jest/environment": "^29.7.0",
@@ -6099,6 +6186,7 @@
     },
     "node_modules/@jest/reporters": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@bcoe/v8-coverage": "^0.2.3",
@@ -6140,6 +6228,7 @@
     },
     "node_modules/@jest/reporters/node_modules/ansi-styles": {
       "version": "4.3.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-convert": "^2.0.1"
@@ -6153,6 +6242,7 @@
     },
     "node_modules/@jest/reporters/node_modules/chalk": {
       "version": "4.1.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-styles": "^4.1.0",
@@ -6167,6 +6257,7 @@
     },
     "node_modules/@jest/reporters/node_modules/color-convert": {
       "version": "2.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-name": "~1.1.4"
@@ -6177,10 +6268,12 @@
     },
     "node_modules/@jest/reporters/node_modules/color-name": {
       "version": "1.1.4",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/@jest/reporters/node_modules/has-flag": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -6188,6 +6281,7 @@
     },
     "node_modules/@jest/reporters/node_modules/istanbul-lib-instrument": {
       "version": "6.0.2",
+      "dev": true,
       "license": "BSD-3-Clause",
       "dependencies": {
         "@babel/core": "^7.23.9",
@@ -6202,6 +6296,7 @@
     },
     "node_modules/@jest/reporters/node_modules/jest-worker": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@types/node": "*",
@@ -6215,6 +6310,7 @@
     },
     "node_modules/@jest/reporters/node_modules/jest-worker/node_modules/supports-color": {
       "version": "8.1.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -6226,8 +6322,21 @@
         "url": "https://github.com/chalk/supports-color?sponsor=1"
       }
     },
+    "node_modules/@jest/reporters/node_modules/semver": {
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/@jest/reporters/node_modules/supports-color": {
       "version": "7.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -6248,6 +6357,7 @@
     },
     "node_modules/@jest/source-map": {
       "version": "29.6.3",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jridgewell/trace-mapping": "^0.3.18",
@@ -6260,6 +6370,7 @@
     },
     "node_modules/@jest/test-result": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jest/console": "^29.7.0",
@@ -6273,6 +6384,7 @@
     },
     "node_modules/@jest/test-sequencer": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jest/test-result": "^29.7.0",
@@ -6286,6 +6398,7 @@
     },
     "node_modules/@jest/transform": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/core": "^7.11.6",
@@ -6310,6 +6423,7 @@
     },
     "node_modules/@jest/transform/node_modules/ansi-styles": {
       "version": "4.3.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-convert": "^2.0.1"
@@ -6323,6 +6437,7 @@
     },
     "node_modules/@jest/transform/node_modules/chalk": {
       "version": "4.1.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-styles": "^4.1.0",
@@ -6337,6 +6452,7 @@
     },
     "node_modules/@jest/transform/node_modules/color-convert": {
       "version": "2.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-name": "~1.1.4"
@@ -6347,10 +6463,12 @@
     },
     "node_modules/@jest/transform/node_modules/color-name": {
       "version": "1.1.4",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/@jest/transform/node_modules/has-flag": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -6358,6 +6476,7 @@
     },
     "node_modules/@jest/transform/node_modules/supports-color": {
       "version": "7.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -6368,6 +6487,7 @@
     },
     "node_modules/@jest/transform/node_modules/write-file-atomic": {
       "version": "4.0.2",
+      "dev": true,
       "license": "ISC",
       "dependencies": {
         "imurmurhash": "^0.1.4",
@@ -6520,6 +6640,56 @@
         "react-native": "*"
       }
     },
+    "node_modules/@kie/act-js": {
+      "version": "2.6.2",
+      "resolved": "https://registry.npmjs.org/@kie/act-js/-/act-js-2.6.2.tgz",
+      "integrity": "sha512-i366cfWluUi55rPZ6e9/aWH4tnw3Q6W1CKh9Gz6QjTvbAtS4KnUUy33I9aMXS6uwa0haw6MSahMM37vmuFCVpQ==",
+      "dev": true,
+      "hasInstallScript": true,
+      "dependencies": {
+        "@kie/mock-github": "^2.0.0",
+        "adm-zip": "^0.5.10",
+        "ajv": "^8.12.0",
+        "bin-links": "^4.0.1",
+        "express": "^4.18.1",
+        "follow-redirects": "^1.15.2",
+        "tar": "^6.1.13",
+        "yaml": "^2.1.3"
+      },
+      "bin": {
+        "act-js": "bin/act"
+      }
+    },
+    "node_modules/@kie/mock-github": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@kie/mock-github/-/mock-github-2.0.1.tgz",
+      "integrity": "sha512-G1FD/jg1KyW7a6NvKI4uEVJCK3eJnzXkh4Ikxn2is5tiNC980lavi8ak6bn1QEFEgpYcfM4DpZM3yHDfOmyLuQ==",
+      "dev": true,
+      "dependencies": {
+        "@octokit/openapi-types-ghec": "^18.0.0",
+        "ajv": "^8.11.0",
+        "express": "^4.18.1",
+        "fast-glob": "^3.2.12",
+        "fs-extra": "^10.1.0",
+        "nock": "^13.2.7",
+        "simple-git": "^3.8.0",
+        "totalist": "^3.0.0"
+      }
+    },
+    "node_modules/@kie/mock-github/node_modules/fs-extra": {
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
+      "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
+      "dev": true,
+      "dependencies": {
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^6.0.1",
+        "universalify": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=12"
+      }
+    },
     "node_modules/@kwsites/file-exists": {
       "version": "1.1.1",
       "dev": true,
@@ -6939,6 +7109,12 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/@octokit/openapi-types-ghec": {
+      "version": "18.1.1",
+      "resolved": "https://registry.npmjs.org/@octokit/openapi-types-ghec/-/openapi-types-ghec-18.1.1.tgz",
+      "integrity": "sha512-5Ri7FLYX4gJSdG+G0Q8QDca/gOLfkPN4YR2hkbVg6hEL+0N62MIsJPTyNaT9pGEXCLd1KbYV6Lh3T2ggsmyBJw==",
+      "dev": true
+    },
     "node_modules/@octokit/plugin-paginate-rest": {
       "version": "3.1.0",
       "dev": true,
@@ -13218,6 +13394,18 @@
         "node": ">= 4"
       }
     },
+    "node_modules/@storybook/core/node_modules/semver": {
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/@storybook/core/node_modules/source-map": {
       "version": "0.6.1",
       "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
@@ -15207,22 +15395,22 @@
     },
     "node_modules/@tsconfig/node10": {
       "version": "1.0.9",
-      "devOptional": true,
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/@tsconfig/node12": {
       "version": "1.0.11",
-      "devOptional": true,
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/@tsconfig/node14": {
       "version": "1.0.3",
-      "devOptional": true,
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/@tsconfig/node16": {
       "version": "1.0.4",
-      "devOptional": true,
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/@turf/along": {
@@ -15366,6 +15554,7 @@
     },
     "node_modules/@types/babel__core": {
       "version": "7.20.5",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/parser": "^7.20.7",
@@ -15377,6 +15566,7 @@
     },
     "node_modules/@types/babel__generator": {
       "version": "7.6.4",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/types": "^7.0.0"
@@ -15384,6 +15574,7 @@
     },
     "node_modules/@types/babel__template": {
       "version": "7.4.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/parser": "^7.1.0",
@@ -15392,6 +15583,7 @@
     },
     "node_modules/@types/babel__traverse": {
       "version": "7.18.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/types": "^7.3.0"
@@ -15543,6 +15735,7 @@
     },
     "node_modules/@types/graceful-fs": {
       "version": "4.1.9",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@types/node": "*"
@@ -15570,6 +15763,7 @@
     },
     "node_modules/@types/html-minifier-terser": {
       "version": "6.1.0",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/@types/http-cache-semantics": {
@@ -15632,6 +15826,7 @@
     },
     "node_modules/@types/jsdom": {
       "version": "20.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@types/node": "*",
@@ -15641,6 +15836,7 @@
     },
     "node_modules/@types/jsdom/node_modules/entities": {
       "version": "4.5.0",
+      "dev": true,
       "license": "BSD-2-Clause",
       "engines": {
         "node": ">=0.12"
@@ -15651,6 +15847,7 @@
     },
     "node_modules/@types/jsdom/node_modules/parse5": {
       "version": "7.1.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "entities": "^4.4.0"
@@ -15681,6 +15878,15 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/@types/lodash-es": {
+      "version": "4.17.12",
+      "resolved": "https://registry.npmjs.org/@types/lodash-es/-/lodash-es-4.17.12.tgz",
+      "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/lodash": "*"
+      }
+    },
     "node_modules/@types/mapbox-gl": {
       "version": "2.7.13",
       "license": "MIT",
@@ -15949,6 +16155,7 @@
     },
     "node_modules/@types/tough-cookie": {
       "version": "4.0.2",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/@types/unist": {
@@ -16279,6 +16486,18 @@
         "url": "https://github.com/sponsors/isaacs"
       }
     },
+    "node_modules/@typescript-eslint/rule-tester/node_modules/semver": {
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/@typescript-eslint/scope-manager": {
       "version": "7.13.1",
       "dev": true,
@@ -16403,6 +16622,18 @@
         "url": "https://github.com/sponsors/isaacs"
       }
     },
+    "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/@typescript-eslint/utils": {
       "version": "5.62.0",
       "dev": true,
@@ -16587,6 +16818,7 @@
     },
     "node_modules/@vue/preload-webpack-plugin": {
       "version": "2.0.0",
+      "dev": true,
       "license": "Apache-2.0",
       "engines": {
         "node": ">=6.0.0"
@@ -16842,6 +17074,7 @@
     },
     "node_modules/abab": {
       "version": "2.0.6",
+      "dev": true,
       "license": "BSD-3-Clause"
     },
     "node_modules/abbrev": {
@@ -16883,6 +17116,7 @@
     },
     "node_modules/acorn-globals": {
       "version": "7.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "acorn": "^8.1.0",
@@ -16891,6 +17125,7 @@
     },
     "node_modules/acorn-globals/node_modules/acorn": {
       "version": "8.11.3",
+      "dev": true,
       "license": "MIT",
       "bin": {
         "acorn": "bin/acorn"
@@ -16901,6 +17136,7 @@
     },
     "node_modules/acorn-globals/node_modules/acorn-walk": {
       "version": "8.3.1",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=0.4.0"
@@ -16922,6 +17158,15 @@
         "node": ">=0.4.0"
       }
     },
+    "node_modules/adm-zip": {
+      "version": "0.5.16",
+      "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.16.tgz",
+      "integrity": "sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==",
+      "dev": true,
+      "engines": {
+        "node": ">=12.0"
+      }
+    },
     "node_modules/agent-base": {
       "version": "6.0.2",
       "license": "MIT",
@@ -17387,7 +17632,7 @@
     },
     "node_modules/arg": {
       "version": "4.1.3",
-      "devOptional": true,
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/argparse": {
@@ -17739,6 +17984,7 @@
     },
     "node_modules/babel-jest": {
       "version": "29.4.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jest/transform": "^29.4.1",
@@ -17758,6 +18004,7 @@
     },
     "node_modules/babel-jest/node_modules/ansi-styles": {
       "version": "4.3.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-convert": "^2.0.1"
@@ -17771,6 +18018,7 @@
     },
     "node_modules/babel-jest/node_modules/chalk": {
       "version": "4.1.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-styles": "^4.1.0",
@@ -17785,6 +18033,7 @@
     },
     "node_modules/babel-jest/node_modules/color-convert": {
       "version": "2.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-name": "~1.1.4"
@@ -17795,10 +18044,12 @@
     },
     "node_modules/babel-jest/node_modules/color-name": {
       "version": "1.1.4",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/babel-jest/node_modules/has-flag": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -17806,6 +18057,7 @@
     },
     "node_modules/babel-jest/node_modules/supports-color": {
       "version": "7.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -17971,6 +18223,7 @@
     },
     "node_modules/babel-plugin-istanbul": {
       "version": "6.1.1",
+      "dev": true,
       "license": "BSD-3-Clause",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.0.0",
@@ -17985,6 +18238,7 @@
     },
     "node_modules/babel-plugin-jest-hoist": {
       "version": "29.6.3",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/template": "^7.3.3",
@@ -18283,6 +18537,7 @@
     },
     "node_modules/babel-preset-current-node-syntax": {
       "version": "1.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/plugin-syntax-async-generators": "^7.8.4",
@@ -18595,6 +18850,7 @@
     },
     "node_modules/babel-preset-jest": {
       "version": "29.6.3",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "babel-plugin-jest-hoist": "^29.6.3",
@@ -18702,6 +18958,46 @@
         "node": "*"
       }
     },
+    "node_modules/bin-links": {
+      "version": "4.0.4",
+      "resolved": "https://registry.npmjs.org/bin-links/-/bin-links-4.0.4.tgz",
+      "integrity": "sha512-cMtq4W5ZsEwcutJrVId+a/tjt8GSbS+h0oNkdl6+6rBuEv8Ot33Bevj5KPm40t309zuhVic8NjpuL42QCiJWWA==",
+      "dev": true,
+      "dependencies": {
+        "cmd-shim": "^6.0.0",
+        "npm-normalize-package-bin": "^3.0.0",
+        "read-cmd-shim": "^4.0.0",
+        "write-file-atomic": "^5.0.0"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
+    "node_modules/bin-links/node_modules/signal-exit": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+      "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+      "dev": true,
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/bin-links/node_modules/write-file-atomic": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz",
+      "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==",
+      "dev": true,
+      "dependencies": {
+        "imurmurhash": "^0.1.4",
+        "signal-exit": "^4.0.1"
+      },
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
     "node_modules/binary-extensions": {
       "version": "2.2.0",
       "dev": true,
@@ -19333,6 +19629,7 @@
     },
     "node_modules/camel-case": {
       "version": "4.1.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "pascal-case": "^3.1.2",
@@ -19421,6 +19718,7 @@
     },
     "node_modules/char-regex": {
       "version": "1.0.2",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=10"
@@ -19557,6 +19855,7 @@
     },
     "node_modules/clean-css": {
       "version": "5.3.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "source-map": "~0.6.0"
@@ -19567,6 +19866,7 @@
     },
     "node_modules/clean-css/node_modules/source-map": {
       "version": "0.6.1",
+      "dev": true,
       "license": "BSD-3-Clause",
       "engines": {
         "node": ">=0.10.0"
@@ -19718,8 +20018,18 @@
         "node": ">=6"
       }
     },
+    "node_modules/cmd-shim": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-6.0.3.tgz",
+      "integrity": "sha512-FMabTRlc5t5zjdenF6mS0MBeFZm0XqHqeOkcskKFb/LYCcRQ5fVgLOHVc4Lq9CqABd9zhjwPjMBCJvMCziSVtA==",
+      "dev": true,
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
     "node_modules/co": {
       "version": "4.6.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "iojs": ">= 1.0.0",
@@ -19728,6 +20038,7 @@
     },
     "node_modules/collect-v8-coverage": {
       "version": "1.0.1",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/color": {
@@ -20475,7 +20786,7 @@
     },
     "node_modules/create-require": {
       "version": "1.1.1",
-      "devOptional": true,
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/create-storybook": {
@@ -20900,6 +21211,7 @@
     },
     "node_modules/cssom": {
       "version": "0.5.0",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/csstype": {
@@ -21012,6 +21324,7 @@
     },
     "node_modules/decimal.js": {
       "version": "10.4.3",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/decode-uri-component": {
@@ -21342,6 +21655,7 @@
     },
     "node_modules/detect-newline": {
       "version": "3.1.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -21373,9 +21687,21 @@
         "diagnostic-channel": "*"
       }
     },
+    "node_modules/diagnostic-channel/node_modules/semver": {
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+      "peer": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/diff": {
       "version": "4.0.2",
-      "devOptional": true,
+      "dev": true,
       "license": "BSD-3-Clause",
       "engines": {
         "node": ">=0.3.1"
@@ -21383,6 +21709,7 @@
     },
     "node_modules/diff-sequences": {
       "version": "29.6.3",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -21535,6 +21862,7 @@
     },
     "node_modules/dom-converter": {
       "version": "0.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "utila": "~0.4"
@@ -21560,6 +21888,7 @@
     },
     "node_modules/domexception": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "webidl-conversions": "^7.0.0"
@@ -21607,6 +21936,7 @@
     },
     "node_modules/dot-case": {
       "version": "3.0.4",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "no-case": "^3.0.4",
@@ -21919,6 +22249,7 @@
     },
     "node_modules/emittery": {
       "version": "0.13.1",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=12"
@@ -22314,6 +22645,7 @@
     },
     "node_modules/escodegen": {
       "version": "2.1.0",
+      "dev": true,
       "license": "BSD-2-Clause",
       "dependencies": {
         "esprima": "^4.0.1",
@@ -22333,6 +22665,7 @@
     },
     "node_modules/escodegen/node_modules/source-map": {
       "version": "0.6.1",
+      "dev": true,
       "license": "BSD-3-Clause",
       "optional": true,
       "engines": {
@@ -22601,6 +22934,18 @@
         "url": "https://opencollective.com/eslint"
       }
     },
+    "node_modules/eslint-config-expensify/node_modules/semver": {
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/eslint-config-prettier": {
       "version": "9.1.0",
       "dev": true,
@@ -22802,6 +23147,18 @@
         "url": "https://github.com/sponsors/isaacs"
       }
     },
+    "node_modules/eslint-plugin-deprecation/node_modules/semver": {
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/eslint-plugin-es": {
       "version": "4.1.0",
       "dev": true,
@@ -23641,12 +23998,14 @@
     },
     "node_modules/exit": {
       "version": "0.1.2",
+      "dev": true,
       "engines": {
         "node": ">= 0.8.0"
       }
     },
     "node_modules/expect": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jest/expect-utils": "^29.7.0",
@@ -23679,6 +24038,17 @@
         "ua-parser-js": "^1.0.38"
       }
     },
+    "node_modules/expensify-common/node_modules/semver": {
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/expensify-common/node_modules/ua-parser-js": {
       "version": "1.0.38",
       "funding": [
@@ -23978,6 +24348,17 @@
         "node": ">=8"
       }
     },
+    "node_modules/expo/node_modules/semver": {
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/expo/node_modules/supports-color": {
       "version": "7.2.0",
       "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -25091,6 +25472,7 @@
     },
     "node_modules/get-package-type": {
       "version": "0.1.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8.0.0"
@@ -25505,6 +25887,7 @@
     },
     "node_modules/he": {
       "version": "1.2.0",
+      "dev": true,
       "license": "MIT",
       "bin": {
         "he": "bin/he"
@@ -25573,6 +25956,7 @@
     },
     "node_modules/html-encoding-sniffer": {
       "version": "3.0.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "whatwg-encoding": "^2.0.0"
@@ -25597,10 +25981,12 @@
     },
     "node_modules/html-escaper": {
       "version": "2.0.2",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/html-minifier-terser": {
       "version": "6.1.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "camel-case": "^4.1.2",
@@ -25620,6 +26006,7 @@
     },
     "node_modules/html-minifier-terser/node_modules/commander": {
       "version": "8.3.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">= 12"
@@ -25638,6 +26025,7 @@
     },
     "node_modules/html-webpack-plugin": {
       "version": "5.5.3",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@types/html-minifier-terser": "^6.0.0",
@@ -25957,6 +26345,7 @@
     },
     "node_modules/iconv-lite": {
       "version": "0.6.3",
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
         "safer-buffer": ">= 2.1.2 < 3.0.0"
@@ -26069,6 +26458,7 @@
     },
     "node_modules/import-local": {
       "version": "3.1.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "pkg-dir": "^4.2.0",
@@ -26086,6 +26476,7 @@
     },
     "node_modules/import-local/node_modules/find-up": {
       "version": "4.1.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "locate-path": "^5.0.0",
@@ -26097,6 +26488,7 @@
     },
     "node_modules/import-local/node_modules/locate-path": {
       "version": "5.0.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "p-locate": "^4.1.0"
@@ -26107,6 +26499,7 @@
     },
     "node_modules/import-local/node_modules/p-limit": {
       "version": "2.3.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "p-try": "^2.0.0"
@@ -26120,6 +26513,7 @@
     },
     "node_modules/import-local/node_modules/p-locate": {
       "version": "4.1.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "p-limit": "^2.2.0"
@@ -26130,6 +26524,7 @@
     },
     "node_modules/import-local/node_modules/path-exists": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -26137,6 +26532,7 @@
     },
     "node_modules/import-local/node_modules/pkg-dir": {
       "version": "4.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "find-up": "^4.0.0"
@@ -26614,6 +27010,7 @@
     },
     "node_modules/is-generator-fn": {
       "version": "2.1.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=6"
@@ -26820,6 +27217,7 @@
     },
     "node_modules/is-potential-custom-element-name": {
       "version": "1.0.1",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/is-regex": {
@@ -26995,6 +27393,7 @@
     },
     "node_modules/istanbul-lib-coverage": {
       "version": "3.2.0",
+      "dev": true,
       "license": "BSD-3-Clause",
       "engines": {
         "node": ">=8"
@@ -27002,6 +27401,7 @@
     },
     "node_modules/istanbul-lib-instrument": {
       "version": "5.2.0",
+      "dev": true,
       "license": "BSD-3-Clause",
       "dependencies": {
         "@babel/core": "^7.12.3",
@@ -27016,6 +27416,7 @@
     },
     "node_modules/istanbul-lib-instrument/node_modules/semver": {
       "version": "6.3.1",
+      "dev": true,
       "license": "ISC",
       "bin": {
         "semver": "bin/semver.js"
@@ -27023,6 +27424,7 @@
     },
     "node_modules/istanbul-lib-report": {
       "version": "3.0.1",
+      "dev": true,
       "license": "BSD-3-Clause",
       "dependencies": {
         "istanbul-lib-coverage": "^3.0.0",
@@ -27035,6 +27437,7 @@
     },
     "node_modules/istanbul-lib-report/node_modules/has-flag": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -27042,6 +27445,7 @@
     },
     "node_modules/istanbul-lib-report/node_modules/make-dir": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "semver": "^7.5.3"
@@ -27053,8 +27457,21 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/istanbul-lib-report/node_modules/semver": {
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/istanbul-lib-report/node_modules/supports-color": {
       "version": "7.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -27065,6 +27482,7 @@
     },
     "node_modules/istanbul-lib-source-maps": {
       "version": "4.0.1",
+      "dev": true,
       "license": "BSD-3-Clause",
       "dependencies": {
         "debug": "^4.1.1",
@@ -27077,6 +27495,7 @@
     },
     "node_modules/istanbul-lib-source-maps/node_modules/source-map": {
       "version": "0.6.1",
+      "dev": true,
       "license": "BSD-3-Clause",
       "engines": {
         "node": ">=0.10.0"
@@ -27084,6 +27503,7 @@
     },
     "node_modules/istanbul-reports": {
       "version": "3.1.7",
+      "dev": true,
       "license": "BSD-3-Clause",
       "dependencies": {
         "html-escaper": "^2.0.0",
@@ -27210,6 +27630,7 @@
     },
     "node_modules/jest": {
       "version": "29.4.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jest/core": "^29.4.1",
@@ -27234,6 +27655,7 @@
     },
     "node_modules/jest-changed-files": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "execa": "^5.0.0",
@@ -27339,6 +27761,7 @@
     },
     "node_modules/jest-cli": {
       "version": "29.4.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jest/core": "^29.4.1",
@@ -27371,6 +27794,7 @@
     },
     "node_modules/jest-cli/node_modules/ansi-styles": {
       "version": "4.3.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-convert": "^2.0.1"
@@ -27384,6 +27808,7 @@
     },
     "node_modules/jest-cli/node_modules/chalk": {
       "version": "4.1.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-styles": "^4.1.0",
@@ -27398,6 +27823,7 @@
     },
     "node_modules/jest-cli/node_modules/color-convert": {
       "version": "2.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-name": "~1.1.4"
@@ -27408,10 +27834,12 @@
     },
     "node_modules/jest-cli/node_modules/color-name": {
       "version": "1.1.4",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/jest-cli/node_modules/has-flag": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -27419,6 +27847,7 @@
     },
     "node_modules/jest-cli/node_modules/supports-color": {
       "version": "7.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -27429,6 +27858,7 @@
     },
     "node_modules/jest-config": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/core": "^7.11.6",
@@ -27472,6 +27902,7 @@
     },
     "node_modules/jest-config/node_modules/ansi-styles": {
       "version": "4.3.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-convert": "^2.0.1"
@@ -27485,6 +27916,7 @@
     },
     "node_modules/jest-config/node_modules/babel-jest": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jest/transform": "^29.7.0",
@@ -27504,6 +27936,7 @@
     },
     "node_modules/jest-config/node_modules/chalk": {
       "version": "4.1.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-styles": "^4.1.0",
@@ -27518,6 +27951,7 @@
     },
     "node_modules/jest-config/node_modules/color-convert": {
       "version": "2.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-name": "~1.1.4"
@@ -27528,10 +27962,12 @@
     },
     "node_modules/jest-config/node_modules/color-name": {
       "version": "1.1.4",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/jest-config/node_modules/dedent": {
       "version": "1.5.3",
+      "dev": true,
       "license": "MIT",
       "peerDependencies": {
         "babel-plugin-macros": "^3.1.0"
@@ -27544,6 +27980,7 @@
     },
     "node_modules/jest-config/node_modules/has-flag": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -27551,6 +27988,7 @@
     },
     "node_modules/jest-config/node_modules/jest-circus": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jest/environment": "^29.7.0",
@@ -27580,6 +28018,7 @@
     },
     "node_modules/jest-config/node_modules/supports-color": {
       "version": "7.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -27590,6 +28029,7 @@
     },
     "node_modules/jest-diff": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "chalk": "^4.0.0",
@@ -27603,6 +28043,7 @@
     },
     "node_modules/jest-diff/node_modules/ansi-styles": {
       "version": "4.3.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-convert": "^2.0.1"
@@ -27616,6 +28057,7 @@
     },
     "node_modules/jest-diff/node_modules/chalk": {
       "version": "4.1.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-styles": "^4.1.0",
@@ -27630,6 +28072,7 @@
     },
     "node_modules/jest-diff/node_modules/color-convert": {
       "version": "2.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-name": "~1.1.4"
@@ -27640,10 +28083,12 @@
     },
     "node_modules/jest-diff/node_modules/color-name": {
       "version": "1.1.4",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/jest-diff/node_modules/has-flag": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -27651,6 +28096,7 @@
     },
     "node_modules/jest-diff/node_modules/supports-color": {
       "version": "7.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -27661,6 +28107,7 @@
     },
     "node_modules/jest-docblock": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "detect-newline": "^3.0.0"
@@ -27671,6 +28118,7 @@
     },
     "node_modules/jest-each": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jest/types": "^29.6.3",
@@ -27685,6 +28133,7 @@
     },
     "node_modules/jest-each/node_modules/ansi-styles": {
       "version": "4.3.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-convert": "^2.0.1"
@@ -27698,6 +28147,7 @@
     },
     "node_modules/jest-each/node_modules/chalk": {
       "version": "4.1.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-styles": "^4.1.0",
@@ -27712,6 +28162,7 @@
     },
     "node_modules/jest-each/node_modules/color-convert": {
       "version": "2.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-name": "~1.1.4"
@@ -27722,10 +28173,12 @@
     },
     "node_modules/jest-each/node_modules/color-name": {
       "version": "1.1.4",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/jest-each/node_modules/has-flag": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -27733,6 +28186,7 @@
     },
     "node_modules/jest-each/node_modules/supports-color": {
       "version": "7.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -27743,6 +28197,7 @@
     },
     "node_modules/jest-environment-jsdom": {
       "version": "29.4.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jest/environment": "^29.4.1",
@@ -27768,6 +28223,7 @@
     },
     "node_modules/jest-environment-jsdom/node_modules/acorn": {
       "version": "8.11.3",
+      "dev": true,
       "license": "MIT",
       "bin": {
         "acorn": "bin/acorn"
@@ -27778,6 +28234,7 @@
     },
     "node_modules/jest-environment-jsdom/node_modules/cssstyle": {
       "version": "2.3.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "cssom": "~0.3.6"
@@ -27788,10 +28245,12 @@
     },
     "node_modules/jest-environment-jsdom/node_modules/cssstyle/node_modules/cssom": {
       "version": "0.3.8",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/jest-environment-jsdom/node_modules/data-urls": {
       "version": "3.0.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "abab": "^2.0.6",
@@ -27804,6 +28263,7 @@
     },
     "node_modules/jest-environment-jsdom/node_modules/entities": {
       "version": "4.5.0",
+      "dev": true,
       "license": "BSD-2-Clause",
       "engines": {
         "node": ">=0.12"
@@ -27814,6 +28274,7 @@
     },
     "node_modules/jest-environment-jsdom/node_modules/form-data": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "asynckit": "^0.4.0",
@@ -27826,6 +28287,7 @@
     },
     "node_modules/jest-environment-jsdom/node_modules/jsdom": {
       "version": "20.0.3",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "abab": "^2.0.6",
@@ -27869,6 +28331,7 @@
     },
     "node_modules/jest-environment-jsdom/node_modules/parse5": {
       "version": "7.1.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "entities": "^4.4.0"
@@ -27879,6 +28342,7 @@
     },
     "node_modules/jest-environment-jsdom/node_modules/tr46": {
       "version": "3.0.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "punycode": "^2.1.1"
@@ -27889,6 +28353,7 @@
     },
     "node_modules/jest-environment-jsdom/node_modules/w3c-xmlserializer": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "xml-name-validator": "^4.0.0"
@@ -27899,6 +28364,7 @@
     },
     "node_modules/jest-environment-jsdom/node_modules/whatwg-mimetype": {
       "version": "3.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=12"
@@ -27906,6 +28372,7 @@
     },
     "node_modules/jest-environment-jsdom/node_modules/whatwg-url": {
       "version": "11.0.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "tr46": "^3.0.0",
@@ -27919,6 +28386,7 @@
       "version": "8.17.1",
       "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
       "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
+      "dev": true,
       "engines": {
         "node": ">=10.0.0"
       },
@@ -27937,6 +28405,7 @@
     },
     "node_modules/jest-environment-jsdom/node_modules/xml-name-validator": {
       "version": "4.0.0",
+      "dev": true,
       "license": "Apache-2.0",
       "engines": {
         "node": ">=12"
@@ -27961,6 +28430,7 @@
       "version": "51.0.4",
       "resolved": "https://registry.npmjs.org/jest-expo/-/jest-expo-51.0.4.tgz",
       "integrity": "sha512-WmlR4rUur1TNF/F14brKCmPdX3TWf7Bno/6A1PuxnflN79LEIXpXuPKMlMWwCCChTohGB5FRniknRibblWu1ug==",
+      "dev": true,
       "dependencies": {
         "@expo/config": "~9.0.0-beta.0",
         "@expo/json-file": "^8.3.0",
@@ -27979,26 +28449,11 @@
         "jest": "bin/jest.js"
       }
     },
-    "node_modules/jest-expo/node_modules/@babel/code-frame": {
-      "version": "7.10.4",
-      "license": "MIT",
-      "dependencies": {
-        "@babel/highlight": "^7.10.4"
-      }
-    },
-    "node_modules/jest-expo/node_modules/@expo/json-file": {
-      "version": "8.3.1",
-      "license": "MIT",
-      "dependencies": {
-        "@babel/code-frame": "~7.10.4",
-        "json5": "^2.2.2",
-        "write-file-atomic": "^2.3.0"
-      }
-    },
     "node_modules/jest-expo/node_modules/json5": {
       "version": "2.2.2",
       "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.2.tgz",
       "integrity": "sha512-46Tk9JiOL2z7ytNQWFLpj99RZkVgeHf87yGQKsIkaPz1qSH9UczKH1rO7K3wgRselo0tYMUNfecYpm/p1vC7tQ==",
+      "dev": true,
       "bin": {
         "json5": "lib/cli.js"
       },
@@ -28008,6 +28463,7 @@
     },
     "node_modules/jest-expo/node_modules/react-test-renderer": {
       "version": "18.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "react-is": "^18.2.0",
@@ -28020,6 +28476,7 @@
     },
     "node_modules/jest-expo/node_modules/scheduler": {
       "version": "0.23.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "loose-envify": "^1.1.0"
@@ -28034,6 +28491,7 @@
     },
     "node_modules/jest-haste-map": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jest/types": "^29.6.3",
@@ -28057,6 +28515,7 @@
     },
     "node_modules/jest-haste-map/node_modules/has-flag": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -28064,6 +28523,7 @@
     },
     "node_modules/jest-haste-map/node_modules/jest-worker": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@types/node": "*",
@@ -28077,6 +28537,7 @@
     },
     "node_modules/jest-haste-map/node_modules/supports-color": {
       "version": "8.1.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -28090,6 +28551,7 @@
     },
     "node_modules/jest-leak-detector": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "jest-get-type": "^29.6.3",
@@ -28101,6 +28563,7 @@
     },
     "node_modules/jest-matcher-utils": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "chalk": "^4.0.0",
@@ -28114,6 +28577,7 @@
     },
     "node_modules/jest-matcher-utils/node_modules/ansi-styles": {
       "version": "4.3.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-convert": "^2.0.1"
@@ -28127,6 +28591,7 @@
     },
     "node_modules/jest-matcher-utils/node_modules/chalk": {
       "version": "4.1.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-styles": "^4.1.0",
@@ -28141,6 +28606,7 @@
     },
     "node_modules/jest-matcher-utils/node_modules/color-convert": {
       "version": "2.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-name": "~1.1.4"
@@ -28151,10 +28617,12 @@
     },
     "node_modules/jest-matcher-utils/node_modules/color-name": {
       "version": "1.1.4",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/jest-matcher-utils/node_modules/has-flag": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -28162,6 +28630,7 @@
     },
     "node_modules/jest-matcher-utils/node_modules/supports-color": {
       "version": "7.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -28260,6 +28729,7 @@
     },
     "node_modules/jest-pnp-resolver": {
       "version": "1.2.3",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=6"
@@ -28275,6 +28745,7 @@
     },
     "node_modules/jest-regex-util": {
       "version": "29.6.3",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
@@ -28282,6 +28753,7 @@
     },
     "node_modules/jest-resolve": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "chalk": "^4.0.0",
@@ -28300,6 +28772,7 @@
     },
     "node_modules/jest-resolve-dependencies": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "jest-regex-util": "^29.6.3",
@@ -28311,6 +28784,7 @@
     },
     "node_modules/jest-resolve/node_modules/ansi-styles": {
       "version": "4.3.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-convert": "^2.0.1"
@@ -28324,6 +28798,7 @@
     },
     "node_modules/jest-resolve/node_modules/chalk": {
       "version": "4.1.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-styles": "^4.1.0",
@@ -28338,6 +28813,7 @@
     },
     "node_modules/jest-resolve/node_modules/color-convert": {
       "version": "2.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-name": "~1.1.4"
@@ -28348,10 +28824,12 @@
     },
     "node_modules/jest-resolve/node_modules/color-name": {
       "version": "1.1.4",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/jest-resolve/node_modules/has-flag": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -28359,6 +28837,7 @@
     },
     "node_modules/jest-resolve/node_modules/supports-color": {
       "version": "7.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -28369,6 +28848,7 @@
     },
     "node_modules/jest-runner": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jest/console": "^29.7.0",
@@ -28399,6 +28879,7 @@
     },
     "node_modules/jest-runner/node_modules/ansi-styles": {
       "version": "4.3.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-convert": "^2.0.1"
@@ -28412,6 +28893,7 @@
     },
     "node_modules/jest-runner/node_modules/chalk": {
       "version": "4.1.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-styles": "^4.1.0",
@@ -28426,6 +28908,7 @@
     },
     "node_modules/jest-runner/node_modules/color-convert": {
       "version": "2.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-name": "~1.1.4"
@@ -28436,10 +28919,12 @@
     },
     "node_modules/jest-runner/node_modules/color-name": {
       "version": "1.1.4",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/jest-runner/node_modules/has-flag": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -28447,6 +28932,7 @@
     },
     "node_modules/jest-runner/node_modules/jest-worker": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@types/node": "*",
@@ -28460,6 +28946,7 @@
     },
     "node_modules/jest-runner/node_modules/jest-worker/node_modules/supports-color": {
       "version": "8.1.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -28473,6 +28960,7 @@
     },
     "node_modules/jest-runner/node_modules/source-map": {
       "version": "0.6.1",
+      "dev": true,
       "license": "BSD-3-Clause",
       "engines": {
         "node": ">=0.10.0"
@@ -28480,6 +28968,7 @@
     },
     "node_modules/jest-runner/node_modules/source-map-support": {
       "version": "0.5.13",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "buffer-from": "^1.0.0",
@@ -28488,6 +28977,7 @@
     },
     "node_modules/jest-runner/node_modules/supports-color": {
       "version": "7.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -28498,6 +28988,7 @@
     },
     "node_modules/jest-runtime": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jest/environment": "^29.7.0",
@@ -28529,6 +29020,7 @@
     },
     "node_modules/jest-runtime/node_modules/ansi-styles": {
       "version": "4.3.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-convert": "^2.0.1"
@@ -28542,6 +29034,7 @@
     },
     "node_modules/jest-runtime/node_modules/chalk": {
       "version": "4.1.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-styles": "^4.1.0",
@@ -28556,6 +29049,7 @@
     },
     "node_modules/jest-runtime/node_modules/color-convert": {
       "version": "2.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-name": "~1.1.4"
@@ -28566,10 +29060,12 @@
     },
     "node_modules/jest-runtime/node_modules/color-name": {
       "version": "1.1.4",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/jest-runtime/node_modules/has-flag": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -28577,6 +29073,7 @@
     },
     "node_modules/jest-runtime/node_modules/supports-color": {
       "version": "7.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -28587,6 +29084,7 @@
     },
     "node_modules/jest-snapshot": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@babel/core": "^7.11.6",
@@ -28616,6 +29114,7 @@
     },
     "node_modules/jest-snapshot/node_modules/ansi-styles": {
       "version": "4.3.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-convert": "^2.0.1"
@@ -28629,6 +29128,7 @@
     },
     "node_modules/jest-snapshot/node_modules/chalk": {
       "version": "4.1.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-styles": "^4.1.0",
@@ -28643,6 +29143,7 @@
     },
     "node_modules/jest-snapshot/node_modules/color-convert": {
       "version": "2.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-name": "~1.1.4"
@@ -28653,17 +29154,32 @@
     },
     "node_modules/jest-snapshot/node_modules/color-name": {
       "version": "1.1.4",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/jest-snapshot/node_modules/has-flag": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
       }
     },
+    "node_modules/jest-snapshot/node_modules/semver": {
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/jest-snapshot/node_modules/supports-color": {
       "version": "7.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -28829,6 +29345,7 @@
     },
     "node_modules/jest-watch-select-projects": {
       "version": "2.0.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-escapes": "^4.3.0",
@@ -28838,6 +29355,7 @@
     },
     "node_modules/jest-watch-select-projects/node_modules/ansi-styles": {
       "version": "4.3.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-convert": "^2.0.1"
@@ -28851,6 +29369,7 @@
     },
     "node_modules/jest-watch-select-projects/node_modules/chalk": {
       "version": "3.0.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-styles": "^4.1.0",
@@ -28862,6 +29381,7 @@
     },
     "node_modules/jest-watch-select-projects/node_modules/color-convert": {
       "version": "2.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-name": "~1.1.4"
@@ -28872,10 +29392,12 @@
     },
     "node_modules/jest-watch-select-projects/node_modules/color-name": {
       "version": "1.1.4",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/jest-watch-select-projects/node_modules/has-flag": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -28883,6 +29405,7 @@
     },
     "node_modules/jest-watch-select-projects/node_modules/supports-color": {
       "version": "7.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -28893,6 +29416,7 @@
     },
     "node_modules/jest-watch-typeahead": {
       "version": "2.2.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-escapes": "^6.0.0",
@@ -28912,6 +29436,7 @@
     },
     "node_modules/jest-watch-typeahead/node_modules/ansi-escapes": {
       "version": "6.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "type-fest": "^3.0.0"
@@ -28925,6 +29450,7 @@
     },
     "node_modules/jest-watch-typeahead/node_modules/ansi-regex": {
       "version": "6.0.1",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=12"
@@ -28935,6 +29461,7 @@
     },
     "node_modules/jest-watch-typeahead/node_modules/ansi-styles": {
       "version": "4.3.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-convert": "^2.0.1"
@@ -28948,6 +29475,7 @@
     },
     "node_modules/jest-watch-typeahead/node_modules/chalk": {
       "version": "4.1.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-styles": "^4.1.0",
@@ -28962,6 +29490,7 @@
     },
     "node_modules/jest-watch-typeahead/node_modules/char-regex": {
       "version": "2.0.1",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=12.20"
@@ -28969,6 +29498,7 @@
     },
     "node_modules/jest-watch-typeahead/node_modules/color-convert": {
       "version": "2.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-name": "~1.1.4"
@@ -28979,10 +29509,12 @@
     },
     "node_modules/jest-watch-typeahead/node_modules/color-name": {
       "version": "1.1.4",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/jest-watch-typeahead/node_modules/has-flag": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -28990,6 +29522,7 @@
     },
     "node_modules/jest-watch-typeahead/node_modules/slash": {
       "version": "5.1.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=14.16"
@@ -29000,6 +29533,7 @@
     },
     "node_modules/jest-watch-typeahead/node_modules/string-length": {
       "version": "5.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "char-regex": "^2.0.0",
@@ -29014,6 +29548,7 @@
     },
     "node_modules/jest-watch-typeahead/node_modules/strip-ansi": {
       "version": "7.1.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-regex": "^6.0.1"
@@ -29027,6 +29562,7 @@
     },
     "node_modules/jest-watch-typeahead/node_modules/supports-color": {
       "version": "7.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -29037,6 +29573,7 @@
     },
     "node_modules/jest-watch-typeahead/node_modules/type-fest": {
       "version": "3.13.1",
+      "dev": true,
       "license": "(MIT OR CC0-1.0)",
       "engines": {
         "node": ">=14.16"
@@ -29047,6 +29584,7 @@
     },
     "node_modules/jest-watcher": {
       "version": "29.7.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@jest/test-result": "^29.7.0",
@@ -29064,6 +29602,7 @@
     },
     "node_modules/jest-watcher/node_modules/ansi-styles": {
       "version": "4.3.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-convert": "^2.0.1"
@@ -29077,6 +29616,7 @@
     },
     "node_modules/jest-watcher/node_modules/chalk": {
       "version": "4.1.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "ansi-styles": "^4.1.0",
@@ -29091,6 +29631,7 @@
     },
     "node_modules/jest-watcher/node_modules/color-convert": {
       "version": "2.0.1",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "color-name": "~1.1.4"
@@ -29101,10 +29642,12 @@
     },
     "node_modules/jest-watcher/node_modules/color-name": {
       "version": "1.1.4",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/jest-watcher/node_modules/has-flag": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -29112,6 +29655,7 @@
     },
     "node_modules/jest-watcher/node_modules/supports-color": {
       "version": "7.2.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "has-flag": "^4.0.0"
@@ -29122,6 +29666,7 @@
     },
     "node_modules/jest-when": {
       "version": "3.5.2",
+      "dev": true,
       "license": "MIT",
       "peerDependencies": {
         "jest": ">= 25"
@@ -29847,6 +30392,11 @@
       "version": "4.17.21",
       "license": "MIT"
     },
+    "node_modules/lodash-es": {
+      "version": "4.17.21",
+      "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
+      "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
+    },
     "node_modules/lodash.clonedeep": {
       "version": "4.5.0",
       "dev": true,
@@ -30023,6 +30573,7 @@
     },
     "node_modules/lower-case": {
       "version": "2.0.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "tslib": "^2.0.3"
@@ -30089,7 +30640,7 @@
     },
     "node_modules/make-error": {
       "version": "1.3.6",
-      "devOptional": true,
+      "dev": true,
       "license": "ISC"
     },
     "node_modules/make-event-props": {
@@ -31328,6 +31879,7 @@
     },
     "node_modules/natural-compare": {
       "version": "1.4.0",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/natural-compare-lite": {
@@ -31357,6 +31909,7 @@
     },
     "node_modules/no-case": {
       "version": "3.0.4",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "lower-case": "^2.0.2",
@@ -31370,6 +31923,20 @@
         "node": ">=12.0.0"
       }
     },
+    "node_modules/nock": {
+      "version": "13.5.5",
+      "resolved": "https://registry.npmjs.org/nock/-/nock-13.5.5.tgz",
+      "integrity": "sha512-XKYnqUrCwXC8DGG1xX4YH5yNIrlh9c065uaMZZHUoeUUINTOyt+x/G+ezYk0Ft6ExSREVIs+qBJDK503viTfFA==",
+      "dev": true,
+      "dependencies": {
+        "debug": "^4.1.0",
+        "json-stringify-safe": "^5.0.1",
+        "propagate": "^2.0.0"
+      },
+      "engines": {
+        "node": ">= 10.13"
+      }
+    },
     "node_modules/node-abi": {
       "version": "3.65.0",
       "dev": true,
@@ -31607,6 +32174,15 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
+    "node_modules/npm-normalize-package-bin": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz",
+      "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==",
+      "dev": true,
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
     "node_modules/npm-package-arg": {
       "version": "7.0.0",
       "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-7.0.0.tgz",
@@ -31674,6 +32250,7 @@
     },
     "node_modules/nwsapi": {
       "version": "2.2.7",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/nypm": {
@@ -32319,6 +32896,7 @@
     },
     "node_modules/param-case": {
       "version": "3.0.4",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "dot-case": "^3.0.4",
@@ -32379,6 +32957,7 @@
     },
     "node_modules/pascal-case": {
       "version": "3.1.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "no-case": "^3.0.4",
@@ -32502,6 +33081,18 @@
         "rimraf": "bin.js"
       }
     },
+    "node_modules/patch-package/node_modules/semver": {
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/patch-package/node_modules/slash": {
       "version": "2.0.0",
       "dev": true,
@@ -33000,6 +33591,7 @@
     },
     "node_modules/pretty-error": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "lodash": "^4.17.20",
@@ -33110,6 +33702,15 @@
       "version": "16.13.1",
       "license": "MIT"
     },
+    "node_modules/propagate": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/propagate/-/propagate-2.0.1.tgz",
+      "integrity": "sha512-vGrhOavPSTz4QVNuBNdcNXePNdNMaO1xj9yBeH1ScQPjk/rhg9sSlCXPhMkFuaNNW/syTvYqsnbIJxMBfRbbag==",
+      "dev": true,
+      "engines": {
+        "node": ">= 8"
+      }
+    },
     "node_modules/protocol-buffers-schema": {
       "version": "3.6.0",
       "license": "MIT"
@@ -33128,6 +33729,7 @@
     },
     "node_modules/psl": {
       "version": "1.9.0",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/pump": {
@@ -33147,6 +33749,7 @@
     },
     "node_modules/pure-rand": {
       "version": "6.0.4",
+      "dev": true,
       "funding": [
         {
           "type": "individual",
@@ -33239,6 +33842,7 @@
     },
     "node_modules/querystringify": {
       "version": "2.2.0",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/queue": {
@@ -36259,6 +36863,15 @@
         "read-binary-file-arch": "cli.js"
       }
     },
+    "node_modules/read-cmd-shim": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz",
+      "integrity": "sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==",
+      "dev": true,
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+      }
+    },
     "node_modules/read-config-file": {
       "version": "6.4.0",
       "dev": true,
@@ -36591,6 +37204,7 @@
     },
     "node_modules/relateurl": {
       "version": "0.2.7",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">= 0.10"
@@ -36603,6 +37217,7 @@
     },
     "node_modules/renderkid": {
       "version": "3.0.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "css-select": "^4.1.3",
@@ -36614,6 +37229,7 @@
     },
     "node_modules/renderkid/node_modules/css-select": {
       "version": "4.3.0",
+      "dev": true,
       "license": "BSD-2-Clause",
       "dependencies": {
         "boolbase": "^1.0.0",
@@ -36628,6 +37244,7 @@
     },
     "node_modules/renderkid/node_modules/htmlparser2": {
       "version": "6.1.0",
+      "dev": true,
       "funding": [
         "https://github.com/fb55/htmlparser2?sponsor=1",
         {
@@ -36709,6 +37326,7 @@
     },
     "node_modules/requires-port": {
       "version": "1.0.0",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/resedit": {
@@ -36750,6 +37368,7 @@
     },
     "node_modules/resolve-cwd": {
       "version": "3.0.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "resolve-from": "^5.0.0"
@@ -36932,6 +37551,7 @@
     },
     "node_modules/safer-buffer": {
       "version": "2.1.2",
+      "devOptional": true,
       "license": "MIT"
     },
     "node_modules/sanitize-filename": {
@@ -36948,6 +37568,7 @@
     },
     "node_modules/saxes": {
       "version": "6.0.0",
+      "dev": true,
       "license": "ISC",
       "dependencies": {
         "xmlchars": "^2.2.0"
@@ -37035,9 +37656,12 @@
       }
     },
     "node_modules/semver": {
-      "version": "7.6.3",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
-      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+      "version": "7.5.2",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.2.tgz",
+      "integrity": "sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==",
+      "dependencies": {
+        "lru-cache": "^6.0.0"
+      },
       "bin": {
         "semver": "bin/semver.js"
       },
@@ -37511,6 +38135,18 @@
         "node": ">=10"
       }
     },
+    "node_modules/simple-update-notifier/node_modules/semver": {
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/simply-deferred": {
       "version": "3.0.0",
       "resolved": "git+ssh://git@github.com/Expensify/simply-deferred.git#77a08a95754660c7bd6e0b6979fdf84e8e831bf5",
@@ -37981,6 +38617,7 @@
     },
     "node_modules/string-length": {
       "version": "4.0.2",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "char-regex": "^1.0.2",
@@ -38131,6 +38768,7 @@
     },
     "node_modules/strip-bom": {
       "version": "4.0.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -38163,6 +38801,7 @@
     },
     "node_modules/strip-json-comments": {
       "version": "3.1.1",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=8"
@@ -38432,6 +39071,7 @@
     },
     "node_modules/symbol-tree": {
       "version": "3.2.4",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/tabbable": {
@@ -38691,6 +39331,7 @@
     },
     "node_modules/test-exclude": {
       "version": "6.0.0",
+      "dev": true,
       "license": "ISC",
       "dependencies": {
         "@istanbuljs/schema": "^0.1.2",
@@ -38925,6 +39566,7 @@
     },
     "node_modules/tough-cookie": {
       "version": "4.1.3",
+      "dev": true,
       "license": "BSD-3-Clause",
       "dependencies": {
         "psl": "^1.1.33",
@@ -38938,6 +39580,7 @@
     },
     "node_modules/tough-cookie/node_modules/universalify": {
       "version": "0.2.0",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">= 4.0.0"
@@ -39059,6 +39702,18 @@
         "node": ">=6"
       }
     },
+    "node_modules/ts-jest/node_modules/semver": {
+      "version": "7.6.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+      "dev": true,
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/ts-jest/node_modules/yargs-parser": {
       "version": "21.1.1",
       "dev": true,
@@ -39069,7 +39724,7 @@
     },
     "node_modules/ts-node": {
       "version": "10.9.2",
-      "devOptional": true,
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "@cspotcode/source-map-support": "^0.8.0",
@@ -39111,7 +39766,7 @@
     },
     "node_modules/ts-node/node_modules/acorn": {
       "version": "8.11.3",
-      "devOptional": true,
+      "dev": true,
       "license": "MIT",
       "bin": {
         "acorn": "bin/acorn"
@@ -39122,7 +39777,7 @@
     },
     "node_modules/ts-node/node_modules/acorn-walk": {
       "version": "8.3.2",
-      "devOptional": true,
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=0.4.0"
@@ -39688,6 +40343,7 @@
     },
     "node_modules/url-parse": {
       "version": "1.5.10",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "querystringify": "^2.1.1",
@@ -39889,6 +40545,7 @@
     },
     "node_modules/utila": {
       "version": "0.4.0",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/utils-merge": {
@@ -39914,11 +40571,12 @@
     },
     "node_modules/v8-compile-cache-lib": {
       "version": "3.0.1",
-      "devOptional": true,
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/v8-to-istanbul": {
       "version": "9.2.0",
+      "dev": true,
       "license": "ISC",
       "dependencies": {
         "@jridgewell/trace-mapping": "^0.3.12",
@@ -40059,6 +40717,7 @@
     },
     "node_modules/webidl-conversions": {
       "version": "7.0.0",
+      "dev": true,
       "license": "BSD-2-Clause",
       "engines": {
         "node": ">=12"
@@ -40665,6 +41324,7 @@
     },
     "node_modules/whatwg-encoding": {
       "version": "2.0.0",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "iconv-lite": "0.6.3"
@@ -40930,6 +41590,7 @@
       "version": "0.20.3",
       "resolved": "file:vendor/xlsx-0.20.3.tgz",
       "integrity": "sha512-oLDq3jw7AcLqKWH2AhCpVTZl8mf6X2YReP+Neh0SJUzV/BdZYjth94tG5toiMB1PPrYtxOCfaoUCkvtuH+3AJA==",
+      "dev": true,
       "bin": {
         "xlsx": "bin/xlsx.njs"
       },
@@ -41006,6 +41667,7 @@
     },
     "node_modules/xmlchars": {
       "version": "2.2.0",
+      "dev": true,
       "license": "MIT"
     },
     "node_modules/xpath": {
@@ -41075,7 +41737,7 @@
     },
     "node_modules/yn": {
       "version": "3.1.1",
-      "devOptional": true,
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=6"
diff --git a/package.json b/package.json
index 0158dfbefdba..15eebbef2561 100644
--- a/package.json
+++ b/package.json
@@ -99,7 +99,6 @@
     "@rnmapbox/maps": "10.1.30",
     "@shopify/flash-list": "1.7.1",
     "@ua/react-native-airship": "19.2.1",
-    "@vue/preload-webpack-plugin": "^2.0.0",
     "awesome-phonenumber": "^5.4.0",
     "babel-polyfill": "^6.26.0",
     "canvas-size": "^1.2.6",
@@ -117,9 +116,7 @@
     "focus-trap-react": "^10.2.3",
     "htmlparser2": "^7.2.0",
     "idb-keyval": "^6.2.1",
-    "jest-expo": "51.0.4",
-    "jest-when": "^3.5.2",
-    "lodash": "4.17.21",
+    "lodash-es": "4.17.21",
     "lottie-react-native": "6.5.1",
     "mapbox-gl": "^2.15.0",
     "onfido-sdk-ui": "14.15.0",
@@ -128,7 +125,6 @@
     "react": "18.3.1",
     "react-beautiful-dnd": "^13.1.1",
     "react-collapse": "^5.1.0",
-    "react-compiler-runtime": "file:./lib/react-compiler-runtime",
     "react-content-loader": "^7.0.0",
     "react-dom": "18.3.1",
     "react-error-boundary": "^4.0.11",
@@ -182,10 +178,18 @@
     "react-plaid-link": "3.3.2",
     "react-web-config": "^1.0.0",
     "react-webcam": "^7.1.1",
-    "semver": "^7.5.2",
-    "xlsx": "file:vendor/xlsx-0.20.3.tgz"
+    "react-window": "^1.8.9"
   },
   "devDependencies": {
+    "@fullstory/babel-plugin-react-native": "^1.2.1",
+    "@kie/act-js": "^2.6.2",
+    "@kie/mock-github": "2.0.1",
+    "@vue/preload-webpack-plugin": "^2.0.0",
+    "jest-expo": "51.0.4",
+    "jest-when": "^3.5.2",
+    "react-compiler-runtime": "file:./lib/react-compiler-runtime",
+    "semver": "7.5.2",
+    "xlsx": "file:vendor/xlsx-0.20.3.tgz",
     "@actions/core": "1.10.0",
     "@actions/github": "5.1.1",
     "@babel/core": "^7.20.0",
@@ -235,7 +239,7 @@
     "@types/jest": "^29.5.2",
     "@types/jest-when": "^3.5.2",
     "@types/js-yaml": "^4.0.5",
-    "@types/lodash": "^4.14.195",
+    "@types/lodash-es": "4.17.12",
     "@types/mapbox-gl": "^2.7.13",
     "@types/mime-db": "^1.43.5",
     "@types/node": "^20.11.5",
diff --git a/src/components/ConnectionLayout.tsx b/src/components/ConnectionLayout.tsx
index 3809b4f4f110..8646f3ce464a 100644
--- a/src/components/ConnectionLayout.tsx
+++ b/src/components/ConnectionLayout.tsx
@@ -1,4 +1,4 @@
-import {isEmpty} from 'lodash';
+import isEmpty from 'lodash/isEmpty';
 import React, {useMemo} from 'react';
 import type {StyleProp, TextStyle, ViewStyle} from 'react-native';
 import {View} from 'react-native';
diff --git a/src/components/ErrorMessageRow.tsx b/src/components/ErrorMessageRow.tsx
index 2e6e41449274..7137def9a345 100644
--- a/src/components/ErrorMessageRow.tsx
+++ b/src/components/ErrorMessageRow.tsx
@@ -1,4 +1,4 @@
-import {mapValues} from 'lodash';
+import mapValues from 'lodash/mapValues';
 import React from 'react';
 import type {StyleProp, ViewStyle} from 'react-native';
 import type * as OnyxCommon from '@src/types/onyx/OnyxCommon';
diff --git a/src/components/MapView/PendingMapView.tsx b/src/components/MapView/PendingMapView.tsx
index cc9829517154..dc84af0b395e 100644
--- a/src/components/MapView/PendingMapView.tsx
+++ b/src/components/MapView/PendingMapView.tsx
@@ -1,4 +1,4 @@
-import _ from 'lodash';
+import isEmpty from 'lodash/isEmpty';
 import React from 'react';
 import {View} from 'react-native';
 import BlockingView from '@components/BlockingViews/BlockingView';
@@ -10,7 +10,7 @@ import variables from '@styles/variables';
 import type {PendingMapViewProps} from './MapViewTypes';
 
 function PendingMapView({title = '', subtitle = '', style, isSmallerIcon = false}: PendingMapViewProps) {
-    const hasTextContent = !_.isEmpty(title) || !_.isEmpty(subtitle);
+    const hasTextContent = !isEmpty(title) || !isEmpty(subtitle);
     const styles = useThemeStyles();
     const theme = useTheme();
     const iconSize = isSmallerIcon ? variables.iconSizeSuperLarge : variables.iconSizeUltraLarge;
diff --git a/src/components/SelectionScreen.tsx b/src/components/SelectionScreen.tsx
index b86084421fac..8382029bc12f 100644
--- a/src/components/SelectionScreen.tsx
+++ b/src/components/SelectionScreen.tsx
@@ -1,4 +1,4 @@
-import {isEmpty} from 'lodash';
+import isEmpty from 'lodash/isEmpty';
 import React from 'react';
 import type {StyleProp, ViewStyle} from 'react-native';
 import useLocalize from '@hooks/useLocalize';
diff --git a/src/components/VideoPlayer/BaseVideoPlayer.tsx b/src/components/VideoPlayer/BaseVideoPlayer.tsx
index 1fd0fa4f669a..14943a42a9d8 100644
--- a/src/components/VideoPlayer/BaseVideoPlayer.tsx
+++ b/src/components/VideoPlayer/BaseVideoPlayer.tsx
@@ -1,7 +1,7 @@
 /* eslint-disable no-underscore-dangle */
 import type {AVPlaybackStatus, VideoFullscreenUpdateEvent} from 'expo-av';
 import {ResizeMode, Video, VideoFullscreenUpdate} from 'expo-av';
-import {debounce} from 'lodash';
+import debounce from 'lodash/debounce';
 import type {MutableRefObject} from 'react';
 import React, {useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState} from 'react';
 import type {GestureResponderEvent} from 'react-native';
diff --git a/src/hooks/useFetchRoute.ts b/src/hooks/useFetchRoute.ts
index 736e99a31d66..4222f9f0183c 100644
--- a/src/hooks/useFetchRoute.ts
+++ b/src/hooks/useFetchRoute.ts
@@ -1,4 +1,4 @@
-import {isEqual} from 'lodash';
+import isEqual from 'lodash/isEqual';
 import {useEffect} from 'react';
 import type {OnyxEntry} from 'react-native-onyx';
 import * as IOUUtils from '@libs/IOUUtils';
diff --git a/src/hooks/useHandleExceedMaxCommentLength.ts b/src/hooks/useHandleExceedMaxCommentLength.ts
index 69c1d7597164..8afa88da38b5 100644
--- a/src/hooks/useHandleExceedMaxCommentLength.ts
+++ b/src/hooks/useHandleExceedMaxCommentLength.ts
@@ -1,4 +1,4 @@
-import _ from 'lodash';
+import debounce from 'lodash/debounce';
 import {useCallback, useMemo, useState} from 'react';
 import * as ReportUtils from '@libs/ReportUtils';
 import type {ParsingDetails} from '@libs/ReportUtils';
@@ -20,7 +20,7 @@ const useHandleExceedMaxCommentLength = () => {
         [hasExceededMaxCommentLength],
     );
 
-    const validateCommentMaxLength = useMemo(() => _.debounce(handleValueChange, 1500, {leading: true}), [handleValueChange]);
+    const validateCommentMaxLength = useMemo(() => debounce(handleValueChange, 1500, {leading: true}), [handleValueChange]);
 
     return {hasExceededMaxCommentLength, validateCommentMaxLength};
 };
diff --git a/src/languages/en.ts b/src/languages/en.ts
index a7ddea880161..4581ef33ed38 100755
--- a/src/languages/en.ts
+++ b/src/languages/en.ts
@@ -1,5 +1,5 @@
 import {CONST as COMMON_CONST, Str} from 'expensify-common';
-import {startCase} from 'lodash';
+import startCase from 'lodash/startCase';
 import CONST from '@src/CONST';
 import type {Country} from '@src/CONST';
 import type {ConnectionName, PolicyConnectionSyncStage, SageIntacctMappingName} from '@src/types/onyx/Policy';
diff --git a/src/libs/CardUtils.ts b/src/libs/CardUtils.ts
index a317fccda550..07ed431a0bc0 100644
--- a/src/libs/CardUtils.ts
+++ b/src/libs/CardUtils.ts
@@ -1,4 +1,4 @@
-import lodash from 'lodash';
+import groupBy from 'lodash/groupBy';
 import Onyx from 'react-native-onyx';
 import type {OnyxCollection, OnyxEntry} from 'react-native-onyx';
 import type {ValueOf} from 'type-fest';
@@ -107,7 +107,7 @@ function getDomainCards(cardList: OnyxEntry<CardList>): Record<string, Card[]> {
     // Check for domainName to filter out personal credit cards.
     const activeCards = Object.values(cardList ?? {}).filter((card) => !!card?.domainName && CONST.EXPENSIFY_CARD.ACTIVE_STATES.some((element) => element === card.state));
 
-    return lodash.groupBy(activeCards, (card) => card.domainName);
+    return groupBy(activeCards, (card) => card.domainName);
 }
 
 /**
diff --git a/src/libs/Middleware/HandleUnusedOptimisticID.ts b/src/libs/Middleware/HandleUnusedOptimisticID.ts
index db726855d075..ad010880bdf7 100644
--- a/src/libs/Middleware/HandleUnusedOptimisticID.ts
+++ b/src/libs/Middleware/HandleUnusedOptimisticID.ts
@@ -1,4 +1,4 @@
-import _ from 'lodash';
+import clone from 'lodash/clone';
 import deepReplaceKeysAndValues from '@libs/deepReplaceKeysAndValues';
 import type {Middleware} from '@libs/Request';
 import * as PersistedRequests from '@userActions/PersistedRequests';
@@ -38,7 +38,7 @@ const handleUnusedOptimisticID: Middleware = (requestResponse, request, isFromSe
             PersistedRequests.getAll()
                 .slice(offset)
                 .forEach((persistedRequest, index) => {
-                    const persistedRequestClone = _.clone(persistedRequest);
+                    const persistedRequestClone = clone(persistedRequest);
                     persistedRequestClone.data = deepReplaceKeysAndValues(persistedRequest.data, oldReportID as string, preexistingReportID);
                     PersistedRequests.update(index + offset, persistedRequestClone);
                 });
diff --git a/src/libs/Navigation/dismissModalWithReport.ts b/src/libs/Navigation/dismissModalWithReport.ts
index 1579a0565726..854b2e586caf 100644
--- a/src/libs/Navigation/dismissModalWithReport.ts
+++ b/src/libs/Navigation/dismissModalWithReport.ts
@@ -1,7 +1,7 @@
 import {getActionFromState} from '@react-navigation/core';
 import type {NavigationContainerRef} from '@react-navigation/native';
 import {StackActions} from '@react-navigation/native';
-import {findLastIndex} from 'lodash';
+import findLastIndex from 'lodash/findLastIndex';
 import type {OnyxEntry} from 'react-native-onyx';
 import Log from '@libs/Log';
 import {isCentralPaneName} from '@libs/NavigationUtils';
diff --git a/src/libs/Navigation/linkTo/index.ts b/src/libs/Navigation/linkTo/index.ts
index 1fc99c771ca5..3ca41846d2b4 100644
--- a/src/libs/Navigation/linkTo/index.ts
+++ b/src/libs/Navigation/linkTo/index.ts
@@ -1,7 +1,7 @@
 import {getActionFromState} from '@react-navigation/core';
 import type {NavigationContainerRef, NavigationState, PartialState} from '@react-navigation/native';
 import {findFocusedRoute} from '@react-navigation/native';
-import {omitBy} from 'lodash';
+import omitBy from 'lodash/omitBy';
 import getIsNarrowLayout from '@libs/getIsNarrowLayout';
 import isReportOpenInRHP from '@libs/Navigation/isReportOpenInRHP';
 import {isCentralPaneName} from '@libs/NavigationUtils';
diff --git a/src/libs/NetworkConnection.ts b/src/libs/NetworkConnection.ts
index c77ed94ca1bb..cb9faae31ddd 100644
--- a/src/libs/NetworkConnection.ts
+++ b/src/libs/NetworkConnection.ts
@@ -1,5 +1,5 @@
 import NetInfo from '@react-native-community/netinfo';
-import {isBoolean} from 'lodash';
+import isBoolean from 'lodash/isBoolean';
 import throttle from 'lodash/throttle';
 import Onyx from 'react-native-onyx';
 import type {ValueOf} from 'type-fest';
diff --git a/src/libs/ReceiptUtils.ts b/src/libs/ReceiptUtils.ts
index 49c275278c46..ed7def2ed1ec 100644
--- a/src/libs/ReceiptUtils.ts
+++ b/src/libs/ReceiptUtils.ts
@@ -1,5 +1,5 @@
 import {Str} from 'expensify-common';
-import _ from 'lodash';
+import findLast from 'lodash/findLast';
 import type {OnyxEntry} from 'react-native-onyx';
 import CONST from '@src/CONST';
 import ROUTES from '@src/ROUTES';
@@ -30,7 +30,7 @@ function getThumbnailAndImageURIs(transaction: OnyxEntry<Transaction>, receiptPa
         return {isThumbnail: true, isLocalFile: true};
     }
     // If there're errors, we need to display them in preview. We can store many files in errors, but we just need to get the last one
-    const errors = _.findLast(transaction?.errors) as ReceiptError | undefined;
+    const errors = findLast(transaction?.errors) as ReceiptError | undefined;
     // URI to image, i.e. blob:new.expensify.com/9ef3a018-4067-47c6-b29f-5f1bd35f213d or expensify.com/receipts/w_e616108497ef940b7210ec6beb5a462d01a878f4.jpg
     const path = errors?.source ?? transaction?.receipt?.source ?? receiptPath ?? '';
     // filename of uploaded image or last part of remote URI
diff --git a/src/libs/ReportActionsUtils.ts b/src/libs/ReportActionsUtils.ts
index 1a6d33aa9f7f..f584f694edd0 100644
--- a/src/libs/ReportActionsUtils.ts
+++ b/src/libs/ReportActionsUtils.ts
@@ -1,6 +1,7 @@
 import {fastMerge, Str} from 'expensify-common';
-import _ from 'lodash';
+import clone from 'lodash/clone';
 import lodashFindLast from 'lodash/findLast';
+import isEmpty from 'lodash/isEmpty';
 import type {NullishDeep, OnyxCollection, OnyxEntry, OnyxUpdate} from 'react-native-onyx';
 import Onyx from 'react-native-onyx';
 import type {ValueOf} from 'type-fest';
@@ -422,7 +423,7 @@ function getCombinedReportActions(
     const isSentMoneyReport = reportActions.some((action) => isSentMoneyReportAction(action));
 
     // We don't want to combine report actions of transaction thread in iou report of send money request because we display the transaction report of send money request as a normal thread
-    if (_.isEmpty(transactionThreadReportID) || isSentMoneyReport) {
+    if (isEmpty(transactionThreadReportID) || isSentMoneyReport) {
         return reportActions;
     }
 
@@ -722,7 +723,7 @@ function replaceBaseURLInPolicyChangeLogAction(reportAction: ReportAction): Repo
         return reportAction;
     }
 
-    const updatedReportAction = _.clone(reportAction);
+    const updatedReportAction = clone(reportAction);
 
     if (!updatedReportAction.message) {
         return updatedReportAction;
@@ -737,7 +738,7 @@ function replaceBaseURLInPolicyChangeLogAction(reportAction: ReportAction): Repo
 
 function getLastVisibleAction(reportID: string, actionsToMerge: Record<string, NullishDeep<ReportAction> | null> = {}): OnyxEntry<ReportAction> {
     let reportActions: Array<ReportAction | null | undefined> = [];
-    if (!_.isEmpty(actionsToMerge)) {
+    if (!isEmpty(actionsToMerge)) {
         reportActions = Object.values(fastMerge(allReportActions?.[`${ONYXKEYS.COLLECTION.REPORT_ACTIONS}${reportID}`] ?? {}, actionsToMerge ?? {}, true)) as Array<
             ReportAction | null | undefined
         >;
@@ -1404,7 +1405,7 @@ function getActionableMentionWhisperMessage(reportAction: OnyxEntry<ReportAction
     const mentionElements = targetAccountIDs.map((accountID): string => {
         const personalDetail = personalDetails.find((personal) => personal.accountID === accountID);
         const displayName = PersonalDetailsUtils.getEffectiveDisplayName(personalDetail);
-        const handleText = _.isEmpty(displayName) ? Localize.translateLocal('common.hidden') : displayName;
+        const handleText = isEmpty(displayName) ? Localize.translateLocal('common.hidden') : displayName;
         return `<mention-user accountID=${accountID}>@${handleText}</mention-user>`;
     });
     const preMentionsText = 'Heads up, ';
diff --git a/src/libs/ReportUtils.ts b/src/libs/ReportUtils.ts
index f37f3f940516..0b7d8c2ad2fc 100644
--- a/src/libs/ReportUtils.ts
+++ b/src/libs/ReportUtils.ts
@@ -1,10 +1,11 @@
 import {format} from 'date-fns';
 import {Str} from 'expensify-common';
-import {isEmpty, isNumber} from 'lodash';
 import lodashEscape from 'lodash/escape';
 import lodashFindLastIndex from 'lodash/findLastIndex';
 import lodashIntersection from 'lodash/intersection';
+import isEmpty from 'lodash/isEmpty';
 import lodashIsEqual from 'lodash/isEqual';
+import isNumber from 'lodash/isNumber';
 import lodashMaxBy from 'lodash/maxBy';
 import type {OnyxCollection, OnyxEntry, OnyxUpdate} from 'react-native-onyx';
 import Onyx from 'react-native-onyx';
diff --git a/src/libs/StringUtils.ts b/src/libs/StringUtils.ts
index 5cc80a9a9005..10730150489c 100644
--- a/src/libs/StringUtils.ts
+++ b/src/libs/StringUtils.ts
@@ -1,4 +1,4 @@
-import _ from 'lodash';
+import deburr from 'lodash/deburr';
 import CONST from '@src/CONST';
 
 /**
@@ -7,7 +7,7 @@ import CONST from '@src/CONST';
  * @returns The sanitized string
  */
 function sanitizeString(str: string): string {
-    return _.deburr(str).toLowerCase().replaceAll(CONST.REGEX.NON_ALPHABETIC_AND_NON_LATIN_CHARS, '');
+    return deburr(str).toLowerCase().replaceAll(CONST.REGEX.NON_ALPHABETIC_AND_NON_LATIN_CHARS, '');
 }
 
 /**
diff --git a/src/libs/actions/Policy/Policy.ts b/src/libs/actions/Policy/Policy.ts
index e30ddaf97e1f..df31b90c6831 100644
--- a/src/libs/actions/Policy/Policy.ts
+++ b/src/libs/actions/Policy/Policy.ts
@@ -1,6 +1,6 @@
 import {PUBLIC_DOMAINS, Str} from 'expensify-common';
-import {escapeRegExp} from 'lodash';
 import lodashClone from 'lodash/clone';
+import escapeRegExp from 'lodash/escapeRegExp';
 import lodashUnion from 'lodash/union';
 import type {NullishDeep, OnyxCollection, OnyxEntry, OnyxUpdate} from 'react-native-onyx';
 import Onyx from 'react-native-onyx';
diff --git a/src/libs/actions/Transaction.ts b/src/libs/actions/Transaction.ts
index d7223524b32b..e19251b62ce8 100644
--- a/src/libs/actions/Transaction.ts
+++ b/src/libs/actions/Transaction.ts
@@ -1,7 +1,7 @@
 import {getUnixTime} from 'date-fns';
-import {isEqual} from 'lodash';
 import lodashClone from 'lodash/clone';
 import lodashHas from 'lodash/has';
+import isEqual from 'lodash/isEqual';
 import type {OnyxCollection, OnyxEntry, OnyxUpdate} from 'react-native-onyx';
 import Onyx from 'react-native-onyx';
 import * as API from '@libs/API';
diff --git a/src/libs/migrations/RemoveEmptyReportActionsDrafts.ts b/src/libs/migrations/RemoveEmptyReportActionsDrafts.ts
index ce2f8de77634..5dc1ada1947d 100644
--- a/src/libs/migrations/RemoveEmptyReportActionsDrafts.ts
+++ b/src/libs/migrations/RemoveEmptyReportActionsDrafts.ts
@@ -1,4 +1,4 @@
-import _ from 'lodash';
+import isEmpty from 'lodash/isEmpty';
 import type {OnyxInputValue} from 'react-native-onyx';
 import Onyx from 'react-native-onyx';
 import Log from '@libs/Log';
@@ -38,7 +38,7 @@ export default function (): Promise<void> {
                                 hasUnmigratedDraft = true;
                                 Log.info(`[Migrate Onyx] Migrating draft for report action ${reportActionID}`);
 
-                                if (_.isEmpty(reportActionDraft)) {
+                                if (isEmpty(reportActionDraft)) {
                                     Log.info(`[Migrate Onyx] Removing draft for report action ${reportActionID}`);
                                     return;
                                 }
diff --git a/src/pages/home/report/comment/TextCommentFragment.tsx b/src/pages/home/report/comment/TextCommentFragment.tsx
index 2e64af6c534e..221e91b9ba4a 100644
--- a/src/pages/home/report/comment/TextCommentFragment.tsx
+++ b/src/pages/home/report/comment/TextCommentFragment.tsx
@@ -1,5 +1,5 @@
 import {Str} from 'expensify-common';
-import {isEmpty} from 'lodash';
+import isEmpty from 'lodash/isEmpty';
 import React, {memo, useEffect} from 'react';
 import type {StyleProp, TextStyle} from 'react-native';
 import Text from '@components/Text';
diff --git a/src/pages/iou/request/step/IOURequestStepDistance.tsx b/src/pages/iou/request/step/IOURequestStepDistance.tsx
index 229d31959db7..14597df8e313 100644
--- a/src/pages/iou/request/step/IOURequestStepDistance.tsx
+++ b/src/pages/iou/request/step/IOURequestStepDistance.tsx
@@ -1,4 +1,5 @@
-import {isEmpty, isEqual} from 'lodash';
+import isEmpty from 'lodash/isEmpty';
+import isEqual from 'lodash/isEqual';
 import React, {useCallback, useEffect, useMemo, useRef, useState} from 'react';
 import {View} from 'react-native';
 // eslint-disable-next-line no-restricted-imports
diff --git a/src/pages/settings/Profile/PersonalDetails/StateSelectionPage.tsx b/src/pages/settings/Profile/PersonalDetails/StateSelectionPage.tsx
index c04e631bd13f..2a42f1922bf8 100644
--- a/src/pages/settings/Profile/PersonalDetails/StateSelectionPage.tsx
+++ b/src/pages/settings/Profile/PersonalDetails/StateSelectionPage.tsx
@@ -1,6 +1,6 @@
 import {useNavigation, useRoute} from '@react-navigation/native';
 import {CONST as COMMON_CONST} from 'expensify-common';
-import _ from 'lodash';
+import isEmpty from 'lodash/isEmpty';
 import React, {useCallback, useMemo, useState} from 'react';
 import {View} from 'react-native';
 import HeaderWithBackButton from '@components/HeaderWithBackButton';
@@ -60,14 +60,14 @@ function StateSelectionPage() {
             // Determine navigation action based on "backTo" presence and route stack length.
             if (navigation.getState()?.routes.length === 1) {
                 // If this is the only page in the navigation stack (examples include direct navigation to this page via URL or page reload).
-                if (_.isEmpty(backTo)) {
+                if (isEmpty(backTo)) {
                     // No "backTo": default back navigation.
                     Navigation.goBack();
                 } else {
                     // "backTo" provided: navigate back to "backTo" with state parameter.
                     Navigation.goBack(appendParam(backTo, 'state', option.value));
                 }
-            } else if (!_.isEmpty(backTo)) {
+            } else if (!isEmpty(backTo)) {
                 // Most common case: Navigation stack has multiple routes and "backTo" is defined: navigate to "backTo" with state parameter.
                 Navigation.navigate(appendParam(backTo, 'state', option.value));
             } else {
diff --git a/src/pages/settings/Wallet/WalletPage/WalletPage.tsx b/src/pages/settings/Wallet/WalletPage/WalletPage.tsx
index a7bd270a7a7f..316c0b66b95d 100644
--- a/src/pages/settings/Wallet/WalletPage/WalletPage.tsx
+++ b/src/pages/settings/Wallet/WalletPage/WalletPage.tsx
@@ -1,4 +1,5 @@
-import _ from 'lodash';
+import debounce from 'lodash/debounce';
+import isEmpty from 'lodash/isEmpty';
 import type {ForwardedRef, RefObject} from 'react';
 import React, {useCallback, useEffect, useLayoutEffect, useRef, useState} from 'react';
 import type {GestureResponderEvent} from 'react-native';
@@ -94,10 +95,10 @@ function WalletPage({shouldListenForResize = false}: WalletPageProps) {
     });
     const [showConfirmDeleteModal, setShowConfirmDeleteModal] = useState(false);
 
-    const hasBankAccount = !_.isEmpty(bankAccountList) || !_.isEmpty(fundList);
-    const hasWallet = !_.isEmpty(userWallet);
+    const hasBankAccount = !isEmpty(bankAccountList) || !isEmpty(fundList);
+    const hasWallet = !isEmpty(userWallet);
     const hasActivatedWallet = ([CONST.WALLET.TIER_NAME.GOLD, CONST.WALLET.TIER_NAME.PLATINUM] as string[]).includes(userWallet?.tierName ?? '');
-    const hasAssignedCard = !_.isEmpty(cardList);
+    const hasAssignedCard = !isEmpty(cardList);
     const shouldShowEmptyState = !hasBankAccount && !hasWallet && !hasAssignedCard;
 
     const isPendingOnfidoResult = userWallet?.isPendingOnfidoResult ?? false;
@@ -111,7 +112,7 @@ function WalletPage({shouldListenForResize = false}: WalletPageProps) {
         }
     }, [isLoadingPaymentMethods, network.isOffline, shouldShowLoadingSpinner]);
 
-    const debounceSetShouldShowLoadingSpinner = _.debounce(updateShouldShowLoadingSpinner, CONST.TIMING.SHOW_LOADING_SPINNER_DEBOUNCE_TIME);
+    const debounceSetShouldShowLoadingSpinner = debounce(updateShouldShowLoadingSpinner, CONST.TIMING.SHOW_LOADING_SPINNER_DEBOUNCE_TIME);
 
     /**
      * Set position of the payment menu
@@ -308,7 +309,7 @@ function WalletPage({shouldListenForResize = false}: WalletPageProps) {
                 return;
             }
             if (shouldShowAddPaymentMenu) {
-                _.debounce(setMenuPosition, CONST.TIMING.RESIZE_DEBOUNCE_TIME)();
+                debounce(setMenuPosition, CONST.TIMING.RESIZE_DEBOUNCE_TIME)();
                 return;
             }
             setMenuPosition();
@@ -329,9 +330,9 @@ function WalletPage({shouldListenForResize = false}: WalletPageProps) {
         // We should reset selected payment method state values and close corresponding modals if the selected payment method is deleted
         let shouldResetPaymentMethodData = false;
 
-        if (paymentMethod.selectedPaymentMethodType === CONST.PAYMENT_METHODS.PERSONAL_BANK_ACCOUNT && _.isEmpty(bankAccountList?.[paymentMethod.methodID])) {
+        if (paymentMethod.selectedPaymentMethodType === CONST.PAYMENT_METHODS.PERSONAL_BANK_ACCOUNT && isEmpty(bankAccountList?.[paymentMethod.methodID])) {
             shouldResetPaymentMethodData = true;
-        } else if (paymentMethod.selectedPaymentMethodType === CONST.PAYMENT_METHODS.DEBIT_CARD && _.isEmpty(fundList?.[paymentMethod.methodID])) {
+        } else if (paymentMethod.selectedPaymentMethodType === CONST.PAYMENT_METHODS.DEBIT_CARD && isEmpty(fundList?.[paymentMethod.methodID])) {
             shouldResetPaymentMethodData = true;
         }
         if (shouldResetPaymentMethodData) {
diff --git a/src/pages/workspace/accounting/intacct/export/SageIntacctPreferredExporterPage.tsx b/src/pages/workspace/accounting/intacct/export/SageIntacctPreferredExporterPage.tsx
index 0617b8b690fe..25b42eca315b 100644
--- a/src/pages/workspace/accounting/intacct/export/SageIntacctPreferredExporterPage.tsx
+++ b/src/pages/workspace/accounting/intacct/export/SageIntacctPreferredExporterPage.tsx
@@ -1,4 +1,4 @@
-import {isEmpty} from 'lodash';
+import isEmpty from 'lodash/isEmpty';
 import React, {useCallback, useMemo} from 'react';
 import {View} from 'react-native';
 import RadioListItem from '@components/SelectionList/RadioListItem';
diff --git a/src/pages/workspace/accounting/netsuite/export/NetSuitePreferredExporterSelectPage.tsx b/src/pages/workspace/accounting/netsuite/export/NetSuitePreferredExporterSelectPage.tsx
index b07a717a7abb..8e926995ec8e 100644
--- a/src/pages/workspace/accounting/netsuite/export/NetSuitePreferredExporterSelectPage.tsx
+++ b/src/pages/workspace/accounting/netsuite/export/NetSuitePreferredExporterSelectPage.tsx
@@ -1,4 +1,4 @@
-import {isEmpty} from 'lodash';
+import isEmpty from 'lodash/isEmpty';
 import React, {useCallback, useMemo} from 'react';
 import {View} from 'react-native';
 import RadioListItem from '@components/SelectionList/RadioListItem';
diff --git a/src/pages/workspace/accounting/xero/export/XeroPreferredExporterSelectPage.tsx b/src/pages/workspace/accounting/xero/export/XeroPreferredExporterSelectPage.tsx
index 23d178c725fe..ac3e37d60048 100644
--- a/src/pages/workspace/accounting/xero/export/XeroPreferredExporterSelectPage.tsx
+++ b/src/pages/workspace/accounting/xero/export/XeroPreferredExporterSelectPage.tsx
@@ -1,4 +1,4 @@
-import {isEmpty} from 'lodash';
+import isEmpty from 'lodash/isEmpty';
 import React, {useCallback, useMemo} from 'react';
 import {View} from 'react-native';
 import RadioListItem from '@components/SelectionList/RadioListItem';
diff --git a/src/pages/workspace/accounting/xero/export/XeroPurchaseBillStatusSelectorPage.tsx b/src/pages/workspace/accounting/xero/export/XeroPurchaseBillStatusSelectorPage.tsx
index bf656da26fda..4d0af9eb26fb 100644
--- a/src/pages/workspace/accounting/xero/export/XeroPurchaseBillStatusSelectorPage.tsx
+++ b/src/pages/workspace/accounting/xero/export/XeroPurchaseBillStatusSelectorPage.tsx
@@ -1,4 +1,4 @@
-import {isEmpty} from 'lodash';
+import isEmpty from 'lodash/isEmpty';
 import React, {useCallback, useMemo} from 'react';
 import {View} from 'react-native';
 import type {ValueOf} from 'type-fest';
