diff --git a/.eslintrc.json b/.eslintrc.json index ded4bc92..4a9dfcb4 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -3,32 +3,21 @@ "browser": true, "es2021": true }, - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "plugin:react/recommended" - ], + "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "plugin:react/recommended", "prettier"], "parser": "@typescript-eslint/parser", "parserOptions": { "ecmaVersion": "latest", "sourceType": "module" }, - "plugins": [ - "@typescript-eslint", - "react" - ], + "plugins": ["@typescript-eslint", "react", "prettier"], "rules": { - "quotes": [ - "warn", - "single" - ], - "semi": [ - "error", - "always" - ], - "object-curly-spacing": [ - "error", - "always" - ] + "quotes": ["error", "single", { "avoidEscape": true }], + "semi": ["error", "always"], + "object-curly-spacing": ["error", "always"] + }, + "settings": { + "react": { + "version": "detect" + } } } diff --git a/.github/workflows/azure-static-web-apps-brave-flower-021735410.yml b/.github/workflows/azure-static-web-apps-brave-flower-021735410.yml index fa3057dd..412542ec 100644 --- a/.github/workflows/azure-static-web-apps-brave-flower-021735410.yml +++ b/.github/workflows/azure-static-web-apps-brave-flower-021735410.yml @@ -1,47 +1,47 @@ name: Azure Static Web Apps CI/CD on: - push: - branches: - - master - pull_request: - types: [opened, synchronize, reopened, closed] - branches: - - master + push: + branches: + - master + pull_request: + types: [opened, synchronize, reopened, closed] + branches: + - master jobs: - build_and_deploy_job: - if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') - runs-on: ubuntu-latest - env: - CI: false - name: Build and Deploy Job - steps: - - uses: actions/checkout@v3 - with: - submodules: true - - name: Build And Deploy - id: builddeploy - uses: Azure/static-web-apps-deploy@v1 - with: - azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_BRAVE_FLOWER_021735410 }} - repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments) - action: "upload" - ###### Repository/Build Configurations - These values can be configured to match your app requirements. ###### - # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig - app_location: "/" # App source code path - api_location: "" # Api source code path - optional - output_location: "dist" # Built app content directory - optional - ###### End of Repository/Build Configurations ###### + build_and_deploy_job: + if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.action != 'closed') + runs-on: ubuntu-latest + env: + CI: false + name: Build and Deploy Job + steps: + - uses: actions/checkout@v3 + with: + submodules: true + - name: Build And Deploy + id: builddeploy + uses: Azure/static-web-apps-deploy@v1 + with: + azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_BRAVE_FLOWER_021735410 }} + repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments) + action: 'upload' + ###### Repository/Build Configurations - These values can be configured to match your app requirements. ###### + # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig + app_location: '/' # App source code path + api_location: '' # Api source code path - optional + output_location: 'dist' # Built app content directory - optional + ###### End of Repository/Build Configurations ###### - close_pull_request_job: - if: github.event_name == 'pull_request' && github.event.action == 'closed' - runs-on: ubuntu-latest - name: Close Pull Request Job - steps: - - name: Close Pull Request - id: closepullrequest - uses: Azure/static-web-apps-deploy@v1 - with: - azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_BRAVE_FLOWER_021735410 }} - action: "close" + close_pull_request_job: + if: github.event_name == 'pull_request' && github.event.action == 'closed' + runs-on: ubuntu-latest + name: Close Pull Request Job + steps: + - name: Close Pull Request + id: closepullrequest + uses: Azure/static-web-apps-deploy@v1 + with: + azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_BRAVE_FLOWER_021735410 }} + action: 'close' diff --git a/.prettierrc.json b/.prettierrc.json index 2eb86a0f..38d7c5f2 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -1,12 +1,12 @@ { - "tabWidth": 4, - "useTabs": false, - "singleQuote": true, - "semi": true, - "bracketSpacing": true, - "arrowParens": "avoid", - "trailingComma": "es5", - "bracketSameLine": true, - "printWidth": 120, - "endOfLine": "auto" + "tabWidth": 4, + "useTabs": false, + "singleQuote": true, + "semi": true, + "bracketSpacing": true, + "arrowParens": "avoid", + "trailingComma": "es5", + "bracketSameLine": true, + "printWidth": 120, + "endOfLine": "auto" } diff --git a/index.html b/index.html index 098922a7..a7134c52 100644 --- a/index.html +++ b/index.html @@ -1,30 +1,29 @@ - + - - - - + - - - - - - - - - - - + + - Tacticus Planner - - - -
- - - - \ No newline at end of file + + + diff --git a/package-lock.json b/package-lock.json index 66d801c2..dd480e62 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,9847 +1,16714 @@ { - "name": "tacticusplanner", - "version": "0.1.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "tacticusplanner", - "version": "0.1.0", - "dependencies": { - "@mui/icons-material": "^5.14.3", - "@mui/material": "^5.14.4", - "ag-grid-community": "^30.0.6", - "ag-grid-react": "^30.0.6", - "axios": "^1.5.0", - "lodash": "^4.17.21", - "material-ui-popup-state": "^5.0.9", - "notistack": "^3.0.1", - "react": "^18.2.0", - "react-device-detect": "^2.2.3", - "react-dom": "^18.2.0", - "react-router-dom": "^6.15.0", - "sass": "^1.69.5", - "typescript": "^4.9.5", - "uuid": "^9.0.1", - "web-vitals": "^2.1.4" - }, - "devDependencies": { - "@babel/plugin-proposal-private-property-in-object": "^7.21.11", - "@emotion/babel-plugin": "^11.11.0", - "@testing-library/jest-dom": "^5.17.0", - "@testing-library/react": "^13.4.0", - "@testing-library/user-event": "^13.5.0", - "@types/jest": "^27.5.2", - "@types/lodash": "^4.14.197", - "@types/node": "^16.18.40", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", - "@types/uuid": "^9.0.4", - "@vitejs/plugin-react": "^4.2.1", - "browserslist-to-esbuild": "^2.1.1", - "eslint": "^8.46.0", - "gh-pages": "^5.0.0", - "prettier": "^3.0.3", - "vite": "^4.5.1", - "vite-bundle-visualizer": "^1.0.0", - "vite-tsconfig-paths": "^4.2.3" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@adobe/css-tools": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.2.tgz", - "integrity": "sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw==", - "dev": true - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "devOptional": true, - "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", - "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.7", - "@babel/parser": "^7.23.6", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.10.tgz", - "integrity": "sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "devOptional": true, - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", - "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", - "devOptional": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "devOptional": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.8.tgz", - "integrity": "sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "devOptional": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz", - "integrity": "sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", - "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", - "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", - "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", - "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", - "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", - "devOptional": true, - "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@emotion/babel-plugin": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", - "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", - "devOptional": true, - "dependencies": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/serialize": "^1.1.2", - "babel-plugin-macros": "^3.1.0", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^4.0.0", - "find-root": "^1.1.0", - "source-map": "^0.5.7", - "stylis": "4.2.0" - } - }, - "node_modules/@emotion/babel-plugin/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "devOptional": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@emotion/babel-plugin/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "devOptional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@emotion/cache": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", - "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", - "dependencies": { - "@emotion/memoize": "^0.8.1", - "@emotion/sheet": "^1.2.2", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", - "stylis": "4.2.0" - } - }, - "node_modules/@emotion/hash": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", - "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==", - "devOptional": true - }, - "node_modules/@emotion/is-prop-valid": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz", - "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==", - "dependencies": { - "@emotion/memoize": "^0.8.1" - } - }, - "node_modules/@emotion/memoize": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", - "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" - }, - "node_modules/@emotion/react": { - "version": "11.11.1", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz", - "integrity": "sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==", - "optional": true, - "peer": true, - "dependencies": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.11.0", - "@emotion/cache": "^11.11.0", - "@emotion/serialize": "^1.1.2", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", - "hoist-non-react-statics": "^3.3.1" - }, - "peerDependencies": { - "react": ">=16.8.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@emotion/serialize": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz", - "integrity": "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==", - "devOptional": true, - "dependencies": { - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/unitless": "^0.8.1", - "@emotion/utils": "^1.2.1", - "csstype": "^3.0.2" - } - }, - "node_modules/@emotion/sheet": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", - "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" - }, - "node_modules/@emotion/styled": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz", - "integrity": "sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==", - "optional": true, - "peer": true, - "dependencies": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.11.0", - "@emotion/is-prop-valid": "^1.2.1", - "@emotion/serialize": "^1.1.2", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", - "@emotion/utils": "^1.2.1" - }, - "peerDependencies": { - "@emotion/react": "^11.0.0-rc.0", - "react": ">=16.8.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@emotion/unitless": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", - "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==", - "devOptional": true - }, - "node_modules/@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", - "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", - "optional": true, - "peer": true, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@emotion/utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", - "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" - }, - "node_modules/@emotion/weak-memoize": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", - "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" - }, - "node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz", - "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz", - "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@mui/base": { - "version": "5.0.0-beta.10", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.10.tgz", - "integrity": "sha512-moTAhGwFfQffj7hsu61FnqcGqVcd53A1CrOhnskM9TF0Uh2rnLDMCuar4JRUWWpaJofAfQEbQBBFPadFQLI4PA==", - "dependencies": { - "@babel/runtime": "^7.22.6", - "@emotion/is-prop-valid": "^1.2.1", - "@mui/types": "^7.2.4", - "@mui/utils": "^5.14.4", - "@popperjs/core": "^2.11.8", - "clsx": "^2.0.0", - "prop-types": "^15.8.1", - "react-is": "^18.2.0" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/base/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/@mui/core-downloads-tracker": { - "version": "5.14.4", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.4.tgz", - "integrity": "sha512-pW2XghSi3hpYKX57Wu0SCWMTSpzvXZmmucj3TcOJWaCiFt4xr05w2gcwBZi36dAp9uvd9//9N51qbblmnD+GPg==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - } - }, - "node_modules/@mui/icons-material": { - "version": "5.14.3", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.14.3.tgz", - "integrity": "sha512-XkxWPhageu1OPUm2LWjo5XqeQ0t2xfGe8EiLkRW9oz2LHMMZmijvCxulhgquUVTF1DnoSh+3KoDLSsoAFtVNVw==", - "dependencies": { - "@babel/runtime": "^7.22.6" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "@mui/material": "^5.0.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/material": { - "version": "5.14.4", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.14.4.tgz", - "integrity": "sha512-2XUV3KyRC07BQPPzEgd+ss3x/ezXtHeKtOGCMCNmx3MauZojPYUpSwFkE0fYgYCD9dMQMVG4DY/VF38P0KShsg==", - "dependencies": { - "@babel/runtime": "^7.22.6", - "@mui/base": "5.0.0-beta.10", - "@mui/core-downloads-tracker": "^5.14.4", - "@mui/system": "^5.14.4", - "@mui/types": "^7.2.4", - "@mui/utils": "^5.14.4", - "@types/react-transition-group": "^4.4.6", - "clsx": "^2.0.0", - "csstype": "^3.1.2", - "prop-types": "^15.8.1", - "react-is": "^18.2.0", - "react-transition-group": "^4.4.5" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "@emotion/react": "^11.5.0", - "@emotion/styled": "^11.3.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true + "name": "tacticusplanner", + "version": "0.1.0", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "tacticusplanner", + "version": "0.1.0", + "dependencies": { + "@mui/icons-material": "^5.14.3", + "@mui/material": "^5.14.4", + "ag-grid-community": "^30.0.6", + "ag-grid-react": "^30.0.6", + "axios": "^1.5.0", + "lodash": "^4.17.21", + "material-ui-popup-state": "^5.0.9", + "notistack": "^3.0.1", + "react": "^18.2.0", + "react-device-detect": "^2.2.3", + "react-dom": "^18.2.0", + "react-router-dom": "^6.15.0", + "sass": "^1.69.5", + "typescript": "^4.9.5", + "uuid": "^9.0.1", + "web-vitals": "^2.1.4" + }, + "devDependencies": { + "@babel/plugin-proposal-private-property-in-object": "^7.21.11", + "@emotion/babel-plugin": "^11.11.0", + "@testing-library/jest-dom": "^5.17.0", + "@testing-library/react": "^13.4.0", + "@testing-library/user-event": "^13.5.0", + "@types/jest": "^27.5.2", + "@types/lodash": "^4.14.197", + "@types/node": "^16.18.40", + "@types/react": "^18.2.20", + "@types/react-dom": "^18.2.7", + "@types/uuid": "^9.0.4", + "@typescript-eslint/eslint-plugin": "^6.18.1", + "@vitejs/plugin-react": "^4.2.1", + "browserslist-to-esbuild": "^2.1.1", + "eslint": "^8.46.0", + "eslint-config-prettier": "^9.1.0", + "eslint-config-react-app": "^7.0.1", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-react": "^7.33.2", + "gh-pages": "^5.0.0", + "prettier": "^3.0.3", + "vite": "^4.5.1", + "vite-bundle-visualizer": "^1.0.0", + "vite-plugin-eslint": "^1.8.1", + "vite-tsconfig-paths": "^4.2.3" + } }, - "@emotion/styled": { - "optional": true + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/material/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/@mui/private-theming": { - "version": "5.14.4", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.14.4.tgz", - "integrity": "sha512-ISXsHDiQ3z1XA4IuKn+iXDWvDjcz/UcQBiFZqtdoIsEBt8CB7wgdQf3LwcwqO81dl5ofg/vNQBEnXuKfZHrnYA==", - "dependencies": { - "@babel/runtime": "^7.22.6", - "@mui/utils": "^5.14.4", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/styled-engine": { - "version": "5.13.2", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.13.2.tgz", - "integrity": "sha512-VCYCU6xVtXOrIN8lcbuPmoG+u7FYuOERG++fpY74hPpEWkyFQG97F+/XfTQVYzlR2m7nPjnwVUgATcTCMEaMvw==", - "dependencies": { - "@babel/runtime": "^7.21.0", - "@emotion/cache": "^11.11.0", - "csstype": "^3.1.2", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "@emotion/react": "^11.4.1", - "@emotion/styled": "^11.3.0", - "react": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true + "node_modules/@adobe/css-tools": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.2.tgz", + "integrity": "sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw==", + "dev": true }, - "@emotion/styled": { - "optional": true - } - } - }, - "node_modules/@mui/system": { - "version": "5.14.4", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.14.4.tgz", - "integrity": "sha512-oPgfWS97QNfHcDBapdkZIs4G5i85BJt69Hp6wbXF6s7vi3Evcmhdk8AbCRW6n0sX4vTj8oe0mh0RIm1G2A1KDA==", - "dependencies": { - "@babel/runtime": "^7.22.6", - "@mui/private-theming": "^5.14.4", - "@mui/styled-engine": "^5.13.2", - "@mui/types": "^7.2.4", - "@mui/utils": "^5.14.4", - "clsx": "^2.0.0", - "csstype": "^3.1.2", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "@emotion/react": "^11.5.0", - "@emotion/styled": "^11.3.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } }, - "@emotion/styled": { - "optional": true + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "devOptional": true, + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } }, - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/types": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.4.tgz", - "integrity": "sha512-LBcwa8rN84bKF+f5sDyku42w1NTxaPgPyYKODsh01U1fVstTClbUoSA96oyRBnSNyEiAVjKm6Gwx9vjR+xyqHA==", - "peerDependencies": { - "@types/react": "*" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@mui/utils": { - "version": "5.14.4", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.14.4.tgz", - "integrity": "sha512-4ANV0txPD3x0IcTCSEHKDWnsutg1K3m6Vz5IckkbLXVYu17oOZCVUdOKsb/txUmaCd0v0PmSRe5PW+Mlvns5dQ==", - "dependencies": { - "@babel/runtime": "^7.22.6", - "@types/prop-types": "^15.7.5", - "@types/react-is": "^18.2.1", - "prop-types": "^15.8.1", - "react-is": "^18.2.0" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "react": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@mui/utils/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@popperjs/core": { - "version": "2.11.8", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", - "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, - "node_modules/@remix-run/router": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.8.0.tgz", - "integrity": "sha512-mrfKqIHnSZRyIzBcanNJmVQELTnX+qagEDlcKO90RgRBVOZGSGvZKeDihTRfWcqoDn5N/NkUcwWTccnpN18Tfg==", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@testing-library/dom": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", - "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", - "dev": true, - "peer": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.1.3", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/@testing-library/dom/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "dev": true, - "peer": true, - "dependencies": { - "deep-equal": "^2.0.5" - } - }, - "node_modules/@testing-library/dom/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "peer": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@testing-library/dom/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "peer": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@testing-library/dom/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "peer": true - }, - "node_modules/@testing-library/dom/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/dom/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "peer": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/jest-dom": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", - "integrity": "sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==", - "dev": true, - "dependencies": { - "@adobe/css-tools": "^4.0.1", - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^5.0.0", - "chalk": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.5.6", - "lodash": "^4.17.15", - "redent": "^3.0.0" - }, - "engines": { - "node": ">=8", - "npm": ">=6", - "yarn": ">=1" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@testing-library/jest-dom/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/jest-dom/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/react": { - "version": "13.4.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", - "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^8.5.0", - "@types/react-dom": "^18.0.0" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@testing-library/react/node_modules/@testing-library/dom": { - "version": "8.20.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", - "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.1.3", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@testing-library/react/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@testing-library/react/node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "dev": true, - "dependencies": { - "deep-equal": "^2.0.5" - } - }, - "node_modules/@testing-library/react/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@testing-library/react/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@testing-library/react/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@testing-library/react/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/react/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@testing-library/user-event": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", - "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.12.5" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - }, - "peerDependencies": { - "@testing-library/dom": ">=7.21.4" - } - }, - "node_modules/@types/aria-query": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", - "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", - "dev": true - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/jest": { - "version": "27.5.2", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", - "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", - "dev": true, - "dependencies": { - "jest-matcher-utils": "^27.0.0", - "pretty-format": "^27.0.0" - } - }, - "node_modules/@types/lodash": { - "version": "4.14.197", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.197.tgz", - "integrity": "sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g==", - "dev": true - }, - "node_modules/@types/node": { - "version": "16.18.40", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.40.tgz", - "integrity": "sha512-+yno3ItTEwGxXiS/75Q/aHaa5srkpnJaH+kdkTVJ3DtJEwv92itpKbxU+FjPoh2m/5G9zmUQfrL4A4C13c+iGA==", - "dev": true - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "devOptional": true - }, - "node_modules/@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "node_modules/@types/react": { - "version": "18.2.20", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.20.tgz", - "integrity": "sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw==", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.2.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", - "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", - "dev": true, - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/react-is": { - "version": "18.2.1", - "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-18.2.1.tgz", - "integrity": "sha512-wyUkmaaSZEzFZivD8F2ftSyAfk6L+DfFliVj/mYdOXbVjRcS87fQJLTnhk6dRZPuJjI+9g6RZJO4PNCngUrmyw==", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/react-transition-group": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.6.tgz", - "integrity": "sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew==", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" - }, - "node_modules/@types/testing-library__jest-dom": { - "version": "5.14.9", - "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz", - "integrity": "sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==", - "dev": true, - "dependencies": { - "@types/jest": "*" - } - }, - "node_modules/@types/uuid": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.4.tgz", - "integrity": "sha512-zAuJWQflfx6dYJM62vna+Sn5aeSWhh3OB+wfUEACNcqUSc0AGc5JKl+ycL1vrH7frGTXhJchYjE1Hak8L819dA==", - "dev": true - }, - "node_modules/@vitejs/plugin-react": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz", - "integrity": "sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==", - "dev": true, - "dependencies": { - "@babel/core": "^7.23.5", - "@babel/plugin-transform-react-jsx-self": "^7.23.3", - "@babel/plugin-transform-react-jsx-source": "^7.23.3", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.14.0" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0" - } - }, - "node_modules/@vitejs/plugin-react/node_modules/react-refresh": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ag-grid-community": { - "version": "30.0.6", - "resolved": "https://registry.npmjs.org/ag-grid-community/-/ag-grid-community-30.0.6.tgz", - "integrity": "sha512-aMTJNXFDC00QxMaI0/V6M0GTzAtsXUvuxuld97S1Kqb4LvFNsycZlQ3/IcHW7JangRQZxAcwmSpBQBV/lcWoEg==" - }, - "node_modules/ag-grid-react": { - "version": "30.0.6", - "resolved": "https://registry.npmjs.org/ag-grid-react/-/ag-grid-react-30.0.6.tgz", - "integrity": "sha512-fWvf4DIyMihbuhvVlhO6pewXyOirEDgM73Pv6s9V1Ay4xp61Y/kdv2JFmkIwCV0NSpA5CKUeu1JFa5vmA/HVMw==", - "dependencies": { - "prop-types": "^15.8.1" - }, - "peerDependencies": { - "ag-grid-community": "~30.0.6", - "react": "^16.3.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.3.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "devOptional": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "dependencies": { - "dequal": "^2.0.3" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", - "dev": true - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "node_modules/available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axios": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz", - "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==", - "dependencies": { - "follow-redirects": "^1.15.4", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/axios/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "devOptional": true, - "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/browserslist-to-esbuild": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/browserslist-to-esbuild/-/browserslist-to-esbuild-2.1.1.tgz", - "integrity": "sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==", - "dev": true, - "dependencies": { - "meow": "^13.0.0" - }, - "bin": { - "browserslist-to-esbuild": "cli/index.js" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "browserslist": "*" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "devOptional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001576", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001576.tgz", - "integrity": "sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "devOptional": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/classnames": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", - "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/clsx": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", - "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "devOptional": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "devOptional": true - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "devOptional": true - }, - "node_modules/cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "devOptional": true, - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", - "dev": true - }, - "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-equal": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", - "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.1", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.2", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dev": true, - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true - }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.4.630", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.630.tgz", - "integrity": "sha512-osHqhtjojpCsACVnuD11xO5g9xaCyw7Qqn/C2KParkMv42i8jrJJgx3g7mkHfpxwhy9MnOJr8+pKOdZ7qzgizg==", - "dev": true - }, - "node_modules/email-addresses": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", - "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "devOptional": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "is-arguments": "^1.1.1", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.7", - "isarray": "^2.0.5", - "stop-iteration-iterator": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "devOptional": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", - "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.1", - "@eslint/js": "^8.46.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.2", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/filenamify": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", - "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", - "dev": true, - "dependencies": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.1", - "trim-repeated": "^1.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "devOptional": true - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "node_modules/follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "dependencies": { - "is-callable": "^1.1.3" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "devOptional": true - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gh-pages": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-5.0.0.tgz", - "integrity": "sha512-Nqp1SjkPIB94Xw/3yYNTUL+G2dxlhjvv1zeN/4kMC1jfViTEqhtVz/Ba1zSXHuvXCN9ADNS1dN4r5/J/nZWEQQ==", - "dev": true, - "dependencies": { - "async": "^3.2.4", - "commander": "^2.18.0", - "email-addresses": "^5.0.0", - "filenamify": "^4.3.0", - "find-cache-dir": "^3.3.1", - "fs-extra": "^8.1.0", - "globby": "^6.1.0" - }, - "bin": { - "gh-pages": "bin/gh-pages.js", - "gh-pages-clean": "bin/gh-pages-clean.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/gh-pages/node_modules/array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dev": true, - "dependencies": { - "array-uniq": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gh-pages/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/gh-pages/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/gh-pages/node_modules/globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", - "dev": true, - "dependencies": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gh-pages/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/gh-pages/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true - }, - "node_modules/goober": { - "version": "2.1.13", - "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.13.tgz", - "integrity": "sha512-jFj3BQeleOoy7t93E9rZ2de+ScC4lQICLwiAQmKMg9F6roKGaLSHoCDYKkWlSafg138jejvq/mTdvmnwDQgqoQ==", - "peerDependencies": { - "csstype": "^3.0.10" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "devOptional": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "devOptional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "optional": true, - "peer": true, - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/hoist-non-react-statics/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "optional": true, - "peer": true - }, - "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/immutable": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", - "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==" - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "devOptional": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "devOptional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/import-from-esm": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-1.3.3.tgz", - "integrity": "sha512-U3Qt/CyfFpTUv6LOP2jRTLYjphH6zg3okMfHbyqRa/W2w6hr8OsJWVggNlR4jxuojQy81TgTJTxgSkyoteRGMQ==", - "dev": true, - "dependencies": { - "debug": "^4.3.4", - "import-meta-resolve": "^4.0.0" - }, - "engines": { - "node": ">=16.20" - } - }, - "node_modules/import-meta-resolve": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", - "integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "devOptional": true - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "devOptional": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "dev": true, - "dependencies": { - "which-typed-array": "^1.1.11" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-diff/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-diff/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-matcher-utils/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-matcher-utils/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "devOptional": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "devOptional": true - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "dev": true, - "bin": { - "lz-string": "bin/bin.js" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/material-ui-popup-state": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/material-ui-popup-state/-/material-ui-popup-state-5.0.9.tgz", - "integrity": "sha512-NjTm7zdEzOY1CHu+a2to6h1Jr1Y8ra24rZ2JF5teO/+g0wTNiKWwNT04v3oW3McHsLcTfG46yYcqf1iznjst8Q==", - "dependencies": { - "@babel/runtime": "^7.20.6", - "@mui/material": "^5.0.0", - "classnames": "^2.2.6", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/meow": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-13.1.0.tgz", - "integrity": "sha512-o5R/R3Tzxq0PJ3v3qcQJtSvSE9nKOLSAaDuuoMzDVuGTwHdccMWcYomh9Xolng2tjT6O/Y83d+0coVGof6tqmA==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/notistack": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/notistack/-/notistack-3.0.1.tgz", - "integrity": "sha512-ntVZXXgSQH5WYfyU+3HfcXuKaapzAJ8fBLQ/G618rn3yvSzEbnOB8ZSOwhX+dAORy/lw+GC2N061JA0+gYWTVA==", - "dependencies": { - "clsx": "^1.1.0", - "goober": "^2.0.33" - }, - "engines": { - "node": ">=12.0.0", - "npm": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/notistack" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/notistack/node_modules/clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dev": true, - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "devOptional": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "devOptional": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "devOptional": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "devOptional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "dev": true, - "dependencies": { - "pinkie": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/postcss": { - "version": "8.4.33", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", - "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", - "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-device-detect": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/react-device-detect/-/react-device-detect-2.2.3.tgz", - "integrity": "sha512-buYY3qrCnQVlIFHrC5UcUoAj7iANs/+srdkwsnNjI7anr3Tt7UY6MqNxtMLlr0tMBied0O49UZVK8XKs3ZIiPw==", - "dependencies": { - "ua-parser-js": "^1.0.33" - }, - "peerDependencies": { - "react": ">= 0.14.0", - "react-dom": ">= 0.14.0" - } - }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/react-dom/node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "node_modules/react-router": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.15.0.tgz", - "integrity": "sha512-NIytlzvzLwJkCQj2HLefmeakxxWHWAP+02EGqWEZy+DgfHHKQMUoBBjUQLOtFInBMhWtb3hiUy6MfFgwLjXhqg==", - "dependencies": { - "@remix-run/router": "1.8.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": ">=16.8" - } - }, - "node_modules/react-router-dom": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.15.0.tgz", - "integrity": "sha512-aR42t0fs7brintwBGAv2+mGlCtgtFQeOzK0BM1/OiqEzRejOZtpMZepvgkscpMUnKb8YO84G7s3LsHnnDNonbQ==", - "dependencies": { - "@remix-run/router": "1.8.0", - "react-router": "6.15.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" - } - }, - "node_modules/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", - "dependencies": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": ">=16.6.0", - "react-dom": ">=16.6.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", - "devOptional": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup-plugin-visualizer": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz", - "integrity": "sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==", - "dev": true, - "dependencies": { - "open": "^8.4.0", - "picomatch": "^2.3.1", - "source-map": "^0.7.4", - "yargs": "^17.5.1" - }, - "bin": { - "rollup-plugin-visualizer": "dist/bin/cli.js" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "rollup": "2.x || 3.x || 4.x" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/sass": { - "version": "1.69.5", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.5.tgz", - "integrity": "sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==", - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", - "dev": true, - "dependencies": { - "internal-slot": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stylis": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", - "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "devOptional": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "devOptional": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/terser": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", - "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "dependencies": { - "rimraf": "^3.0.0" - }, - "engines": { - "node": ">=8.17.0" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "devOptional": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tsconfck": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-2.1.2.tgz", - "integrity": "sha512-ghqN1b0puy3MhhviwO2kGF8SeMDNhEbnKxjK7h6+fvY9JAxqvXi8y5NAHSQv687OVboS2uZIByzGd45/YxrRHg==", - "dev": true, - "bin": { - "tsconfck": "bin/tsconfck.js" - }, - "engines": { - "node": "^14.13.1 || ^16 || >=18" - }, - "peerDependencies": { - "typescript": "^4.3.5 || ^5.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/ua-parser-js": { - "version": "1.0.35", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", - "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - } - ], - "engines": { - "node": "*" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" + "node_modules/@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", + "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.7", + "@babel/parser": "^7.23.6", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz", + "integrity": "sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==", + "dev": true, + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/@babel/eslint-parser/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/@babel/eslint-parser/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.7.tgz", + "integrity": "sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz", + "integrity": "sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "devOptional": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "devOptional": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "devOptional": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.8.tgz", + "integrity": "sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "devOptional": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", + "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.7.tgz", + "integrity": "sha512-b1s5JyeMvqj7d9m9KhJNHKc18gEJiSyVzVX3bwbiPalQBQpuvfPh6lA9F7Kk/dWH0TIiXRpB9yicwijY6buPng==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.23.7", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-decorators": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz", + "integrity": "sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.23.3.tgz", + "integrity": "sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz", + "integrity": "sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.7.tgz", + "integrity": "sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", + "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz", + "integrity": "sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", + "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", + "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", + "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", + "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/types": "^7.23.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "dev": true, + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", + "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", + "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", + "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.7.tgz", + "integrity": "sha512-fa0hnfmiXc9fq/weK34MUV0drz2pOL/vfKWvN7Qw127hiUPabFCUMgAbYWcchRzMJit4o5ARsK/s+5h0249pLw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.7", + "babel-plugin-polyfill-corejs3": "^0.8.7", + "babel-plugin-polyfill-regenerator": "^0.5.4", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", + "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.23.6", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.8.tgz", + "integrity": "sha512-lFlpmkApLkEP6woIKprO6DO60RImpatTQKtz4sUcDjVcK8M8mQ4sZsuxaTMNOZf0sqAq/ReYW1ZBHnOQwKpLWA==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.7", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.8", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.6", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.3", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.23.4", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.7", + "babel-plugin-polyfill-corejs3": "^0.8.7", + "babel-plugin-polyfill-regenerator": "^0.5.4", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", + "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-react-display-name": "^7.23.3", + "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", + "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz", + "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", + "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", + "devOptional": true, + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", + "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", + "devOptional": true, + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/serialize": "^1.1.2", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "devOptional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "devOptional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@emotion/cache": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", + "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", + "dependencies": { + "@emotion/memoize": "^0.8.1", + "@emotion/sheet": "^1.2.2", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "stylis": "4.2.0" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", + "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==", + "devOptional": true + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz", + "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==", + "dependencies": { + "@emotion/memoize": "^0.8.1" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, + "node_modules/@emotion/react": { + "version": "11.11.1", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz", + "integrity": "sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==", + "optional": true, + "peer": true, + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/cache": "^11.11.0", + "@emotion/serialize": "^1.1.2", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz", + "integrity": "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==", + "devOptional": true, + "dependencies": { + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/unitless": "^0.8.1", + "@emotion/utils": "^1.2.1", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", + "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" + }, + "node_modules/@emotion/styled": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz", + "integrity": "sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==", + "optional": true, + "peer": true, + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/is-prop-valid": "^1.2.1", + "@emotion/serialize": "^1.1.2", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==", + "devOptional": true + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", + "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", + "optional": true, + "peer": true, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", + "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", + "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" + }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", + "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz", + "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz", + "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mui/base": { + "version": "5.0.0-beta.10", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.10.tgz", + "integrity": "sha512-moTAhGwFfQffj7hsu61FnqcGqVcd53A1CrOhnskM9TF0Uh2rnLDMCuar4JRUWWpaJofAfQEbQBBFPadFQLI4PA==", + "dependencies": { + "@babel/runtime": "^7.22.6", + "@emotion/is-prop-valid": "^1.2.1", + "@mui/types": "^7.2.4", + "@mui/utils": "^5.14.4", + "@popperjs/core": "^2.11.8", + "clsx": "^2.0.0", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/base/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/@mui/core-downloads-tracker": { + "version": "5.14.4", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.4.tgz", + "integrity": "sha512-pW2XghSi3hpYKX57Wu0SCWMTSpzvXZmmucj3TcOJWaCiFt4xr05w2gcwBZi36dAp9uvd9//9N51qbblmnD+GPg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + } + }, + "node_modules/@mui/icons-material": { + "version": "5.14.3", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.14.3.tgz", + "integrity": "sha512-XkxWPhageu1OPUm2LWjo5XqeQ0t2xfGe8EiLkRW9oz2LHMMZmijvCxulhgquUVTF1DnoSh+3KoDLSsoAFtVNVw==", + "dependencies": { + "@babel/runtime": "^7.22.6" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@mui/material": "^5.0.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/material": { + "version": "5.14.4", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.14.4.tgz", + "integrity": "sha512-2XUV3KyRC07BQPPzEgd+ss3x/ezXtHeKtOGCMCNmx3MauZojPYUpSwFkE0fYgYCD9dMQMVG4DY/VF38P0KShsg==", + "dependencies": { + "@babel/runtime": "^7.22.6", + "@mui/base": "5.0.0-beta.10", + "@mui/core-downloads-tracker": "^5.14.4", + "@mui/system": "^5.14.4", + "@mui/types": "^7.2.4", + "@mui/utils": "^5.14.4", + "@types/react-transition-group": "^4.4.6", + "clsx": "^2.0.0", + "csstype": "^3.1.2", + "prop-types": "^15.8.1", + "react-is": "^18.2.0", + "react-transition-group": "^4.4.5" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/material/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/@mui/private-theming": { + "version": "5.14.4", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.14.4.tgz", + "integrity": "sha512-ISXsHDiQ3z1XA4IuKn+iXDWvDjcz/UcQBiFZqtdoIsEBt8CB7wgdQf3LwcwqO81dl5ofg/vNQBEnXuKfZHrnYA==", + "dependencies": { + "@babel/runtime": "^7.22.6", + "@mui/utils": "^5.14.4", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/styled-engine": { + "version": "5.13.2", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.13.2.tgz", + "integrity": "sha512-VCYCU6xVtXOrIN8lcbuPmoG+u7FYuOERG++fpY74hPpEWkyFQG97F+/XfTQVYzlR2m7nPjnwVUgATcTCMEaMvw==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "@emotion/cache": "^11.11.0", + "csstype": "^3.1.2", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } + } + }, + "node_modules/@mui/system": { + "version": "5.14.4", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.14.4.tgz", + "integrity": "sha512-oPgfWS97QNfHcDBapdkZIs4G5i85BJt69Hp6wbXF6s7vi3Evcmhdk8AbCRW6n0sX4vTj8oe0mh0RIm1G2A1KDA==", + "dependencies": { + "@babel/runtime": "^7.22.6", + "@mui/private-theming": "^5.14.4", + "@mui/styled-engine": "^5.13.2", + "@mui/types": "^7.2.4", + "@mui/utils": "^5.14.4", + "clsx": "^2.0.0", + "csstype": "^3.1.2", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/types": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.4.tgz", + "integrity": "sha512-LBcwa8rN84bKF+f5sDyku42w1NTxaPgPyYKODsh01U1fVstTClbUoSA96oyRBnSNyEiAVjKm6Gwx9vjR+xyqHA==", + "peerDependencies": { + "@types/react": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils": { + "version": "5.14.4", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.14.4.tgz", + "integrity": "sha512-4ANV0txPD3x0IcTCSEHKDWnsutg1K3m6Vz5IckkbLXVYu17oOZCVUdOKsb/txUmaCd0v0PmSRe5PW+Mlvns5dQ==", + "dependencies": { + "@babel/runtime": "^7.22.6", + "@types/prop-types": "^15.7.5", + "@types/react-is": "^18.2.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "react": "^17.0.0 || ^18.0.0" + } + }, + "node_modules/@mui/utils/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.0.tgz", + "integrity": "sha512-Zwq5OCzuwJC2jwqmpEQt7Ds1DTi6BWSwoGkbb1n9pO3hzb35BoJELx7c0T23iDkBGkh2e7tvOtjF3tr3OaQHDQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@remix-run/router": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.8.0.tgz", + "integrity": "sha512-mrfKqIHnSZRyIzBcanNJmVQELTnX+qagEDlcKO90RgRBVOZGSGvZKeDihTRfWcqoDn5N/NkUcwWTccnpN18Tfg==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "dev": true, + "dependencies": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.6.1.tgz", + "integrity": "sha512-UY+FGM/2jjMkzQLn8pxcHGMaVLh9aEitG3zY2CiY7XHdLiz3bZOwa6oDxNqEMv7zZkV+cj5DOdz0cQ1BP5Hjgw==", + "dev": true + }, + "node_modules/@testing-library/dom": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", + "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", + "dev": true, + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "peer": true, + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/@testing-library/dom/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@testing-library/dom/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@testing-library/dom/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "node_modules/@testing-library/dom/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/dom/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom": { + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", + "integrity": "sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==", + "dev": true, + "dependencies": { + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=8", + "npm": ">=6", + "yarn": ">=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@testing-library/jest-dom/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/jest-dom/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/react": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", + "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^8.5.0", + "@types/react-dom": "^18.0.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@testing-library/react/node_modules/@testing-library/dom": { + "version": "8.20.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", + "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@testing-library/react/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@testing-library/react/node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/@testing-library/react/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@testing-library/react/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@testing-library/react/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@testing-library/react/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/react/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@testing-library/user-event": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", + "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.12.5" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + }, + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" + } + }, + "node_modules/@types/aria-query": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", + "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", + "dev": true + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz", + "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/jest": { + "version": "27.5.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", + "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", + "dev": true, + "dependencies": { + "jest-matcher-utils": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/lodash": { + "version": "4.14.197", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.197.tgz", + "integrity": "sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g==", + "dev": true + }, + "node_modules/@types/node": { + "version": "16.18.40", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.40.tgz", + "integrity": "sha512-+yno3ItTEwGxXiS/75Q/aHaa5srkpnJaH+kdkTVJ3DtJEwv92itpKbxU+FjPoh2m/5G9zmUQfrL4A4C13c+iGA==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "devOptional": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "node_modules/@types/react": { + "version": "18.2.20", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.20.tgz", + "integrity": "sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", + "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-is": { + "version": "18.2.1", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-18.2.1.tgz", + "integrity": "sha512-wyUkmaaSZEzFZivD8F2ftSyAfk6L+DfFliVj/mYdOXbVjRcS87fQJLTnhk6dRZPuJjI+9g6RZJO4PNCngUrmyw==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-transition-group": { + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.6.tgz", + "integrity": "sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + }, + "node_modules/@types/semver": { + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", + "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "dev": true + }, + "node_modules/@types/testing-library__jest-dom": { + "version": "5.14.9", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz", + "integrity": "sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==", + "dev": true, + "dependencies": { + "@types/jest": "*" + } + }, + "node_modules/@types/uuid": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.4.tgz", + "integrity": "sha512-zAuJWQflfx6dYJM62vna+Sn5aeSWhh3OB+wfUEACNcqUSc0AGc5JKl+ycL1vrH7frGTXhJchYjE1Hak8L819dA==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.18.1.tgz", + "integrity": "sha512-nISDRYnnIpk7VCFrGcu1rnZfM1Dh9LRHnfgdkjcbi/l7g16VYRri3TjXi9Ir4lOZSw5N/gnV/3H7jIPQ8Q4daA==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.18.1", + "@typescript-eslint/type-utils": "6.18.1", + "@typescript-eslint/utils": "6.18.1", + "@typescript-eslint/visitor-keys": "6.18.1", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", + "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "dev": true, + "dependencies": { + "@typescript-eslint/utils": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@typescript-eslint/experimental-utils/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.18.1.tgz", + "integrity": "sha512-zct/MdJnVaRRNy9e84XnVtRv9Vf91/qqe+hZJtKanjojud4wAVy/7lXxJmMyX6X6J+xc6c//YEWvpeif8cAhWA==", + "dev": true, + "peer": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.18.1", + "@typescript-eslint/types": "6.18.1", + "@typescript-eslint/typescript-estree": "6.18.1", + "@typescript-eslint/visitor-keys": "6.18.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.18.1.tgz", + "integrity": "sha512-BgdBwXPFmZzaZUuw6wKiHKIovms97a7eTImjkXCZE04TGHysG+0hDQPmygyvgtkoB/aOQwSM/nWv3LzrOIQOBw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.18.1", + "@typescript-eslint/visitor-keys": "6.18.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.18.1.tgz", + "integrity": "sha512-wyOSKhuzHeU/5pcRDP2G2Ndci+4g653V43gXTpt4nbyoIOAASkGDA9JIAgbQCdCkcr1MvpSYWzxTz0olCn8+/Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "6.18.1", + "@typescript-eslint/utils": "6.18.1", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.18.1.tgz", + "integrity": "sha512-4TuMAe+tc5oA7wwfqMtB0Y5OrREPF1GeJBAjqwgZh1lEMH5PJQgWgHGfYufVB51LtjD+peZylmeyxUXPfENLCw==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.18.1.tgz", + "integrity": "sha512-fv9B94UAhywPRhUeeV/v+3SBDvcPiLxRZJw/xZeeGgRLQZ6rLMG+8krrJUyIf6s1ecWTzlsbp0rlw7n9sjufHA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.18.1", + "@typescript-eslint/visitor-keys": "6.18.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.18.1.tgz", + "integrity": "sha512-zZmTuVZvD1wpoceHvoQpOiewmWu3uP9FuTWo8vqpy2ffsmfCE8mklRPi+vmnIYAIk9t/4kOThri2QCDgor+OpQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.18.1", + "@typescript-eslint/types": "6.18.1", + "@typescript-eslint/typescript-estree": "6.18.1", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.18.1.tgz", + "integrity": "sha512-/kvt0C5lRqGoCfsbmm7/CwMqoSkY3zzHLIjdhHZQW3VFrnz7ATecOHR7nb7V+xn4286MBxfnQfQhAmCI0u+bJA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.18.1", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz", + "integrity": "sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.5", + "@babel/plugin-transform-react-jsx-self": "^7.23.3", + "@babel/plugin-transform-react-jsx-source": "^7.23.3", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0" + } + }, + "node_modules/@vitejs/plugin-react/node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ag-grid-community": { + "version": "30.0.6", + "resolved": "https://registry.npmjs.org/ag-grid-community/-/ag-grid-community-30.0.6.tgz", + "integrity": "sha512-aMTJNXFDC00QxMaI0/V6M0GTzAtsXUvuxuld97S1Kqb4LvFNsycZlQ3/IcHW7JangRQZxAcwmSpBQBV/lcWoEg==" + }, + "node_modules/ag-grid-react": { + "version": "30.0.6", + "resolved": "https://registry.npmjs.org/ag-grid-react/-/ag-grid-react-30.0.6.tgz", + "integrity": "sha512-fWvf4DIyMihbuhvVlhO6pewXyOirEDgM73Pv6s9V1Ay4xp61Y/kdv2JFmkIwCV0NSpA5CKUeu1JFa5vmA/HVMw==", + "dependencies": { + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "ag-grid-community": "~30.0.6", + "react": "^16.3.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.3.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "devOptional": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", + "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "node_modules/asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axe-core": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", + "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/axios": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz", + "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==", + "dependencies": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "devOptional": true, + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.7.tgz", + "integrity": "sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.4", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz", + "integrity": "sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.4", + "core-js-compat": "^3.33.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.4.tgz", + "integrity": "sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.4.4" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==", + "dev": true + }, + "node_modules/babel-preset-react-app": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", + "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-decorators": "^7.16.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-transform-flow-strip-types": "^7.16.0", + "@babel/plugin-transform-react-display-name": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.4", + "@babel/preset-env": "^7.16.4", + "@babel/preset-react": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.3", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/browserslist-to-esbuild": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/browserslist-to-esbuild/-/browserslist-to-esbuild-2.1.1.tgz", + "integrity": "sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==", + "dev": true, + "dependencies": { + "meow": "^13.0.0" + }, + "bin": { + "browserslist-to-esbuild": "cli/index.js" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "browserslist": "*" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "devOptional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001576", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001576.tgz", + "integrity": "sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "devOptional": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/classnames": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clsx": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", + "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "devOptional": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "devOptional": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "devOptional": true + }, + "node_modules/core-js-compat": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.35.0.tgz", + "integrity": "sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==", + "dev": true, + "dependencies": { + "browserslist": "^4.22.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "devOptional": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true + }, + "node_modules/csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-equal": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", + "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.1", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.0", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true + }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.630", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.630.tgz", + "integrity": "sha512-osHqhtjojpCsACVnuD11xO5g9xaCyw7Qqn/C2KParkMv42i8jrJJgx3g7mkHfpxwhy9MnOJr8+pKOdZ7qzgizg==", + "dev": true + }, + "node_modules/email-addresses": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", + "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "devOptional": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.5", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", + "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", + "dev": true, + "dependencies": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.1", + "es-set-tostringtag": "^2.0.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.0.1" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "devOptional": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", + "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.1", + "@eslint/js": "^8.46.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.2", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.16.0", + "@babel/eslint-parser": "^7.16.3", + "@rushstack/eslint-patch": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "babel-preset-react-app": "^10.0.1", + "confusing-browser-globals": "^1.0.11", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jest": "^25.3.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-testing-library": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "eslint": "^8.0.0" + } + }, + "node_modules/eslint-config-react-app/node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-config-react-app/node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-config-react-app/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-config-react-app/node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-config-react-app/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-config-react-app/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-config-react-app/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-config-react-app/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-config-react-app/node_modules/eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/experimental-utils": "^5.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } + } + }, + "node_modules/eslint-config-react-app/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-config-react-app/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@babel/plugin-syntax-flow": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.9", + "eslint": "^8.1.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", + "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.23.2", + "aria-query": "^5.3.0", + "array-includes": "^3.1.7", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "=4.7.0", + "axobject-query": "^3.2.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.0.15", + "hasown": "^2.0.0", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", + "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.6" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.12", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.8" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-testing-library": { + "version": "5.11.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", + "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", + "dev": true, + "dependencies": { + "@typescript-eslint/utils": "^5.58.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-plugin-testing-library/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", + "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dev": true, + "dependencies": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "devOptional": true + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "devOptional": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gh-pages": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-5.0.0.tgz", + "integrity": "sha512-Nqp1SjkPIB94Xw/3yYNTUL+G2dxlhjvv1zeN/4kMC1jfViTEqhtVz/Ba1zSXHuvXCN9ADNS1dN4r5/J/nZWEQQ==", + "dev": true, + "dependencies": { + "async": "^3.2.4", + "commander": "^2.18.0", + "email-addresses": "^5.0.0", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "^8.1.0", + "globby": "^6.1.0" + }, + "bin": { + "gh-pages": "bin/gh-pages.js", + "gh-pages-clean": "bin/gh-pages-clean.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gh-pages/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "dependencies": { + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gh-pages/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/gh-pages/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/gh-pages/node_modules/globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "dev": true, + "dependencies": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/gh-pages/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/gh-pages/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "node_modules/goober": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.13.tgz", + "integrity": "sha512-jFj3BQeleOoy7t93E9rZ2de+ScC4lQICLwiAQmKMg9F6roKGaLSHoCDYKkWlSafg138jejvq/mTdvmnwDQgqoQ==", + "peerDependencies": { + "csstype": "^3.0.10" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "devOptional": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "devOptional": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "optional": true, + "peer": true, + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "optional": true, + "peer": true + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==" + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "devOptional": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "devOptional": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/import-from-esm": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-1.3.3.tgz", + "integrity": "sha512-U3Qt/CyfFpTUv6LOP2jRTLYjphH6zg3okMfHbyqRa/W2w6hr8OsJWVggNlR4jxuojQy81TgTJTxgSkyoteRGMQ==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "import-meta-resolve": "^4.0.0" + }, + "engines": { + "node": ">=16.20" + } + }, + "node_modules/import-meta-resolve": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", + "integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "devOptional": true + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "devOptional": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.11" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-diff/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-diff/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-diff/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jest-matcher-utils/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-matcher-utils/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "devOptional": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true + }, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "dependencies": { + "language-subtag-registry": "^0.3.20" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "devOptional": true + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true, + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/material-ui-popup-state": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/material-ui-popup-state/-/material-ui-popup-state-5.0.9.tgz", + "integrity": "sha512-NjTm7zdEzOY1CHu+a2to6h1Jr1Y8ra24rZ2JF5teO/+g0wTNiKWwNT04v3oW3McHsLcTfG46yYcqf1iznjst8Q==", + "dependencies": { + "@babel/runtime": "^7.20.6", + "@mui/material": "^5.0.0", + "classnames": "^2.2.6", + "prop-types": "^15.7.2" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/meow": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.1.0.tgz", + "integrity": "sha512-o5R/R3Tzxq0PJ3v3qcQJtSvSE9nKOLSAaDuuoMzDVuGTwHdccMWcYomh9Xolng2tjT6O/Y83d+0coVGof6tqmA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/notistack": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/notistack/-/notistack-3.0.1.tgz", + "integrity": "sha512-ntVZXXgSQH5WYfyU+3HfcXuKaapzAJ8fBLQ/G618rn3yvSzEbnOB8ZSOwhX+dAORy/lw+GC2N061JA0+gYWTVA==", + "dependencies": { + "clsx": "^1.1.0", + "goober": "^2.0.33" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/notistack" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/notistack/node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" + } + }, + "node_modules/object.hasown": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "devOptional": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "devOptional": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "devOptional": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "devOptional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "dependencies": { + "pinkie": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-dir/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-dir/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss": { + "version": "8.4.33", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", + "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", + "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-device-detect": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-device-detect/-/react-device-detect-2.2.3.tgz", + "integrity": "sha512-buYY3qrCnQVlIFHrC5UcUoAj7iANs/+srdkwsnNjI7anr3Tt7UY6MqNxtMLlr0tMBied0O49UZVK8XKs3ZIiPw==", + "dependencies": { + "ua-parser-js": "^1.0.33" + }, + "peerDependencies": { + "react": ">= 0.14.0", + "react-dom": ">= 0.14.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-dom/node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "node_modules/react-router": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.15.0.tgz", + "integrity": "sha512-NIytlzvzLwJkCQj2HLefmeakxxWHWAP+02EGqWEZy+DgfHHKQMUoBBjUQLOtFInBMhWtb3hiUy6MfFgwLjXhqg==", + "dependencies": { + "@remix-run/router": "1.8.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.15.0.tgz", + "integrity": "sha512-aR42t0fs7brintwBGAv2+mGlCtgtFQeOzK0BM1/OiqEzRejOZtpMZepvgkscpMUnKb8YO84G7s3LsHnnDNonbQ==", + "dependencies": { + "@remix-run/router": "1.8.0", + "react-router": "6.15.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", + "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "devOptional": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-visualizer": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz", + "integrity": "sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==", + "dev": true, + "dependencies": { + "open": "^8.4.0", + "picomatch": "^2.3.1", + "source-map": "^0.7.4", + "yargs": "^17.5.1" + }, + "bin": { + "rollup-plugin-visualizer": "dist/bin/cli.js" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "rollup": "2.x || 3.x || 4.x" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.2.tgz", + "integrity": "sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sass": { + "version": "1.69.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.5.tgz", + "integrity": "sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==", + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/set-function-length": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz", + "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.1", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.2", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", + "dev": true + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "devOptional": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "devOptional": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/synckit": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", + "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", + "dev": true, + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/synckit/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "node_modules/terser": { + "version": "5.19.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", + "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "devOptional": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ts-api-utils": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "dev": true, + "engines": { + "node": ">=16.13.0" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/tsconfck": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-2.1.2.tgz", + "integrity": "sha512-ghqN1b0puy3MhhviwO2kGF8SeMDNhEbnKxjK7h6+fvY9JAxqvXi8y5NAHSQv687OVboS2uZIByzGd45/YxrRHg==", + "dev": true, + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^14.13.1 || ^16 || >=18" + }, + "peerDependencies": { + "typescript": "^4.3.5 || ^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/ua-parser-js": { + "version": "1.0.35", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", + "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/vite": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.1.tgz", + "integrity": "sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==", + "dev": true, + "dependencies": { + "esbuild": "^0.18.10", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-bundle-visualizer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/vite-bundle-visualizer/-/vite-bundle-visualizer-1.0.0.tgz", + "integrity": "sha512-25+1XydP08lE373O0kHn/9C/n0A8NM4CEpWAXhObemTXYnSOnil++bXUTIeNCMA26fU9CBebUI7+Nj/OfL+2JA==", + "dev": true, + "dependencies": { + "cac": "^6.7.14", + "import-from-esm": "^1.3.3", + "rollup-plugin-visualizer": "^5.11.0", + "tmp": "^0.2.1" + }, + "bin": { + "vite-bundle-visualizer": "bin.js" + } + }, + "node_modules/vite-plugin-eslint": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/vite-plugin-eslint/-/vite-plugin-eslint-1.8.1.tgz", + "integrity": "sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^4.2.1", + "@types/eslint": "^8.4.5", + "rollup": "^2.77.2" + }, + "peerDependencies": { + "eslint": ">=7", + "vite": ">=2" + } + }, + "node_modules/vite-tsconfig-paths": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.2.3.tgz", + "integrity": "sha512-xVsA2xe6QSlzBujtWF8q2NYexh7PAUYfzJ4C8Axpe/7d2pcERYxuxGgph9F4f0iQO36g5tyGq6eBUYIssdUrVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "globrex": "^0.1.2", + "tsconfck": "^2.1.0" + }, + "peerDependencies": { + "vite": "*" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/web-vitals": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "devOptional": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } }, - "node_modules/uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", - "funding": [ - "https://github.com/sponsors/broofa", - "https://github.com/sponsors/ctavan" - ], - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/vite": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.1.tgz", - "integrity": "sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==", - "dev": true, - "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - }, - "peerDependencies": { - "@types/node": ">= 14", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, + "@adobe/css-tools": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.2.tgz", + "integrity": "sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw==", + "dev": true + }, + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "devOptional": true, + "requires": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + } + }, + "@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "dev": true + }, + "@babel/core": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", + "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.7", + "@babel/parser": "^7.23.6", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "dependencies": { + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/eslint-parser": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.23.3.tgz", + "integrity": "sha512-9bTuNlyx7oSstodm1cR1bECj4fkiknsDa1YniISkJemMY3DGhJNYBECbe6QD/q54mp2J8VO66jW3/7uP//iFCw==", + "dev": true, + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "dev": true, + "requires": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.7.tgz", + "integrity": "sha512-xCoqR/8+BoNnXOY7RVSgv6X+o7pmT5q1d+gGcRlXYkI+9B31glE4jeejhKVpA04O1AtzOt7OSQ6VYKP5FcRl9g==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.4.tgz", + "integrity": "sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "requires": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "requires": { + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "devOptional": true, + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + } + }, + "@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "devOptional": true + }, + "@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "devOptional": true + }, + "@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + } + }, + "@babel/helpers": { + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.8.tgz", + "integrity": "sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==", + "dev": true, + "requires": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.7", + "@babel/types": "^7.23.6" + } + }, + "@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "devOptional": true, + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "dev": true + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.23.3" + } + }, + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", + "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.7.tgz", + "integrity": "sha512-b1s5JyeMvqj7d9m9KhJNHKc18gEJiSyVzVX3bwbiPalQBQpuvfPh6lA9F7Kk/dWH0TIiXRpB9yicwijY6buPng==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.23.7", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-decorators": "^7.23.3" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz", + "integrity": "sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.23.3.tgz", + "integrity": "sha512-cf7Niq4/+/juY67E0PbgH0TDhLQ5J7zS8C/Q5FFx+DWyrRa9sUQdTXkjqKu8zGvuqr7vw1muKiukseihU+PJDA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-flow": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz", + "integrity": "sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-attributes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-async-generator-functions": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.7.tgz", + "integrity": "sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-class-static-block": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", + "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.15" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-dynamic-import": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-export-namespace-from": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-transform-flow-strip-types": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz", + "integrity": "sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-flow": "^7.23.3" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", + "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-json-strings": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-logical-assignment-operators": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.3.tgz", + "integrity": "sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-transform-numeric-separator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-transform-object-rest-spread": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", + "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.23.3" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20" + } + }, + "@babel/plugin-transform-optional-catch-binding": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-transform-optional-chaining": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-methods": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-private-property-in-object": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-display-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", + "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/types": "^7.23.4" + } + }, + "@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "dev": true, + "requires": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", + "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", + "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-react-pure-annotations": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", + "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.7.tgz", + "integrity": "sha512-fa0hnfmiXc9fq/weK34MUV0drz2pOL/vfKWvN7Qw127hiUPabFCUMgAbYWcchRzMJit4o5ARsK/s+5h0249pLw==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.7", + "babel-plugin-polyfill-corejs3": "^0.8.7", + "babel-plugin-polyfill-regenerator": "^0.5.4", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", + "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.23.6", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.23.3" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-property-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-unicode-sets-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/preset-env": { + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.8.tgz", + "integrity": "sha512-lFlpmkApLkEP6woIKprO6DO60RImpatTQKtz4sUcDjVcK8M8mQ4sZsuxaTMNOZf0sqAq/ReYW1ZBHnOQwKpLWA==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.7", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.8", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.6", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.3", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.23.4", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.7", + "babel-plugin-polyfill-corejs3": "^0.8.7", + "babel-plugin-polyfill-regenerator": "^0.5.4", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "dependencies": { + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "requires": {} + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/preset-react": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", + "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-react-display-name": "^7.23.3", + "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.23.3" + } + }, + "@babel/preset-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", + "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.3" + } + }, + "@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "@babel/runtime": { + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz", + "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==", + "requires": { + "regenerator-runtime": "^0.14.0" + } + }, + "@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + } + }, + "@babel/traverse": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", + "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", + "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", + "devOptional": true, + "requires": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + } + }, + "@emotion/babel-plugin": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", + "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", + "devOptional": true, + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/serialize": "^1.1.2", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "devOptional": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "devOptional": true + } + } + }, + "@emotion/cache": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", + "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", + "requires": { + "@emotion/memoize": "^0.8.1", + "@emotion/sheet": "^1.2.2", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "stylis": "4.2.0" + } + }, + "@emotion/hash": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", + "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==", + "devOptional": true + }, + "@emotion/is-prop-valid": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz", + "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==", + "requires": { + "@emotion/memoize": "^0.8.1" + } + }, + "@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, + "@emotion/react": { + "version": "11.11.1", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz", + "integrity": "sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==", + "optional": true, + "peer": true, + "requires": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/cache": "^11.11.0", + "@emotion/serialize": "^1.1.2", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "hoist-non-react-statics": "^3.3.1" + } + }, + "@emotion/serialize": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz", + "integrity": "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==", + "devOptional": true, + "requires": { + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/unitless": "^0.8.1", + "@emotion/utils": "^1.2.1", + "csstype": "^3.0.2" + } + }, + "@emotion/sheet": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", + "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" + }, + "@emotion/styled": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz", + "integrity": "sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==", + "optional": true, + "peer": true, + "requires": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/is-prop-valid": "^1.2.1", + "@emotion/serialize": "^1.1.2", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1" + } + }, + "@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==", + "devOptional": true + }, + "@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", + "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", + "optional": true, + "peer": true, + "requires": {} + }, + "@emotion/utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", + "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" + }, + "@emotion/weak-memoize": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", + "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" + }, + "@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "dev": true, + "optional": true + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", + "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz", + "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "@eslint/js": { + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz", + "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==", + "dev": true + }, + "@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@mui/base": { + "version": "5.0.0-beta.10", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.10.tgz", + "integrity": "sha512-moTAhGwFfQffj7hsu61FnqcGqVcd53A1CrOhnskM9TF0Uh2rnLDMCuar4JRUWWpaJofAfQEbQBBFPadFQLI4PA==", + "requires": { + "@babel/runtime": "^7.22.6", + "@emotion/is-prop-valid": "^1.2.1", + "@mui/types": "^7.2.4", + "@mui/utils": "^5.14.4", + "@popperjs/core": "^2.11.8", + "clsx": "^2.0.0", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "dependencies": { + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + } + } + }, + "@mui/core-downloads-tracker": { + "version": "5.14.4", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.4.tgz", + "integrity": "sha512-pW2XghSi3hpYKX57Wu0SCWMTSpzvXZmmucj3TcOJWaCiFt4xr05w2gcwBZi36dAp9uvd9//9N51qbblmnD+GPg==" + }, + "@mui/icons-material": { + "version": "5.14.3", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.14.3.tgz", + "integrity": "sha512-XkxWPhageu1OPUm2LWjo5XqeQ0t2xfGe8EiLkRW9oz2LHMMZmijvCxulhgquUVTF1DnoSh+3KoDLSsoAFtVNVw==", + "requires": { + "@babel/runtime": "^7.22.6" + } + }, + "@mui/material": { + "version": "5.14.4", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.14.4.tgz", + "integrity": "sha512-2XUV3KyRC07BQPPzEgd+ss3x/ezXtHeKtOGCMCNmx3MauZojPYUpSwFkE0fYgYCD9dMQMVG4DY/VF38P0KShsg==", + "requires": { + "@babel/runtime": "^7.22.6", + "@mui/base": "5.0.0-beta.10", + "@mui/core-downloads-tracker": "^5.14.4", + "@mui/system": "^5.14.4", + "@mui/types": "^7.2.4", + "@mui/utils": "^5.14.4", + "@types/react-transition-group": "^4.4.6", + "clsx": "^2.0.0", + "csstype": "^3.1.2", + "prop-types": "^15.8.1", + "react-is": "^18.2.0", + "react-transition-group": "^4.4.5" + }, + "dependencies": { + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + } + } + }, + "@mui/private-theming": { + "version": "5.14.4", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.14.4.tgz", + "integrity": "sha512-ISXsHDiQ3z1XA4IuKn+iXDWvDjcz/UcQBiFZqtdoIsEBt8CB7wgdQf3LwcwqO81dl5ofg/vNQBEnXuKfZHrnYA==", + "requires": { + "@babel/runtime": "^7.22.6", + "@mui/utils": "^5.14.4", + "prop-types": "^15.8.1" + } + }, + "@mui/styled-engine": { + "version": "5.13.2", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.13.2.tgz", + "integrity": "sha512-VCYCU6xVtXOrIN8lcbuPmoG+u7FYuOERG++fpY74hPpEWkyFQG97F+/XfTQVYzlR2m7nPjnwVUgATcTCMEaMvw==", + "requires": { + "@babel/runtime": "^7.21.0", + "@emotion/cache": "^11.11.0", + "csstype": "^3.1.2", + "prop-types": "^15.8.1" + } + }, + "@mui/system": { + "version": "5.14.4", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.14.4.tgz", + "integrity": "sha512-oPgfWS97QNfHcDBapdkZIs4G5i85BJt69Hp6wbXF6s7vi3Evcmhdk8AbCRW6n0sX4vTj8oe0mh0RIm1G2A1KDA==", + "requires": { + "@babel/runtime": "^7.22.6", + "@mui/private-theming": "^5.14.4", + "@mui/styled-engine": "^5.13.2", + "@mui/types": "^7.2.4", + "@mui/utils": "^5.14.4", + "clsx": "^2.0.0", + "csstype": "^3.1.2", + "prop-types": "^15.8.1" + } + }, + "@mui/types": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.4.tgz", + "integrity": "sha512-LBcwa8rN84bKF+f5sDyku42w1NTxaPgPyYKODsh01U1fVstTClbUoSA96oyRBnSNyEiAVjKm6Gwx9vjR+xyqHA==", + "requires": {} + }, + "@mui/utils": { + "version": "5.14.4", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.14.4.tgz", + "integrity": "sha512-4ANV0txPD3x0IcTCSEHKDWnsutg1K3m6Vz5IckkbLXVYu17oOZCVUdOKsb/txUmaCd0v0PmSRe5PW+Mlvns5dQ==", + "requires": { + "@babel/runtime": "^7.22.6", + "@types/prop-types": "^15.7.5", + "@types/react-is": "^18.2.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "dependencies": { + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + } + } + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "requires": { + "eslint-scope": "5.1.1" + }, + "dependencies": { + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@pkgr/core": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.0.tgz", + "integrity": "sha512-Zwq5OCzuwJC2jwqmpEQt7Ds1DTi6BWSwoGkbb1n9pO3hzb35BoJELx7c0T23iDkBGkh2e7tvOtjF3tr3OaQHDQ==", + "dev": true + }, + "@popperjs/core": { + "version": "2.11.8", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", + "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==" + }, + "@remix-run/router": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.8.0.tgz", + "integrity": "sha512-mrfKqIHnSZRyIzBcanNJmVQELTnX+qagEDlcKO90RgRBVOZGSGvZKeDihTRfWcqoDn5N/NkUcwWTccnpN18Tfg==" + }, + "@rollup/pluginutils": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.2.1.tgz", + "integrity": "sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==", + "dev": true, + "requires": { + "estree-walker": "^2.0.1", + "picomatch": "^2.2.2" + } + }, + "@rushstack/eslint-patch": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.6.1.tgz", + "integrity": "sha512-UY+FGM/2jjMkzQLn8pxcHGMaVLh9aEitG3zY2CiY7XHdLiz3bZOwa6oDxNqEMv7zZkV+cj5DOdz0cQ1BP5Hjgw==", + "dev": true + }, + "@testing-library/dom": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", + "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", + "dev": true, + "peer": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "peer": true, + "requires": { + "deep-equal": "^2.0.5" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "peer": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@testing-library/jest-dom": { + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", + "integrity": "sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==", + "dev": true, + "requires": { + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@testing-library/react": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", + "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^8.5.0", + "@types/react-dom": "^18.0.0" + }, + "dependencies": { + "@testing-library/dom": { + "version": "8.20.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", + "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "requires": { + "deep-equal": "^2.0.5" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "@testing-library/user-event": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", + "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.12.5" + } + }, + "@types/aria-query": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", + "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", + "dev": true + }, + "@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "requires": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.20.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", + "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", + "dev": true, + "requires": { + "@babel/types": "^7.20.7" + } + }, + "@types/eslint": { + "version": "8.56.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz", + "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "@types/jest": { + "version": "27.5.2", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", + "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", + "dev": true, + "requires": { + "jest-matcher-utils": "^27.0.0", + "pretty-format": "^27.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "@types/lodash": { + "version": "4.14.197", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.197.tgz", + "integrity": "sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g==", + "dev": true + }, "@types/node": { - "optional": true + "version": "16.18.40", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.40.tgz", + "integrity": "sha512-+yno3ItTEwGxXiS/75Q/aHaa5srkpnJaH+kdkTVJ3DtJEwv92itpKbxU+FjPoh2m/5G9zmUQfrL4A4C13c+iGA==", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "devOptional": true + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "@types/react": { + "version": "18.2.20", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.20.tgz", + "integrity": "sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.2.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", + "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/react-is": { + "version": "18.2.1", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-18.2.1.tgz", + "integrity": "sha512-wyUkmaaSZEzFZivD8F2ftSyAfk6L+DfFliVj/mYdOXbVjRcS87fQJLTnhk6dRZPuJjI+9g6RZJO4PNCngUrmyw==", + "requires": { + "@types/react": "*" + } + }, + "@types/react-transition-group": { + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.6.tgz", + "integrity": "sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew==", + "requires": { + "@types/react": "*" + } + }, + "@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + }, + "@types/semver": { + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", + "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "dev": true + }, + "@types/testing-library__jest-dom": { + "version": "5.14.9", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz", + "integrity": "sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==", + "dev": true, + "requires": { + "@types/jest": "*" + } + }, + "@types/uuid": { + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.4.tgz", + "integrity": "sha512-zAuJWQflfx6dYJM62vna+Sn5aeSWhh3OB+wfUEACNcqUSc0AGc5JKl+ycL1vrH7frGTXhJchYjE1Hak8L819dA==", + "dev": true + }, + "@typescript-eslint/eslint-plugin": { + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.18.1.tgz", + "integrity": "sha512-nISDRYnnIpk7VCFrGcu1rnZfM1Dh9LRHnfgdkjcbi/l7g16VYRri3TjXi9Ir4lOZSw5N/gnV/3H7jIPQ8Q4daA==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.18.1", + "@typescript-eslint/type-utils": "6.18.1", + "@typescript-eslint/utils": "6.18.1", + "@typescript-eslint/visitor-keys": "6.18.1", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + } + }, + "@typescript-eslint/experimental-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", + "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "dev": true, + "requires": { + "@typescript-eslint/utils": "5.62.0" + }, + "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } + } + }, + "@typescript-eslint/parser": { + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.18.1.tgz", + "integrity": "sha512-zct/MdJnVaRRNy9e84XnVtRv9Vf91/qqe+hZJtKanjojud4wAVy/7lXxJmMyX6X6J+xc6c//YEWvpeif8cAhWA==", + "dev": true, + "peer": true, + "requires": { + "@typescript-eslint/scope-manager": "6.18.1", + "@typescript-eslint/types": "6.18.1", + "@typescript-eslint/typescript-estree": "6.18.1", + "@typescript-eslint/visitor-keys": "6.18.1", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.18.1.tgz", + "integrity": "sha512-BgdBwXPFmZzaZUuw6wKiHKIovms97a7eTImjkXCZE04TGHysG+0hDQPmygyvgtkoB/aOQwSM/nWv3LzrOIQOBw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "6.18.1", + "@typescript-eslint/visitor-keys": "6.18.1" + } + }, + "@typescript-eslint/type-utils": { + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.18.1.tgz", + "integrity": "sha512-wyOSKhuzHeU/5pcRDP2G2Ndci+4g653V43gXTpt4nbyoIOAASkGDA9JIAgbQCdCkcr1MvpSYWzxTz0olCn8+/Q==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "6.18.1", + "@typescript-eslint/utils": "6.18.1", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + } + }, + "@typescript-eslint/types": { + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.18.1.tgz", + "integrity": "sha512-4TuMAe+tc5oA7wwfqMtB0Y5OrREPF1GeJBAjqwgZh1lEMH5PJQgWgHGfYufVB51LtjD+peZylmeyxUXPfENLCw==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.18.1.tgz", + "integrity": "sha512-fv9B94UAhywPRhUeeV/v+3SBDvcPiLxRZJw/xZeeGgRLQZ6rLMG+8krrJUyIf6s1ecWTzlsbp0rlw7n9sjufHA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "6.18.1", + "@typescript-eslint/visitor-keys": "6.18.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "@typescript-eslint/utils": { + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.18.1.tgz", + "integrity": "sha512-zZmTuVZvD1wpoceHvoQpOiewmWu3uP9FuTWo8vqpy2ffsmfCE8mklRPi+vmnIYAIk9t/4kOThri2QCDgor+OpQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.18.1", + "@typescript-eslint/types": "6.18.1", + "@typescript-eslint/typescript-estree": "6.18.1", + "semver": "^7.5.4" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.18.1.tgz", + "integrity": "sha512-/kvt0C5lRqGoCfsbmm7/CwMqoSkY3zzHLIjdhHZQW3VFrnz7ATecOHR7nb7V+xn4286MBxfnQfQhAmCI0u+bJA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "6.18.1", + "eslint-visitor-keys": "^3.4.1" + } + }, + "@vitejs/plugin-react": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz", + "integrity": "sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==", + "dev": true, + "requires": { + "@babel/core": "^7.23.5", + "@babel/plugin-transform-react-jsx-self": "^7.23.3", + "@babel/plugin-transform-react-jsx-source": "^7.23.3", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.14.0" + }, + "dependencies": { + "react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true + } + } + }, + "acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "ag-grid-community": { + "version": "30.0.6", + "resolved": "https://registry.npmjs.org/ag-grid-community/-/ag-grid-community-30.0.6.tgz", + "integrity": "sha512-aMTJNXFDC00QxMaI0/V6M0GTzAtsXUvuxuld97S1Kqb4LvFNsycZlQ3/IcHW7JangRQZxAcwmSpBQBV/lcWoEg==" + }, + "ag-grid-react": { + "version": "30.0.6", + "resolved": "https://registry.npmjs.org/ag-grid-react/-/ag-grid-react-30.0.6.tgz", + "integrity": "sha512-fWvf4DIyMihbuhvVlhO6pewXyOirEDgM73Pv6s9V1Ay4xp61Y/kdv2JFmkIwCV0NSpA5CKUeu1JFa5vmA/HVMw==", + "requires": { + "prop-types": "^15.8.1" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "devOptional": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "requires": { + "dequal": "^2.0.3" + } + }, + "array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + } + }, + "array-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + } + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", + "dev": true + }, + "array.prototype.findlastindex": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + } + }, + "array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "array.prototype.tosorted": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", + "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + } + }, + "arraybuffer.prototype.slice": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz", + "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-array-buffer": "^3.0.2", + "is-shared-array-buffer": "^1.0.2" + } + }, + "ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", + "dev": true + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.3" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true + }, + "axe-core": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", + "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", + "dev": true + }, + "axios": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz", + "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==", + "requires": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + }, + "dependencies": { + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } + }, + "axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "dev": true, + "requires": { + "dequal": "^2.0.3" + } + }, + "babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "devOptional": true, + "requires": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.7.tgz", + "integrity": "sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.4", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.7.tgz", + "integrity": "sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.4", + "core-js-compat": "^3.33.1" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.4.tgz", + "integrity": "sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.4.4" + } + }, + "babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==", + "dev": true + }, + "babel-preset-react-app": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", + "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "dev": true, + "requires": { + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-decorators": "^7.16.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-transform-flow-strip-types": "^7.16.0", + "@babel/plugin-transform-react-display-name": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.4", + "@babel/preset-env": "^7.16.4", + "@babel/preset-react": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.3", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + } + }, + "browserslist-to-esbuild": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/browserslist-to-esbuild/-/browserslist-to-esbuild-2.1.1.tgz", + "integrity": "sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==", + "dev": true, + "requires": { + "meow": "^13.0.0" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "optional": true, + "peer": true + }, + "cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true + }, + "call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "dev": true, + "requires": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "devOptional": true + }, + "caniuse-lite": { + "version": "1.0.30001576", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001576.tgz", + "integrity": "sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg==", + "dev": true + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "devOptional": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "classnames": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + } + }, + "clsx": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", + "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==" + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "devOptional": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "devOptional": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "dev": true + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "devOptional": true + }, + "core-js-compat": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.35.0.tgz", + "integrity": "sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==", + "dev": true, + "requires": { + "browserslist": "^4.22.2" + } + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "devOptional": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", + "dev": true + }, + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "deep-equal": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", + "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.1", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.0", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true + }, + "define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "requires": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", + "dev": true + }, + "dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "requires": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "electron-to-chromium": { + "version": "1.4.630", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.630.tgz", + "integrity": "sha512-osHqhtjojpCsACVnuD11xO5g9xaCyw7Qqn/C2KParkMv42i8jrJJgx3g7mkHfpxwhy9MnOJr8+pKOdZ7qzgizg==", + "dev": true }, - "less": { - "optional": true + "email-addresses": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", + "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==", + "dev": true }, - "lightningcss": { - "optional": true + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, - "sass": { - "optional": true + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "devOptional": true, + "requires": { + "is-arrayish": "^0.2.1" + } }, - "stylus": { - "optional": true + "es-abstract": { + "version": "1.22.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", + "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "dev": true, + "requires": { + "array-buffer-byte-length": "^1.0.0", + "arraybuffer.prototype.slice": "^1.0.2", + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.5", + "es-set-tostringtag": "^2.0.1", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.2", + "get-symbol-description": "^1.0.0", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0", + "internal-slot": "^1.0.5", + "is-array-buffer": "^3.0.2", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.12", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.1", + "safe-array-concat": "^1.0.1", + "safe-regex-test": "^1.0.0", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.0", + "typed-array-byte-length": "^1.0.0", + "typed-array-byte-offset": "^1.0.0", + "typed-array-length": "^1.0.4", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.13" + } }, - "sugarss": { - "optional": true + "es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" + } }, - "terser": { - "optional": true - } - } - }, - "node_modules/vite-bundle-visualizer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/vite-bundle-visualizer/-/vite-bundle-visualizer-1.0.0.tgz", - "integrity": "sha512-25+1XydP08lE373O0kHn/9C/n0A8NM4CEpWAXhObemTXYnSOnil++bXUTIeNCMA26fU9CBebUI7+Nj/OfL+2JA==", - "dev": true, - "dependencies": { - "cac": "^6.7.14", - "import-from-esm": "^1.3.3", - "rollup-plugin-visualizer": "^5.11.0", - "tmp": "^0.2.1" - }, - "bin": { - "vite-bundle-visualizer": "bin.js" - } - }, - "node_modules/vite-tsconfig-paths": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.2.3.tgz", - "integrity": "sha512-xVsA2xe6QSlzBujtWF8q2NYexh7PAUYfzJ4C8Axpe/7d2pcERYxuxGgph9F4f0iQO36g5tyGq6eBUYIssdUrVw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "globrex": "^0.1.2", - "tsconfck": "^2.1.0" - }, - "peerDependencies": { - "vite": "*" - }, - "peerDependenciesMeta": { - "vite": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/rollup": { - "version": "3.29.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", - "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/web-vitals": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", - "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "dev": true, - "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "devOptional": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - }, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true - }, - "@adobe/css-tools": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.2.tgz", - "integrity": "sha512-DA5a1C0gD/pLOvhv33YMrbf2FK3oUzwNl9oOJqE4XVjuEtt6XIakRcsd7eLiOSPkp1kTRQGICTA8cKra/vFbjw==", - "dev": true - }, - "@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "devOptional": true, - "requires": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - } - }, - "@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", - "dev": true - }, - "@babel/core": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz", - "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.7", - "@babel/parser": "^7.23.6", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "dependencies": { - "convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "es-iterator-helpers": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", + "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", + "dev": true, + "requires": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.1", + "es-set-tostringtag": "^2.0.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.0.1" + } + }, + "es-set-tostringtag": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz", + "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" + } + }, + "es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "requires": { + "hasown": "^2.0.0" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "devOptional": true + }, + "eslint": { + "version": "8.46.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", + "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.1", + "@eslint/js": "^8.46.0", + "@humanwhocodes/config-array": "^0.11.10", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.2", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "requires": {} + }, + "eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "dev": true, + "requires": { + "@babel/core": "^7.16.0", + "@babel/eslint-parser": "^7.16.3", + "@rushstack/eslint-patch": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "babel-preset-react-app": "^10.0.1", + "confusing-browser-globals": "^1.0.11", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jest": "^25.3.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-testing-library": "^5.0.1" + }, + "dependencies": { + "@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "dev": true, + "requires": { + "@typescript-eslint/experimental-utils": "^5.0.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } + } + }, + "eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "requires": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "dev": true, + "requires": { + "debug": "^3.2.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "dev": true, + "requires": { + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" + } + }, + "eslint-plugin-import": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "dev": true, + "requires": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "eslint-plugin-jsx-a11y": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", + "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.23.2", + "aria-query": "^5.3.0", + "array-includes": "^3.1.7", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "=4.7.0", + "axobject-query": "^3.2.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.0.15", + "hasown": "^2.0.0", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7" + }, + "dependencies": { + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + } + } + }, + "eslint-plugin-prettier": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", + "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.6" + } + }, + "eslint-plugin-react": { + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.12", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.8" + }, + "dependencies": { + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "requires": {} + }, + "eslint-plugin-testing-library": { + "version": "5.11.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", + "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", + "dev": true, + "requires": { + "@typescript-eslint/utils": "^5.58.0" + }, + "dependencies": { + "@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + } + }, + "@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + } + } + }, + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", + "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", + "dev": true + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "filename-reserved-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", + "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", + "dev": true + }, + "filenamify": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", + "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", + "dev": true, + "requires": { + "filename-reserved-regex": "^2.0.0", + "strip-outer": "^1.0.1", + "trim-repeated": "^1.0.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "devOptional": true + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "follow-redirects": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "devOptional": true + }, + "function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "dev": true, + "requires": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + } + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "gh-pages": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-5.0.0.tgz", + "integrity": "sha512-Nqp1SjkPIB94Xw/3yYNTUL+G2dxlhjvv1zeN/4kMC1jfViTEqhtVz/Ba1zSXHuvXCN9ADNS1dN4r5/J/nZWEQQ==", + "dev": true, + "requires": { + "async": "^3.2.4", + "commander": "^2.18.0", + "email-addresses": "^5.0.0", + "filenamify": "^4.3.0", + "find-cache-dir": "^3.3.1", + "fs-extra": "^8.1.0", + "globby": "^6.1.0" + }, + "dependencies": { + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + } + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "goober": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.13.tgz", + "integrity": "sha512-jFj3BQeleOoy7t93E9rZ2de+ScC4lQICLwiAQmKMg9F6roKGaLSHoCDYKkWlSafg138jejvq/mTdvmnwDQgqoQ==", + "requires": {} + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "devOptional": true + }, + "has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.2" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "devOptional": true, + "requires": { + "function-bind": "^1.1.2" + } + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "optional": true, + "peer": true, + "requires": { + "react-is": "^16.7.0" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "optional": true, + "peer": true + } + } + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "devOptional": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "devOptional": true + } + } + }, + "import-from-esm": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-1.3.3.tgz", + "integrity": "sha512-U3Qt/CyfFpTUv6LOP2jRTLYjphH6zg3okMfHbyqRa/W2w6hr8OsJWVggNlR4jxuojQy81TgTJTxgSkyoteRGMQ==", + "dev": true, + "requires": { + "debug": "^4.3.4", + "import-meta-resolve": "^4.0.0" + } + }, + "import-meta-resolve": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", + "integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==", + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "devOptional": true + }, + "is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true + }, + "is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "devOptional": true, + "requires": { + "hasown": "^2.0.0" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" + }, + "is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", + "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", + "dev": true, + "requires": { + "which-typed-array": "^1.1.11" + } + }, + "is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, + "requires": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "dev": true + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "devOptional": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "requires": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + } + }, + "language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==", + "dev": true + }, + "language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "dev": true, + "requires": { + "language-subtag-registry": "^0.3.20" + } + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "devOptional": true + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "dev": true + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + } + } + }, + "material-ui-popup-state": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/material-ui-popup-state/-/material-ui-popup-state-5.0.9.tgz", + "integrity": "sha512-NjTm7zdEzOY1CHu+a2to6h1Jr1Y8ra24rZ2JF5teO/+g0wTNiKWwNT04v3oW3McHsLcTfG46yYcqf1iznjst8Q==", + "requires": { + "@babel/runtime": "^7.20.6", + "@mui/material": "^5.0.0", + "classnames": "^2.2.6", + "prop-types": "^15.7.2" + } + }, + "meow": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-13.1.0.tgz", + "integrity": "sha512-o5R/R3Tzxq0PJ3v3qcQJtSvSE9nKOLSAaDuuoMzDVuGTwHdccMWcYomh9Xolng2tjT6O/Y83d+0coVGof6tqmA==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "notistack": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/notistack/-/notistack-3.0.1.tgz", + "integrity": "sha512-ntVZXXgSQH5WYfyU+3HfcXuKaapzAJ8fBLQ/G618rn3yvSzEbnOB8ZSOwhX+dAORy/lw+GC2N061JA0+gYWTVA==", + "requires": { + "clsx": "^1.1.0", + "goober": "^2.0.33" + }, + "dependencies": { + "clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" + } + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + } + }, + "object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "object.groupby": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" + } + }, + "object.hasown": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "dev": true, + "requires": { + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "devOptional": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "devOptional": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "devOptional": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "devOptional": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + }, + "dependencies": { + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + } + } + }, + "postcss": { + "version": "8.4.33", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", + "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", + "dev": true, + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", + "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-device-detect": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/react-device-detect/-/react-device-detect-2.2.3.tgz", + "integrity": "sha512-buYY3qrCnQVlIFHrC5UcUoAj7iANs/+srdkwsnNjI7anr3Tt7UY6MqNxtMLlr0tMBied0O49UZVK8XKs3ZIiPw==", + "requires": { + "ua-parser-js": "^1.0.33" + } + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "dependencies": { + "scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "requires": { + "loose-envify": "^1.1.0" + } + } + } + }, + "react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "dev": true + }, + "react-router": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.15.0.tgz", + "integrity": "sha512-NIytlzvzLwJkCQj2HLefmeakxxWHWAP+02EGqWEZy+DgfHHKQMUoBBjUQLOtFInBMhWtb3hiUy6MfFgwLjXhqg==", + "requires": { + "@remix-run/router": "1.8.0" + } + }, + "react-router-dom": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.15.0.tgz", + "integrity": "sha512-aR42t0fs7brintwBGAv2+mGlCtgtFQeOzK0BM1/OiqEzRejOZtpMZepvgkscpMUnKb8YO84G7s3LsHnnDNonbQ==", + "requires": { + "@remix-run/router": "1.8.0", + "react-router": "6.15.0" + } + }, + "react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "requires": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "requires": { + "picomatch": "^2.2.1" + } + }, + "redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "requires": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + } + }, + "reflect.getprototypeof": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", + "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", + "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" + }, + "regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regexp.prototype.flags": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz", + "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "set-function-name": "^2.0.0" + } + }, + "regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "requires": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + } + }, + "regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true + }, + "resolve": { + "version": "1.22.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", + "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "devOptional": true, + "requires": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "rollup-plugin-visualizer": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz", + "integrity": "sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==", + "dev": true, + "requires": { + "open": "^8.4.0", + "picomatch": "^2.3.1", + "source-map": "^0.7.4", + "yargs": "^17.5.1" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-array-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.0.1.tgz", + "integrity": "sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + } + }, + "safe-regex-test": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.2.tgz", + "integrity": "sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.5", + "get-intrinsic": "^1.2.2", + "is-regex": "^1.1.4" + } + }, + "sass": { + "version": "1.69.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.5.tgz", + "integrity": "sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==", + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } }, "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", - "dev": true, - "requires": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.10.tgz", - "integrity": "sha512-5IBb77txKYQPpOEdUdIhBx8VrZyDCQ+H82H0+5dX1TmuscP5vJKEE3cKurjtIw/vFwzbVH48VweE78kVDBrqjA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "semver": "^6.3.1" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true - }, - "@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-member-expression-to-functions": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz", - "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "devOptional": true, - "requires": { - "@babel/types": "^7.22.15" - } - }, - "@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", - "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", - "dev": true - }, - "@babel/helper-replace-supers": { - "version": "7.22.9", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz", - "integrity": "sha512-LJIKvvpgPOPUThdYqcX6IXRuIcTkcAub0IaDRGCZH0p5GPUp7PhRU9QVgFcDDd51BaPkk77ZjqFwh6DZTAEmGg==", - "dev": true, - "requires": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5" - } - }, - "@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "requires": { - "@babel/types": "^7.22.5" - } - }, - "@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", - "devOptional": true - }, - "@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "devOptional": true - }, - "@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "dev": true - }, - "@babel/helpers": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.8.tgz", - "integrity": "sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==", - "dev": true, - "requires": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.7", - "@babel/types": "^7.23.6" - } - }, - "@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "devOptional": true, - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", - "dev": true - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.11.tgz", - "integrity": "sha512-0QZ8qP/3RLDVBwBFoWAwCtgcDZJVwA5LUJRZU8x2YFfKNuFq161wK3cuGrALu5yiPu+vzwTAg/sMWVNeWeNyaw==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-create-class-features-plugin": "^7.21.0", - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - } - }, - "@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.14.5" - } - }, - "@babel/plugin-transform-react-jsx-self": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz", - "integrity": "sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/plugin-transform-react-jsx-source": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz", - "integrity": "sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" - } - }, - "@babel/runtime": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", - "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - } - }, - "@babel/traverse": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz", - "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", - "debug": "^4.3.1", - "globals": "^11.1.0" - } - }, - "@babel/types": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", - "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", - "devOptional": true, - "requires": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - } - }, - "@emotion/babel-plugin": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", - "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", - "devOptional": true, - "requires": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/serialize": "^1.1.2", - "babel-plugin-macros": "^3.1.0", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^4.0.0", - "find-root": "^1.1.0", - "source-map": "^0.5.7", - "stylis": "4.2.0" - }, - "dependencies": { - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "devOptional": true + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "set-function-length": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz", + "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==", + "dev": true, + "requires": { + "define-data-property": "^1.1.1", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.2", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + } + }, + "set-function-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz", + "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==", + "dev": true, + "requires": { + "define-data-property": "^1.0.1", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true }, "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "devOptional": true - } - } - }, - "@emotion/cache": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", - "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", - "requires": { - "@emotion/memoize": "^0.8.1", - "@emotion/sheet": "^1.2.2", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", - "stylis": "4.2.0" - } - }, - "@emotion/hash": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", - "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==", - "devOptional": true - }, - "@emotion/is-prop-valid": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz", - "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==", - "requires": { - "@emotion/memoize": "^0.8.1" - } - }, - "@emotion/memoize": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", - "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" - }, - "@emotion/react": { - "version": "11.11.1", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz", - "integrity": "sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==", - "optional": true, - "peer": true, - "requires": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.11.0", - "@emotion/cache": "^11.11.0", - "@emotion/serialize": "^1.1.2", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", - "hoist-non-react-statics": "^3.3.1" - } - }, - "@emotion/serialize": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz", - "integrity": "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==", - "devOptional": true, - "requires": { - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/unitless": "^0.8.1", - "@emotion/utils": "^1.2.1", - "csstype": "^3.0.2" - } - }, - "@emotion/sheet": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", - "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" - }, - "@emotion/styled": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz", - "integrity": "sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==", - "optional": true, - "peer": true, - "requires": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.11.0", - "@emotion/is-prop-valid": "^1.2.1", - "@emotion/serialize": "^1.1.2", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", - "@emotion/utils": "^1.2.1" - } - }, - "@emotion/unitless": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", - "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==", - "devOptional": true - }, - "@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", - "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", - "optional": true, - "peer": true, - "requires": {} - }, - "@emotion/utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", - "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" - }, - "@emotion/weak-memoize": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", - "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" - }, - "@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", - "dev": true, - "optional": true - }, - "@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", - "dev": true, - "optional": true - }, - "@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", - "dev": true, - "optional": true - }, - "@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", - "dev": true, - "optional": true - }, - "@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", - "dev": true, - "optional": true - }, - "@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", - "dev": true, - "optional": true - }, - "@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", - "dev": true, - "optional": true - }, - "@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", - "dev": true, - "optional": true - }, - "@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", - "dev": true, - "optional": true - }, - "@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", - "dev": true, - "optional": true - }, - "@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", - "dev": true, - "optional": true - }, - "@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", - "dev": true, - "optional": true - }, - "@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", - "dev": true, - "optional": true - }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^3.3.0" - } - }, - "@eslint-community/regexpp": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz", - "integrity": "sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==", - "dev": true - }, - "@eslint/eslintrc": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.1.tgz", - "integrity": "sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA==", - "dev": true, - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true }, - "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "@eslint/js": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.46.0.tgz", - "integrity": "sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA==", - "dev": true - }, - "@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", - "dev": true, - "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - } - }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "dev": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true - }, - "@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", - "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", - "dev": true, - "requires": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "@mui/base": { - "version": "5.0.0-beta.10", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.10.tgz", - "integrity": "sha512-moTAhGwFfQffj7hsu61FnqcGqVcd53A1CrOhnskM9TF0Uh2rnLDMCuar4JRUWWpaJofAfQEbQBBFPadFQLI4PA==", - "requires": { - "@babel/runtime": "^7.22.6", - "@emotion/is-prop-valid": "^1.2.1", - "@mui/types": "^7.2.4", - "@mui/utils": "^5.14.4", - "@popperjs/core": "^2.11.8", - "clsx": "^2.0.0", - "prop-types": "^15.8.1", - "react-is": "^18.2.0" - }, - "dependencies": { - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - } - } - }, - "@mui/core-downloads-tracker": { - "version": "5.14.4", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.4.tgz", - "integrity": "sha512-pW2XghSi3hpYKX57Wu0SCWMTSpzvXZmmucj3TcOJWaCiFt4xr05w2gcwBZi36dAp9uvd9//9N51qbblmnD+GPg==" - }, - "@mui/icons-material": { - "version": "5.14.3", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.14.3.tgz", - "integrity": "sha512-XkxWPhageu1OPUm2LWjo5XqeQ0t2xfGe8EiLkRW9oz2LHMMZmijvCxulhgquUVTF1DnoSh+3KoDLSsoAFtVNVw==", - "requires": { - "@babel/runtime": "^7.22.6" - } - }, - "@mui/material": { - "version": "5.14.4", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.14.4.tgz", - "integrity": "sha512-2XUV3KyRC07BQPPzEgd+ss3x/ezXtHeKtOGCMCNmx3MauZojPYUpSwFkE0fYgYCD9dMQMVG4DY/VF38P0KShsg==", - "requires": { - "@babel/runtime": "^7.22.6", - "@mui/base": "5.0.0-beta.10", - "@mui/core-downloads-tracker": "^5.14.4", - "@mui/system": "^5.14.4", - "@mui/types": "^7.2.4", - "@mui/utils": "^5.14.4", - "@types/react-transition-group": "^4.4.6", - "clsx": "^2.0.0", - "csstype": "^3.1.2", - "prop-types": "^15.8.1", - "react-is": "^18.2.0", - "react-transition-group": "^4.4.5" - }, - "dependencies": { - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - } - } - }, - "@mui/private-theming": { - "version": "5.14.4", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.14.4.tgz", - "integrity": "sha512-ISXsHDiQ3z1XA4IuKn+iXDWvDjcz/UcQBiFZqtdoIsEBt8CB7wgdQf3LwcwqO81dl5ofg/vNQBEnXuKfZHrnYA==", - "requires": { - "@babel/runtime": "^7.22.6", - "@mui/utils": "^5.14.4", - "prop-types": "^15.8.1" - } - }, - "@mui/styled-engine": { - "version": "5.13.2", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.13.2.tgz", - "integrity": "sha512-VCYCU6xVtXOrIN8lcbuPmoG+u7FYuOERG++fpY74hPpEWkyFQG97F+/XfTQVYzlR2m7nPjnwVUgATcTCMEaMvw==", - "requires": { - "@babel/runtime": "^7.21.0", - "@emotion/cache": "^11.11.0", - "csstype": "^3.1.2", - "prop-types": "^15.8.1" - } - }, - "@mui/system": { - "version": "5.14.4", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.14.4.tgz", - "integrity": "sha512-oPgfWS97QNfHcDBapdkZIs4G5i85BJt69Hp6wbXF6s7vi3Evcmhdk8AbCRW6n0sX4vTj8oe0mh0RIm1G2A1KDA==", - "requires": { - "@babel/runtime": "^7.22.6", - "@mui/private-theming": "^5.14.4", - "@mui/styled-engine": "^5.13.2", - "@mui/types": "^7.2.4", - "@mui/utils": "^5.14.4", - "clsx": "^2.0.0", - "csstype": "^3.1.2", - "prop-types": "^15.8.1" - } - }, - "@mui/types": { - "version": "7.2.4", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.4.tgz", - "integrity": "sha512-LBcwa8rN84bKF+f5sDyku42w1NTxaPgPyYKODsh01U1fVstTClbUoSA96oyRBnSNyEiAVjKm6Gwx9vjR+xyqHA==", - "requires": {} - }, - "@mui/utils": { - "version": "5.14.4", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.14.4.tgz", - "integrity": "sha512-4ANV0txPD3x0IcTCSEHKDWnsutg1K3m6Vz5IckkbLXVYu17oOZCVUdOKsb/txUmaCd0v0PmSRe5PW+Mlvns5dQ==", - "requires": { - "@babel/runtime": "^7.22.6", - "@types/prop-types": "^15.7.5", - "@types/react-is": "^18.2.1", - "prop-types": "^15.8.1", - "react-is": "^18.2.0" - }, - "dependencies": { - "react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - } - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@popperjs/core": { - "version": "2.11.8", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", - "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==" - }, - "@remix-run/router": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.8.0.tgz", - "integrity": "sha512-mrfKqIHnSZRyIzBcanNJmVQELTnX+qagEDlcKO90RgRBVOZGSGvZKeDihTRfWcqoDn5N/NkUcwWTccnpN18Tfg==" - }, - "@testing-library/dom": { - "version": "9.3.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.1.tgz", - "integrity": "sha512-0DGPd9AR3+iDTjGoMpxIkAsUihHZ3Ai6CneU6bRRrffXMgzCdlNk43jTrD2/5LT6CBb3MWTP8v510JzYtahD2w==", - "dev": true, - "peer": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.1.3", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "peer": true, - "requires": { - "color-convert": "^2.0.1" - } + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" }, - "aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "dev": true, - "peer": true, - "requires": { - "deep-equal": "^2.0.5" - } + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "peer": true + } + } }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "peer": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } + "stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, + "requires": { + "internal-slot": "^1.0.4" + } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "peer": true, - "requires": { - "color-name": "~1.1.4" - } + "string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==", + "dev": true }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "peer": true + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "peer": true + "string.prototype.matchall": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", + "side-channel": "^1.0.4" + } }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "peer": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@testing-library/jest-dom": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", - "integrity": "sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==", - "dev": true, - "requires": { - "@adobe/css-tools": "^4.0.1", - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^5.0.0", - "chalk": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.5.6", - "lodash": "^4.17.15", - "redent": "^3.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } + "string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } + "string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } + "string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "requires": { + "min-indent": "^1.0.0" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "strip-outer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", + "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + } + }, + "stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" }, "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@testing-library/react": { - "version": "13.4.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", - "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", - "dev": true, - "requires": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^8.5.0", - "@types/react-dom": "^18.0.0" - }, - "dependencies": { - "@testing-library/dom": { - "version": "8.20.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", - "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.1.3", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" - } + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "devOptional": true, + "requires": { + "has-flag": "^3.0.0" + } }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "devOptional": true }, - "aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", - "dev": true, - "requires": { - "deep-equal": "^2.0.5" - } + "synckit": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", + "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", + "dev": true, + "requires": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "dependencies": { + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + } + } }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } + "terser": { + "version": "5.19.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", + "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "optional": true, + "peer": true + } + } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "devOptional": true }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "@testing-library/user-event": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", - "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", - "dev": true, - "requires": { - "@babel/runtime": "^7.12.5" - } - }, - "@types/aria-query": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz", - "integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==", - "dev": true - }, - "@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "requires": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "requires": { - "@babel/types": "^7.0.0" - } - }, - "@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "requires": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "@types/babel__traverse": { - "version": "7.20.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz", - "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==", - "dev": true, - "requires": { - "@babel/types": "^7.20.7" - } - }, - "@types/jest": { - "version": "27.5.2", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz", - "integrity": "sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==", - "dev": true, - "requires": { - "jest-matcher-utils": "^27.0.0", - "pretty-format": "^27.0.0" - } - }, - "@types/lodash": { - "version": "4.14.197", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.197.tgz", - "integrity": "sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g==", - "dev": true - }, - "@types/node": { - "version": "16.18.40", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.40.tgz", - "integrity": "sha512-+yno3ItTEwGxXiS/75Q/aHaa5srkpnJaH+kdkTVJ3DtJEwv92itpKbxU+FjPoh2m/5G9zmUQfrL4A4C13c+iGA==", - "dev": true - }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "devOptional": true - }, - "@types/prop-types": { - "version": "15.7.5", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", - "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" - }, - "@types/react": { - "version": "18.2.20", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.20.tgz", - "integrity": "sha512-WKNtmsLWJM/3D5mG4U84cysVY31ivmyw85dE84fOCk5Hx78wezB/XEjVPWl2JTZ5FkEeaTJf+VgUAUn3PE7Isw==", - "requires": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "@types/react-dom": { - "version": "18.2.7", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.7.tgz", - "integrity": "sha512-GRaAEriuT4zp9N4p1i8BDBYmEyfo+xQ3yHjJU4eiK5NDa1RmUZG+unZABUTK4/Ox/M+GaHwb6Ow8rUITrtjszA==", - "dev": true, - "requires": { - "@types/react": "*" - } - }, - "@types/react-is": { - "version": "18.2.1", - "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-18.2.1.tgz", - "integrity": "sha512-wyUkmaaSZEzFZivD8F2ftSyAfk6L+DfFliVj/mYdOXbVjRcS87fQJLTnhk6dRZPuJjI+9g6RZJO4PNCngUrmyw==", - "requires": { - "@types/react": "*" - } - }, - "@types/react-transition-group": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.6.tgz", - "integrity": "sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew==", - "requires": { - "@types/react": "*" - } - }, - "@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" - }, - "@types/testing-library__jest-dom": { - "version": "5.14.9", - "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz", - "integrity": "sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==", - "dev": true, - "requires": { - "@types/jest": "*" - } - }, - "@types/uuid": { - "version": "9.0.4", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.4.tgz", - "integrity": "sha512-zAuJWQflfx6dYJM62vna+Sn5aeSWhh3OB+wfUEACNcqUSc0AGc5JKl+ycL1vrH7frGTXhJchYjE1Hak8L819dA==", - "dev": true - }, - "@vitejs/plugin-react": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.2.1.tgz", - "integrity": "sha512-oojO9IDc4nCUUi8qIR11KoQm0XFFLIwsRBwHRR4d/88IWghn1y6ckz/bJ8GHDCsYEJee8mDzqtJxh15/cisJNQ==", - "dev": true, - "requires": { - "@babel/core": "^7.23.5", - "@babel/plugin-transform-react-jsx-self": "^7.23.3", - "@babel/plugin-transform-react-jsx-source": "^7.23.3", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.14.0" - }, - "dependencies": { - "react-refresh": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", - "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", - "dev": true - } - } - }, - "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", - "dev": true - }, - "acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} - }, - "ag-grid-community": { - "version": "30.0.6", - "resolved": "https://registry.npmjs.org/ag-grid-community/-/ag-grid-community-30.0.6.tgz", - "integrity": "sha512-aMTJNXFDC00QxMaI0/V6M0GTzAtsXUvuxuld97S1Kqb4LvFNsycZlQ3/IcHW7JangRQZxAcwmSpBQBV/lcWoEg==" - }, - "ag-grid-react": { - "version": "30.0.6", - "resolved": "https://registry.npmjs.org/ag-grid-react/-/ag-grid-react-30.0.6.tgz", - "integrity": "sha512-fWvf4DIyMihbuhvVlhO6pewXyOirEDgM73Pv6s9V1Ay4xp61Y/kdv2JFmkIwCV0NSpA5CKUeu1JFa5vmA/HVMw==", - "requires": { - "prop-types": "^15.8.1" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "devOptional": true, - "requires": { - "color-convert": "^1.9.0" - } - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", - "dev": true, - "requires": { - "dequal": "^2.0.3" - } - }, - "array-buffer-byte-length": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", - "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "is-array-buffer": "^3.0.1" - } - }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==", - "dev": true - }, - "async": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", - "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", - "dev": true - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "available-typed-arrays": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", - "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", - "dev": true - }, - "axios": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz", - "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==", - "requires": { - "follow-redirects": "^1.15.4", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - }, - "dependencies": { - "form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - } - } - } - }, - "babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", - "devOptional": true, - "requires": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": { - "fill-range": "^7.0.1" - } - }, - "browserslist": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", - "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001565", - "electron-to-chromium": "^1.4.601", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - } - }, - "browserslist-to-esbuild": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/browserslist-to-esbuild/-/browserslist-to-esbuild-2.1.1.tgz", - "integrity": "sha512-KN+mty6C3e9AN8Z5dI1xeN15ExcRNeISoC3g7V0Kax/MMF9MSoYA2G7lkTTcVUFntiEjkpI0HNgqJC1NjdyNUw==", - "dev": true, - "requires": { - "meow": "^13.0.0" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true, - "optional": true, - "peer": true - }, - "cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "dev": true - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "devOptional": true - }, - "caniuse-lite": { - "version": "1.0.30001576", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001576.tgz", - "integrity": "sha512-ff5BdakGe2P3SQsMsiqmt1Lc8221NR1VzHj5jXN5vBny9A6fpze94HiVV/n7XRosOlsShJcvMv5mdnpjOGCEgg==", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "devOptional": true, - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "classnames": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", - "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" - }, - "cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - } - }, - "clsx": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", - "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==" - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "devOptional": true, - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "devOptional": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "devOptional": true - }, - "cosmiconfig": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", - "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", - "devOptional": true, - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } - }, - "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - } - }, - "css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==", - "dev": true - }, - "csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" - }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - } - }, - "deep-equal": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", - "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", - "dev": true, - "requires": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.1", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.2", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" - } - }, - "deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true - }, - "define-properties": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", - "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", - "dev": true, - "requires": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - }, - "dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true - }, - "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "dev": true - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, - "dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==", - "dev": true - }, - "dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "requires": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "electron-to-chromium": { - "version": "1.4.630", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.630.tgz", - "integrity": "sha512-osHqhtjojpCsACVnuD11xO5g9xaCyw7Qqn/C2KParkMv42i8jrJJgx3g7mkHfpxwhy9MnOJr8+pKOdZ7qzgizg==", - "dev": true - }, - "email-addresses": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-5.0.0.tgz", - "integrity": "sha512-4OIPYlA6JXqtVn8zpHpGiI7vE6EQOAg16aGnDMIAlZVinnoZ8208tW1hAbjWydgN/4PLTT9q+O1K6AH/vALJGw==", - "dev": true - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "devOptional": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "is-arguments": "^1.1.1", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.7", - "isarray": "^2.0.5", - "stop-iteration-iterator": "^1.0.0" - } - }, - "esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", - "dev": true, - "requires": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" - } - }, - "escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "devOptional": true - }, - "eslint": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.46.0.tgz", - "integrity": "sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.1", - "@eslint/js": "^8.46.0", - "@humanwhocodes/config-array": "^0.11.10", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.2", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "requires": { + "is-number": "^7.0.0" + } }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } + "trim-repeated": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", + "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.2" + } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } + "ts-api-utils": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "dev": true, + "requires": {} }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "tsconfck": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-2.1.2.tgz", + "integrity": "sha512-ghqN1b0puy3MhhviwO2kGF8SeMDNhEbnKxjK7h6+fvY9JAxqvXi8y5NAHSQv687OVboS2uZIByzGd45/YxrRHg==", + "dev": true, + "requires": {} + }, + "tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "typed-array-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz", + "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz", + "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz", + "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "has-proto": "^1.0.1", + "is-typed-array": "^1.1.10" + } + }, + "typed-array-length": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz", + "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "is-typed-array": "^1.1.9" + } + }, + "typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==" + }, + "ua-parser-js": { + "version": "1.0.35", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", + "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==" + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } }, - "escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } }, - "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } + "uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } + "vite": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.1.tgz", + "integrity": "sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==", + "dev": true, + "requires": { + "esbuild": "^0.18.10", + "fsevents": "~2.3.2", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + }, + "dependencies": { + "rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + } + } }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - } - } - }, - "eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "eslint-visitor-keys": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz", - "integrity": "sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw==", - "dev": true - }, - "espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", - "dev": true, - "requires": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - } - }, - "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "requires": { - "estraverse": "^5.1.0" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "requires": { - "flat-cache": "^3.0.4" - } - }, - "filename-reserved-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz", - "integrity": "sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==", - "dev": true - }, - "filenamify": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz", - "integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==", - "dev": true, - "requires": { - "filename-reserved-regex": "^2.0.0", - "strip-outer": "^1.0.1", - "trim-repeated": "^1.0.0" - } - }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "find-cache-dir": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", - "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", - "devOptional": true - }, - "find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "requires": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - } - }, - "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - } - }, - "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", - "dev": true - }, - "follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" - }, - "for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "dev": true, - "requires": { - "is-callable": "^1.1.3" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "devOptional": true - }, - "functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true - }, - "gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "get-intrinsic": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz", - "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==", - "dev": true, - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3" - } - }, - "gh-pages": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-5.0.0.tgz", - "integrity": "sha512-Nqp1SjkPIB94Xw/3yYNTUL+G2dxlhjvv1zeN/4kMC1jfViTEqhtVz/Ba1zSXHuvXCN9ADNS1dN4r5/J/nZWEQQ==", - "dev": true, - "requires": { - "async": "^3.2.4", - "commander": "^2.18.0", - "email-addresses": "^5.0.0", - "filenamify": "^4.3.0", - "find-cache-dir": "^3.3.1", - "fs-extra": "^8.1.0", - "globby": "^6.1.0" - }, - "dependencies": { - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } + "vite-bundle-visualizer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/vite-bundle-visualizer/-/vite-bundle-visualizer-1.0.0.tgz", + "integrity": "sha512-25+1XydP08lE373O0kHn/9C/n0A8NM4CEpWAXhObemTXYnSOnil++bXUTIeNCMA26fU9CBebUI7+Nj/OfL+2JA==", + "dev": true, + "requires": { + "cac": "^6.7.14", + "import-from-esm": "^1.3.3", + "rollup-plugin-visualizer": "^5.11.0", + "tmp": "^0.2.1" + } }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - } - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "globrex": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true - }, - "goober": { - "version": "2.1.13", - "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.13.tgz", - "integrity": "sha512-jFj3BQeleOoy7t93E9rZ2de+ScC4lQICLwiAQmKMg9F6roKGaLSHoCDYKkWlSafg138jejvq/mTdvmnwDQgqoQ==", - "requires": {} - }, - "gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.3" - } - }, - "graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "devOptional": true, - "requires": { - "function-bind": "^1.1.1" - } - }, - "has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "devOptional": true - }, - "has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.1.1" - } - }, - "has-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "dev": true - }, - "has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true - }, - "has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "hoist-non-react-statics": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", - "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", - "optional": true, - "peer": true, - "requires": { - "react-is": "^16.7.0" - }, - "dependencies": { - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "optional": true, - "peer": true - } - } - }, - "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", - "dev": true - }, - "immutable": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", - "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==" - }, - "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "devOptional": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "dependencies": { - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "devOptional": true - } - } - }, - "import-from-esm": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/import-from-esm/-/import-from-esm-1.3.3.tgz", - "integrity": "sha512-U3Qt/CyfFpTUv6LOP2jRTLYjphH6zg3okMfHbyqRa/W2w6hr8OsJWVggNlR4jxuojQy81TgTJTxgSkyoteRGMQ==", - "dev": true, - "requires": { - "debug": "^4.3.4", - "import-meta-resolve": "^4.0.0" - } - }, - "import-meta-resolve": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.0.0.tgz", - "integrity": "sha512-okYUR7ZQPH+efeuMJGlq4f8ubUgO50kByRPyt/Cy1Io4PSRsPjxME+YlVaCOx+NIToW7hCsZNFJyTPFFKepRSA==", - "dev": true - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "internal-slot": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", - "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", - "dev": true, - "requires": { - "get-intrinsic": "^1.2.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - } - }, - "is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-array-buffer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", - "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" - } - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "devOptional": true - }, - "is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "requires": { - "has-bigints": "^1.0.1" - } - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true - }, - "is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", - "devOptional": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "requires": { - "is-extglob": "^2.1.1" - } - }, - "is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==" - }, - "is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, - "is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - } - }, - "is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "dev": true - }, - "is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2" - } - }, - "is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "requires": { - "has-tostringtag": "^1.0.0" - } - }, - "is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.2" - } - }, - "is-typed-array": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz", - "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==", - "dev": true, - "requires": { - "which-typed-array": "^1.1.11" - } - }, - "is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "dev": true - }, - "is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - } - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "requires": { - "is-docker": "^2.0.0" - } - }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } + "vite-plugin-eslint": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/vite-plugin-eslint/-/vite-plugin-eslint-1.8.1.tgz", + "integrity": "sha512-PqdMf3Y2fLO9FsNPmMX+//2BF5SF8nEWspZdgl4kSt7UvHDRHVVfHvxsD7ULYzZrJDGRxR81Nq7TOFgwMnUang==", + "dev": true, + "requires": { + "@rollup/pluginutils": "^4.2.1", + "@types/eslint": "^8.4.5", + "rollup": "^2.77.2" + } }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } + "vite-tsconfig-paths": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.2.3.tgz", + "integrity": "sha512-xVsA2xe6QSlzBujtWF8q2NYexh7PAUYfzJ4C8Axpe/7d2pcERYxuxGgph9F4f0iQO36g5tyGq6eBUYIssdUrVw==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "globrex": "^0.1.2", + "tsconfck": "^2.1.0" + } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } + "web-vitals": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "dev": true - }, - "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "dev": true, - "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } + "which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "requires": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + } }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } + "which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "requires": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } + "which-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz", + "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.4", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + } }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } - } - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "devOptional": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - } - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "devOptional": true - }, - "locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "requires": { - "p-locate": "^5.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "dev": true - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "material-ui-popup-state": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/material-ui-popup-state/-/material-ui-popup-state-5.0.9.tgz", - "integrity": "sha512-NjTm7zdEzOY1CHu+a2to6h1Jr1Y8ra24rZ2JF5teO/+g0wTNiKWwNT04v3oW3McHsLcTfG46yYcqf1iznjst8Q==", - "requires": { - "@babel/runtime": "^7.20.6", - "@mui/material": "^5.0.0", - "classnames": "^2.2.6", - "prop-types": "^15.7.2" - } - }, - "meow": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/meow/-/meow-13.1.0.tgz", - "integrity": "sha512-o5R/R3Tzxq0PJ3v3qcQJtSvSE9nKOLSAaDuuoMzDVuGTwHdccMWcYomh9Xolng2tjT6O/Y83d+0coVGof6tqmA==", - "dev": true - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true - }, - "natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" - }, - "notistack": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/notistack/-/notistack-3.0.1.tgz", - "integrity": "sha512-ntVZXXgSQH5WYfyU+3HfcXuKaapzAJ8fBLQ/G618rn3yvSzEbnOB8ZSOwhX+dAORy/lw+GC2N061JA0+gYWTVA==", - "requires": { - "clsx": "^1.1.0", - "goober": "^2.0.33" - }, - "dependencies": { - "clsx": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", - "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" - } - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" - }, - "object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "dev": true - }, - "object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - } - }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true - }, - "object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dev": true, - "requires": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - } - }, - "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "requires": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - } - }, - "p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "requires": { - "yocto-queue": "^0.1.0" - } - }, - "p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "requires": { - "p-limit": "^3.0.2" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "devOptional": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "devOptional": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "devOptional": true - }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "devOptional": true - }, - "picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==" - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true - }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", - "dev": true - }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", - "dev": true, - "requires": { - "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "devOptional": true }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - } - } - }, - "postcss": { - "version": "8.4.33", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz", - "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", - "dev": true, - "requires": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - } - }, - "prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true - }, - "prettier": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz", - "integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==", - "dev": true - }, - "pretty-format": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "dependencies": { - "ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true - } - } - }, - "prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "requires": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - }, - "dependencies": { - "react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" - } - } - }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", - "dev": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "requires": { - "loose-envify": "^1.1.0" - } - }, - "react-device-detect": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/react-device-detect/-/react-device-detect-2.2.3.tgz", - "integrity": "sha512-buYY3qrCnQVlIFHrC5UcUoAj7iANs/+srdkwsnNjI7anr3Tt7UY6MqNxtMLlr0tMBied0O49UZVK8XKs3ZIiPw==", - "requires": { - "ua-parser-js": "^1.0.33" - } - }, - "react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "requires": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "dependencies": { - "scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", - "requires": { - "loose-envify": "^1.1.0" - } - } - } - }, - "react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "react-router": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.15.0.tgz", - "integrity": "sha512-NIytlzvzLwJkCQj2HLefmeakxxWHWAP+02EGqWEZy+DgfHHKQMUoBBjUQLOtFInBMhWtb3hiUy6MfFgwLjXhqg==", - "requires": { - "@remix-run/router": "1.8.0" - } - }, - "react-router-dom": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.15.0.tgz", - "integrity": "sha512-aR42t0fs7brintwBGAv2+mGlCtgtFQeOzK0BM1/OiqEzRejOZtpMZepvgkscpMUnKb8YO84G7s3LsHnnDNonbQ==", - "requires": { - "@remix-run/router": "1.8.0", - "react-router": "6.15.0" - } - }, - "react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", - "requires": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - } - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "requires": { - "picomatch": "^2.2.1" - } - }, - "redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "requires": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - } - }, - "regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - }, - "regexp.prototype.flags": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", - "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", - "dev": true, - "requires": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "functions-have-names": "^1.2.3" - } - }, - "require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true - }, - "resolve": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", - "devOptional": true, - "requires": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "rollup-plugin-visualizer": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz", - "integrity": "sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==", - "dev": true, - "requires": { - "open": "^8.4.0", - "picomatch": "^2.3.1", - "source-map": "^0.7.4", - "yargs": "^17.5.1" - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "sass": { - "version": "1.69.5", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.5.tgz", - "integrity": "sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==", - "requires": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - } - }, - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true - }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - }, - "source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true, - "peer": true - } - } - }, - "stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", - "dev": true, - "requires": { - "internal-slot": "^1.0.4" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "requires": { - "min-indent": "^1.0.0" - } - }, - "strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true - }, - "strip-outer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz", - "integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.2" - } - }, - "stylis": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", - "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" - }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "devOptional": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "devOptional": true - }, - "terser": { - "version": "5.19.2", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.19.2.tgz", - "integrity": "sha512-qC5+dmecKJA4cpYxRa5aVkKehYsQKc+AHeKl0Oe62aYjBL8ZA33tTljktDHJSaxxMnbI5ZYw+o/S2DxxLu8OfA==", - "dev": true, - "optional": true, - "peer": true, - "requires": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, - "optional": true, - "peer": true - } - } - }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "requires": { - "rimraf": "^3.0.0" - } - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "devOptional": true - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": { - "is-number": "^7.0.0" - } - }, - "trim-repeated": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", - "integrity": "sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==", - "dev": true, - "requires": { - "escape-string-regexp": "^1.0.2" - } - }, - "tsconfck": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-2.1.2.tgz", - "integrity": "sha512-ghqN1b0puy3MhhviwO2kGF8SeMDNhEbnKxjK7h6+fvY9JAxqvXi8y5NAHSQv687OVboS2uZIByzGd45/YxrRHg==", - "dev": true, - "requires": {} - }, - "type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "requires": { - "prelude-ls": "^1.2.1" - } - }, - "typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==" - }, - "ua-parser-js": { - "version": "1.0.35", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz", - "integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==" - }, - "update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "requires": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - } - }, - "uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "uuid": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", - "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==" - }, - "vite": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.1.tgz", - "integrity": "sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==", - "dev": true, - "requires": { - "esbuild": "^0.18.10", - "fsevents": "~2.3.2", - "postcss": "^8.4.27", - "rollup": "^3.27.1" - }, - "dependencies": { - "rollup": { - "version": "3.29.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", - "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", - "dev": true, - "requires": { - "fsevents": "~2.3.2" - } - } - } - }, - "vite-bundle-visualizer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/vite-bundle-visualizer/-/vite-bundle-visualizer-1.0.0.tgz", - "integrity": "sha512-25+1XydP08lE373O0kHn/9C/n0A8NM4CEpWAXhObemTXYnSOnil++bXUTIeNCMA26fU9CBebUI7+Nj/OfL+2JA==", - "dev": true, - "requires": { - "cac": "^6.7.14", - "import-from-esm": "^1.3.3", - "rollup-plugin-visualizer": "^5.11.0", - "tmp": "^0.2.1" - } - }, - "vite-tsconfig-paths": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.2.3.tgz", - "integrity": "sha512-xVsA2xe6QSlzBujtWF8q2NYexh7PAUYfzJ4C8Axpe/7d2pcERYxuxGgph9F4f0iQO36g5tyGq6eBUYIssdUrVw==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "globrex": "^0.1.2", - "tsconfck": "^2.1.0" - } - }, - "web-vitals": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", - "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" - }, - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - } - }, - "which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "dev": true, - "requires": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" - } - }, - "which-typed-array": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.11.tgz", - "integrity": "sha512-qe9UWWpkeG5yzZ0tNYxDmd7vo58HDBc39mZ0xWWpolAGADdFOzkfamWLDxkOWcvHQKVmdTyQdLD4NOfjLWTKew==", - "dev": true, - "requires": { - "available-typed-arrays": "^1.0.5", - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-tostringtag": "^1.0.0" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + } }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "devOptional": true - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "requires": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - } - }, - "yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true - }, - "yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true } - } } diff --git a/package.json b/package.json index 941e1e55..c5d0366a 100644 --- a/package.json +++ b/package.json @@ -1,58 +1,66 @@ { - "name": "tacticusplanner", - "version": "0.1.0", - "private": true, - "dependencies": { - "@mui/icons-material": "^5.14.3", - "@mui/material": "^5.14.4", - "ag-grid-community": "^30.0.6", - "ag-grid-react": "^30.0.6", - "axios": "^1.5.0", - "lodash": "^4.17.21", - "material-ui-popup-state": "^5.0.9", - "notistack": "^3.0.1", - "react": "^18.2.0", - "react-device-detect": "^2.2.3", - "react-dom": "^18.2.0", - "react-router-dom": "^6.15.0", - "sass": "^1.69.5", - "typescript": "^4.9.5", - "uuid": "^9.0.1", - "web-vitals": "^2.1.4" - }, - "devDependencies": { - "@babel/plugin-proposal-private-property-in-object": "^7.21.11", - "@emotion/babel-plugin": "^11.11.0", - "@testing-library/jest-dom": "^5.17.0", - "@testing-library/react": "^13.4.0", - "@testing-library/user-event": "^13.5.0", - "@types/jest": "^27.5.2", - "@types/lodash": "^4.14.197", - "@types/node": "^16.18.40", - "@types/react": "^18.2.20", - "@types/react-dom": "^18.2.7", - "@types/uuid": "^9.0.4", - "@vitejs/plugin-react": "^4.2.1", - "browserslist-to-esbuild": "^2.1.1", - "eslint": "^8.46.0", - "gh-pages": "^5.0.0", - "prettier": "^3.0.3", - "vite": "^4.5.1", - "vite-bundle-visualizer": "^1.0.0", - "vite-tsconfig-paths": "^4.2.3" - }, - "scripts": { - "start": "vite", - "build": "tsc && vite build", - "analyze": "vite-bundle-visualizer -c ./vite.config.mts", - "preview": "vite preview", - "predeploy": "npm run build", - "deploy": "gh-pages -b gh-pages -d build" - }, - "eslintConfig": { - "extends": [ - "react-app", - "react-app/jest" - ] - } + "name": "tacticusplanner", + "version": "0.1.0", + "private": true, + "dependencies": { + "@mui/icons-material": "^5.14.3", + "@mui/material": "^5.14.4", + "ag-grid-community": "^30.0.6", + "ag-grid-react": "^30.0.6", + "axios": "^1.5.0", + "lodash": "^4.17.21", + "material-ui-popup-state": "^5.0.9", + "notistack": "^3.0.1", + "react": "^18.2.0", + "react-device-detect": "^2.2.3", + "react-dom": "^18.2.0", + "react-router-dom": "^6.15.0", + "sass": "^1.69.5", + "typescript": "^4.9.5", + "uuid": "^9.0.1", + "web-vitals": "^2.1.4" + }, + "devDependencies": { + "@babel/plugin-proposal-private-property-in-object": "^7.21.11", + "@emotion/babel-plugin": "^11.11.0", + "@testing-library/jest-dom": "^5.17.0", + "@testing-library/react": "^13.4.0", + "@testing-library/user-event": "^13.5.0", + "@types/jest": "^27.5.2", + "@types/lodash": "^4.14.197", + "@types/node": "^16.18.40", + "@types/react": "^18.2.20", + "@types/react-dom": "^18.2.7", + "@types/uuid": "^9.0.4", + "@typescript-eslint/eslint-plugin": "^6.18.1", + "@vitejs/plugin-react": "^4.2.1", + "browserslist-to-esbuild": "^2.1.1", + "eslint": "^8.46.0", + "eslint-config-prettier": "^9.1.0", + "eslint-config-react-app": "^7.0.1", + "eslint-plugin-prettier": "^5.1.3", + "eslint-plugin-react": "^7.33.2", + "gh-pages": "^5.0.0", + "prettier": "^3.0.3", + "vite": "^4.5.1", + "vite-bundle-visualizer": "^1.0.0", + "vite-plugin-eslint": "^1.8.1", + "vite-tsconfig-paths": "^4.2.3" + }, + "scripts": { + "start": "vite", + "build": "tsc && vite build", + "analyze": "vite-bundle-visualizer -c ./vite.config.mts", + "preview": "vite preview", + "lint": "eslint --ext .ts,.tsx --ignore-path .gitignore --fix src", + "format": "prettier . --write", + "predeploy": "npm run build", + "deploy": "gh-pages -b gh-pages -d build" + }, + "eslintConfig": { + "extends": [ + "react-app", + "react-app/jest" + ] + } } diff --git a/public/404.html b/public/404.html index ab1194a2..3f1311c9 100644 --- a/public/404.html +++ b/public/404.html @@ -1,50 +1,49 @@ - + - - - - Page Not Found - - - - - - -
-

Redirecting...

-
- Sorry Static Apps doesn't support sub domain navigation -
-

- Get Back to Home Page -

-
- - - \ No newline at end of file + + + + Page Not Found + + + + + + +
+

Redirecting...

+
Sorry Static Apps doesn't support sub domain navigation
+

+ Get Back to Home Page +

+
+ + diff --git a/public/manifest.json b/public/manifest.json index acd6661f..7dd6e006 100644 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,48 +1,48 @@ { - "id": "tacticusplanner", - "short_name": "Tacticus Planner", - "description": "Planner app for Tacticus WH40K mobile game", - "icons": [ - { - "src": "android-chrome-192x192.png", - "sizes": "192x192", - "type": "image/png" - }, - { - "src": "android-chrome-512x512.png", - "sizes": "512x512", - "type": "image/png" - } - ], - "screenshots": [ - { - "src": "/screenshots/web-characters.png", - "type": "image/png", - "sizes": "1070x810", - "form_factor": "wide" - }, - { - "src": "/screenshots/web-goals.png", - "type": "image/png", - "sizes": "1070x810", - "form_factor": "wide" - }, - { - "src": "/screenshots/mobile-characters.png", - "type": "image/png", - "sizes": "550x990", - "form_factor": "narrow" - }, - { - "src": "/screenshots/mobile-goals.png", - "type": "image/png", - "sizes": "550x990", - "form_factor": "narrow" - } - ], - "start_url": ".", - "display": "standalone", - "theme_color": "#000000", - "background_color": "#ffffff", - "categories": ["entertainment", "games", "productivity"] + "id": "tacticusplanner", + "short_name": "Tacticus Planner", + "description": "Planner app for Tacticus WH40K mobile game", + "icons": [ + { + "src": "android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "screenshots": [ + { + "src": "/screenshots/web-characters.png", + "type": "image/png", + "sizes": "1070x810", + "form_factor": "wide" + }, + { + "src": "/screenshots/web-goals.png", + "type": "image/png", + "sizes": "1070x810", + "form_factor": "wide" + }, + { + "src": "/screenshots/mobile-characters.png", + "type": "image/png", + "sizes": "550x990", + "form_factor": "narrow" + }, + { + "src": "/screenshots/mobile-goals.png", + "type": "image/png", + "sizes": "550x990", + "form_factor": "narrow" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff", + "categories": ["entertainment", "games", "productivity"] } diff --git a/public/staticwebapp.config.json b/public/staticwebapp.config.json index 6611013d..17d1db78 100644 --- a/public/staticwebapp.config.json +++ b/public/staticwebapp.config.json @@ -1,8 +1,8 @@ { - "responseOverrides": { - "404": { - "rewrite": "/404.html", - "statusCode": 404 + "responseOverrides": { + "404": { + "rewrite": "/404.html", + "statusCode": 404 + } } - } -} \ No newline at end of file +} diff --git a/src/assets/DirtyDozen.json b/src/assets/DirtyDozen.json index 28c67901..01529421 100644 --- a/src/assets/DirtyDozen.json +++ b/src/assets/DirtyDozen.json @@ -1,302 +1,302 @@ [ - { - "Name": "Eldryon", - "Position": 1, - "Pvp": 3.5, - "GRTyranid": 5, - "GRNecron": 5, - "GROrk": 5, - "GRMortarion": 4.5, - "GRScreamer": 5 - }, - { - "Name": "Maugan Ra", - "Position": 2, - "Pvp": 3.5, - "GRTyranid": 4, - "GRNecron": 5, - "GROrk": 5, - "GRMortarion": 3.5, - "GRScreamer": 5 - }, - { - "Name": "Marneus Calgar", - "Position": 3, - "Pvp": 5, - "GRTyranid": 4.5, - "GRNecron": 4.5, - "GROrk": 4.5, - "GRMortarion": 2.5, - "GRScreamer": 4.5 - }, - { - "Name": "Thaddeus Noble", - "Position": 4, - "Pvp": 4, - "GRTyranid": 3, - "GRNecron": 4, - "GROrk": 4, - "GRMortarion": 4.5, - "GRScreamer": 5 - }, - { - "Name": "Re'Vas", - "Position": 5, - "Pvp": 5, - "GRTyranid": 3, - "GRNecron": 4.5, - "GROrk": 4, - "GRMortarion": 2.5, - "GRScreamer": 3.5 - }, - { - "Name": "Bellator", - "Position": 6, - "Pvp": 3.5, - "GRTyranid": 5, - "GRNecron": 3.5, - "GROrk": 4.5, - "GRMortarion": 1, - "GRScreamer": 4.5 - }, - { - "Name": "Aethana", - "Position": 7, - "Pvp": 3, - "GRTyranid": 3, - "GRNecron": 4, - "GROrk": 4.5, - "GRMortarion": 2.5, - "GRScreamer": 4 - }, - { - "Name": "Aun'Shi", - "Position": 8, - "Pvp": 3.5, - "GRTyranid": 5, - "GRNecron": 2.5, - "GROrk": 3, - "GRMortarion": 2.5, - "GRScreamer": 2.5 - }, - { - "Name": "Sho'Syl", - "Position": 9, - "Pvp": 4, - "GRTyranid": 2, - "GRNecron": 3.5, - "GROrk": 2, - "GRMortarion": 3.5, - "GRScreamer": 3.5 - }, - { - "Name": "Commissar Yarrick", - "Position": 10, - "Pvp": 3.5, - "GRTyranid": 3.5, - "GRNecron": 3, - "GROrk": 2.5, - "GRMortarion": 3.5, - "GRScreamer": 2 - }, - { - "Name": "Darkstrider", - "Position": 11, - "Pvp": 2.5, - "GRTyranid": 2, - "GRNecron": 4, - "GROrk": 2.5, - "GRMortarion": 2, - "GRScreamer": 4.5 - }, - { - "Name": "Volk", - "Position": 12, - "Pvp": 3, - "GRTyranid": 2.5, - "GRNecron": 3.5, - "GROrk": 3.5, - "GRMortarion": 2, - "GRScreamer": 3 - }, - { - "Name": "Ahriman", - "Position": 13, - "Pvp": 4, - "GRTyranid": 2, - "GRNecron": 1.5, - "GROrk": 3, - "GRMortarion": 4, - "GRScreamer": 2.5 - }, - { - "Name": "Roswitha", - "Position": 14, - "Pvp": 3, - "GRTyranid": 4, - "GRNecron": 1.5, - "GROrk": 1.5, - "GRMortarion": 5, - "GRScreamer": 2 - }, - { - "Name": "Castellan Creed", - "Position": 15, - "Pvp": 4, - "GRTyranid": 3, - "GRNecron": 3, - "GROrk": 2, - "GRMortarion": 2.5, - "GRScreamer": 2.5 - }, - { - "Name": "Celestine", - "Position": 16, - "Pvp": 5, - "GRTyranid": 2.5, - "GRNecron": 2, - "GROrk": 2, - "GRMortarion": 2, - "GRScreamer": 3.5 - }, - { - "Name": "Tjark", - "Position": 17, - "Pvp": 3.5, - "GRTyranid": 4, - "GRNecron": 2, - "GROrk": 2, - "GRMortarion": 3, - "GRScreamer": 2.5 - }, - { - "Name": "Ulf", - "Position": 18, - "Pvp": 3.5, - "GRTyranid": 2, - "GRNecron": 2, - "GROrk": 3, - "GRMortarion": 2, - "GRScreamer": 3.5 - }, - { - "Name": "High Marshal Helbrecht", - "Position": 19, - "Pvp": 3, - "GRTyranid": 5, - "GRNecron": 1.5, - "GROrk": 2, - "GRMortarion": 3, - "GRScreamer": 1.5 - }, - { - "Name": "Aleph-Null", - "Position": 20, - "Pvp": 4, - "GRTyranid": 3, - "GRNecron": 0, - "GROrk": 2, - "GRMortarion": 4, - "GRScreamer": 3 - }, - { - "Name": "Abraxas", - "Position": 21, - "Pvp": 4, - "GRTyranid": 2.5, - "GRNecron": 2, - "GROrk": 2, - "GRMortarion": 4, - "GRScreamer": 1.5 - }, - { - "Name": "Archimatos", - "Position": 22, - "Pvp": 3.5, - "GRTyranid": 3.5, - "GRNecron": 2, - "GROrk": 1.5, - "GRMortarion": 2.5, - "GRScreamer": 1.5 - }, - { - "Name": "Jain Zar", - "Position": 23, - "Pvp": 3.5, - "GRTyranid": 2, - "GRNecron": 2, - "GROrk": 2, - "GRMortarion": 2, - "GRScreamer": 3 - }, - { - "Name": "Calandis", - "Position": 24, - "Pvp": 4.5, - "GRTyranid": 2, - "GRNecron": 2, - "GROrk": 2, - "GRMortarion": 2, - "GRScreamer": 2 - }, - { - "Name": "Morvenn Vahl", - "Position": 25, - "Pvp": 3.5, - "GRTyranid": 2, - "GRNecron": 2, - "GROrk": 2, - "GRMortarion": 2, - "GRScreamer": 2 - }, - { - "Name": "Yazaghor", - "Position": 26, - "Pvp": 3, - "GRTyranid": 2, - "GRNecron": 1.5, - "GROrk": 1.5, - "GRMortarion": 3, - "GRScreamer": 1.5 - }, - { - "Name": "Neurothrope", - "Position": 27, - "Pvp": 2.5, - "GRTyranid": 0, - "GRNecron": 2.5, - "GROrk": 3, - "GRMortarion": 4.5, - "GRScreamer": 0 - }, - { - "Name": "Brother Burchard", - "Position": 28, - "Pvp": 3, - "GRTyranid": 2, - "GRNecron": 2, - "GROrk": 2, - "GRMortarion": 1.5, - "GRScreamer": 1.5 - }, - { - "Name": "Kut Skoden", - "Position": 29, - "Pvp": 2.5, - "GRTyranid": 1.5, - "GRNecron": 1.5, - "GROrk": 1.5, - "GRMortarion": 1.5, - "GRScreamer": 3.5 - }, - { - "Name": "Shadowsun", - "Position": 30, - "Pvp": 3, - "GRTyranid": 1.5, - "GRNecron": 2, - "GROrk": 2, - "GRMortarion": 1.5, - "GRScreamer": 2 - } -] \ No newline at end of file + { + "Name": "Eldryon", + "Position": 1, + "Pvp": 3.5, + "GRTyranid": 5, + "GRNecron": 5, + "GROrk": 5, + "GRMortarion": 4.5, + "GRScreamer": 5 + }, + { + "Name": "Maugan Ra", + "Position": 2, + "Pvp": 3.5, + "GRTyranid": 4, + "GRNecron": 5, + "GROrk": 5, + "GRMortarion": 3.5, + "GRScreamer": 5 + }, + { + "Name": "Marneus Calgar", + "Position": 3, + "Pvp": 5, + "GRTyranid": 4.5, + "GRNecron": 4.5, + "GROrk": 4.5, + "GRMortarion": 2.5, + "GRScreamer": 4.5 + }, + { + "Name": "Thaddeus Noble", + "Position": 4, + "Pvp": 4, + "GRTyranid": 3, + "GRNecron": 4, + "GROrk": 4, + "GRMortarion": 4.5, + "GRScreamer": 5 + }, + { + "Name": "Re'Vas", + "Position": 5, + "Pvp": 5, + "GRTyranid": 3, + "GRNecron": 4.5, + "GROrk": 4, + "GRMortarion": 2.5, + "GRScreamer": 3.5 + }, + { + "Name": "Bellator", + "Position": 6, + "Pvp": 3.5, + "GRTyranid": 5, + "GRNecron": 3.5, + "GROrk": 4.5, + "GRMortarion": 1, + "GRScreamer": 4.5 + }, + { + "Name": "Aethana", + "Position": 7, + "Pvp": 3, + "GRTyranid": 3, + "GRNecron": 4, + "GROrk": 4.5, + "GRMortarion": 2.5, + "GRScreamer": 4 + }, + { + "Name": "Aun'Shi", + "Position": 8, + "Pvp": 3.5, + "GRTyranid": 5, + "GRNecron": 2.5, + "GROrk": 3, + "GRMortarion": 2.5, + "GRScreamer": 2.5 + }, + { + "Name": "Sho'Syl", + "Position": 9, + "Pvp": 4, + "GRTyranid": 2, + "GRNecron": 3.5, + "GROrk": 2, + "GRMortarion": 3.5, + "GRScreamer": 3.5 + }, + { + "Name": "Commissar Yarrick", + "Position": 10, + "Pvp": 3.5, + "GRTyranid": 3.5, + "GRNecron": 3, + "GROrk": 2.5, + "GRMortarion": 3.5, + "GRScreamer": 2 + }, + { + "Name": "Darkstrider", + "Position": 11, + "Pvp": 2.5, + "GRTyranid": 2, + "GRNecron": 4, + "GROrk": 2.5, + "GRMortarion": 2, + "GRScreamer": 4.5 + }, + { + "Name": "Volk", + "Position": 12, + "Pvp": 3, + "GRTyranid": 2.5, + "GRNecron": 3.5, + "GROrk": 3.5, + "GRMortarion": 2, + "GRScreamer": 3 + }, + { + "Name": "Ahriman", + "Position": 13, + "Pvp": 4, + "GRTyranid": 2, + "GRNecron": 1.5, + "GROrk": 3, + "GRMortarion": 4, + "GRScreamer": 2.5 + }, + { + "Name": "Roswitha", + "Position": 14, + "Pvp": 3, + "GRTyranid": 4, + "GRNecron": 1.5, + "GROrk": 1.5, + "GRMortarion": 5, + "GRScreamer": 2 + }, + { + "Name": "Castellan Creed", + "Position": 15, + "Pvp": 4, + "GRTyranid": 3, + "GRNecron": 3, + "GROrk": 2, + "GRMortarion": 2.5, + "GRScreamer": 2.5 + }, + { + "Name": "Celestine", + "Position": 16, + "Pvp": 5, + "GRTyranid": 2.5, + "GRNecron": 2, + "GROrk": 2, + "GRMortarion": 2, + "GRScreamer": 3.5 + }, + { + "Name": "Tjark", + "Position": 17, + "Pvp": 3.5, + "GRTyranid": 4, + "GRNecron": 2, + "GROrk": 2, + "GRMortarion": 3, + "GRScreamer": 2.5 + }, + { + "Name": "Ulf", + "Position": 18, + "Pvp": 3.5, + "GRTyranid": 2, + "GRNecron": 2, + "GROrk": 3, + "GRMortarion": 2, + "GRScreamer": 3.5 + }, + { + "Name": "High Marshal Helbrecht", + "Position": 19, + "Pvp": 3, + "GRTyranid": 5, + "GRNecron": 1.5, + "GROrk": 2, + "GRMortarion": 3, + "GRScreamer": 1.5 + }, + { + "Name": "Aleph-Null", + "Position": 20, + "Pvp": 4, + "GRTyranid": 3, + "GRNecron": 0, + "GROrk": 2, + "GRMortarion": 4, + "GRScreamer": 3 + }, + { + "Name": "Abraxas", + "Position": 21, + "Pvp": 4, + "GRTyranid": 2.5, + "GRNecron": 2, + "GROrk": 2, + "GRMortarion": 4, + "GRScreamer": 1.5 + }, + { + "Name": "Archimatos", + "Position": 22, + "Pvp": 3.5, + "GRTyranid": 3.5, + "GRNecron": 2, + "GROrk": 1.5, + "GRMortarion": 2.5, + "GRScreamer": 1.5 + }, + { + "Name": "Jain Zar", + "Position": 23, + "Pvp": 3.5, + "GRTyranid": 2, + "GRNecron": 2, + "GROrk": 2, + "GRMortarion": 2, + "GRScreamer": 3 + }, + { + "Name": "Calandis", + "Position": 24, + "Pvp": 4.5, + "GRTyranid": 2, + "GRNecron": 2, + "GROrk": 2, + "GRMortarion": 2, + "GRScreamer": 2 + }, + { + "Name": "Morvenn Vahl", + "Position": 25, + "Pvp": 3.5, + "GRTyranid": 2, + "GRNecron": 2, + "GROrk": 2, + "GRMortarion": 2, + "GRScreamer": 2 + }, + { + "Name": "Yazaghor", + "Position": 26, + "Pvp": 3, + "GRTyranid": 2, + "GRNecron": 1.5, + "GROrk": 1.5, + "GRMortarion": 3, + "GRScreamer": 1.5 + }, + { + "Name": "Neurothrope", + "Position": 27, + "Pvp": 2.5, + "GRTyranid": 0, + "GRNecron": 2.5, + "GROrk": 3, + "GRMortarion": 4.5, + "GRScreamer": 0 + }, + { + "Name": "Brother Burchard", + "Position": 28, + "Pvp": 3, + "GRTyranid": 2, + "GRNecron": 2, + "GROrk": 2, + "GRMortarion": 1.5, + "GRScreamer": 1.5 + }, + { + "Name": "Kut Skoden", + "Position": 29, + "Pvp": 2.5, + "GRTyranid": 1.5, + "GRNecron": 1.5, + "GROrk": 1.5, + "GRMortarion": 1.5, + "GRScreamer": 3.5 + }, + { + "Name": "Shadowsun", + "Position": 30, + "Pvp": 3, + "GRTyranid": 1.5, + "GRNecron": 2, + "GROrk": 2, + "GRMortarion": 1.5, + "GRScreamer": 2 + } +] diff --git a/src/assets/UnitData.json b/src/assets/UnitData.json index dc6ca604..14ea5f00 100644 --- a/src/assets/UnitData.json +++ b/src/assets/UnitData.json @@ -1,1797 +1,1570 @@ [ - { - "Name": "Varro Tigurius", - "Faction": "Ultramarines", - "Alliance": "Imperial", - "Health": 65, - "Damage": 30, - "Armour": 14, - "Initial rarity": "Uncommon", - "Melee Damage": "Physical", - "Melee Hits": 1, - "Ranged Damage": "Psychic", - "Ranged Hits": 1, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Psyker" - ], - "Active Ability": "Psychic", - "Number": 1, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "VarroTigurius.png" - }, - { - "Name": "Certus", - "Faction": "Ultramarines", - "Alliance": "Imperial", - "Health": 60, - "Damage": 55, - "Armour": 18, - "Initial rarity": "Common", - "Melee Damage": "Physical", - "Melee Hits": 1, - "Ranged Damage": "Bolter", - "Ranged Hits": 1, - "Distance": 3, - "Movement": 2, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Overwatch", - "Heavy Weapon", - "Infiltrate" - ], - "Active Ability": "Heavy Round", - "Number": 2, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "certus-removebg-preview.png" - }, - { - "Name": "Bellator", - "Faction": "Ultramarines", - "Alliance": "Imperial", - "Health": 85, - "Damage": 10, - "Armour": 13, - "Initial rarity": "Common", - "Melee Damage": "Bolter", - "Melee Hits": 6, - "Movement": 4, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Flying", - "MK X Gravis" - ], - "Active Ability": "Bolter", - "Number": 3, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "bellator.png" - }, - { - "Name": "Incisus", - "Faction": "Ultramarines", - "Alliance": "Imperial", - "Health": 75, - "Damage": 35, - "Armour": 17, - "Initial rarity": "Common", - "Melee Damage": "Piercing", - "Melee Hits": 1, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Healer" - ], - "Number": 4, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "incisus-removebg-preview.png" - }, - { - "Name": "Marneus Calgar", - "Faction": "Ultramarines", - "Alliance": "Imperial", - "Health": 95, - "Damage": 20, - "Armour": 20, - "Initial rarity": "Legendary", - "Melee Damage": "Power", - "Melee Hits": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "MK X Gravis", - "Final Vengeance" - ], - "Active Ability": "Bolter", - "Number": 5, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "marneus_calgar-removebg-preview.png" - }, - { - "Name": "Makhotep", - "Faction": "Necrons", - "Alliance": "Xenos", - "Health": 80, - "Damage": 19, - "Armour": 20, - "Initial rarity": "Common", - "Melee Damage": "Physical", - "Melee Hits": 1, - "Ranged Damage": "Molecular", - "Ranged Hits": 2, - "Distance": 3, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Living Metal" - ], - "Number": 21, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "Makhotep-removebg-preview.png" - }, - { - "Name": "Imospekh", - "Faction": "Necrons", - "Alliance": "Xenos", - "Health": 72, - "Damage": 8, - "Armour": 15, - "Initial rarity": "Common", - "Melee Damage": "Molecular", - "Melee Hits": 6, - "Ranged Damage": "Molecular", - "Ranged Hits": 6, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Living Metal", - "Overwatch" - ], - "Active Ability": "Molecular", - "Number": 22, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "Imospekh-removebg-preview.png" - }, - { - "Name": "Aleph-Null", - "Faction": "Necrons", - "Alliance": "Xenos", - "Health": 75, - "Damage": 12, - "Armour": 22, - "Initial rarity": "Uncommon", - "Melee Damage": "Particle", - "Melee Hits": 5, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Living Metal", - "Explodes", - "Flying", - "Mechanic" - ], - "Number": 23, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "Aleph-null.png" - }, - { - "Name": "Thutmose", - "Faction": "Necrons", - "Alliance": "Xenos", - "Health": 75, - "Damage": 30, - "Armour": 16, - "Initial rarity": "Rare", - "Melee Damage": "Plasma", - "Melee Hits": 2, - "Ranged Damage": "Plasma", - "Ranged Hits": 2, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Living Metal", - "Flying" - ], - "Active Ability": "Direct", - "Passive Ability": "Direct", - "Number": 24, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "Thutmose-removebg-preview.png" - }, - { - "Name": "Anuphet", - "Faction": "Necrons", - "Alliance": "Xenos", - "Health": 85, - "Damage": 17, - "Armour": 29, - "Initial rarity": "Epic", - "Melee Damage": "Energy", - "Melee Hits": 4, - "Ranged Damage": "Energy", - "Ranged Hits": 3, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Living Metal" - ], - "Passive Ability": "Energy", - "Number": 25, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "Anuphet.png" - }, - { - "Name": "Sibyll", - "Faction": "Astra Militarum", - "Alliance": "Imperial", - "Health": 55, - "Damage": 30, - "Armour": 20, - "Initial rarity": "Common", - "Melee Damage": "Psychic", - "Melee Hits": 1, - "Ranged Damage": "Psychic", - "Ranged Hits": 1, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Psyker" - ], - "Number": 26, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "Sibyll-removebg-preview.png" - }, - { - "Name": "Commissar Yarrick", - "Faction": "Astra Militarum", - "Alliance": "Imperial", - "Health": 75, - "Damage": 30, - "Armour": 17, - "Initial rarity": "Rare", - "Melee Damage": "Power", - "Melee Hits": 3, - "Ranged Damage": "Bolter", - "Ranged Hits": 2, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "Resilient" - ], - "Number": 27, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "CommissarYarrick-removebg-preview.png" - }, - { - "Name": "Kut Skoden", - "Faction": "Astra Militarum", - "Alliance": "Imperial", - "Health": 95, - "Damage": 30, - "Armour": 35, - "Initial rarity": "Uncommon", - "Melee Damage": "Physical", - "Melee Hits": 4, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Defense", - "Traits": [ - "Big Target" - ], - "Active Ability": "Blast", - "Number": 28, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "Kutskoden-removebg-preview.png" - }, - { - "Name": "Thaddeus Noble", - "Faction": "Astra Militarum", - "Alliance": "Imperial", - "Health": 50, - "Damage": 38, - "Armour": 18, - "Initial rarity": "Rare", - "Melee Damage": "Las", - "Melee Hits": 1, - "Ranged Damage": "Blast", - "Ranged Hits": 3, - "Distance": 3, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Suppressive Fire", - "Indirect Fire" - ], - "Active Ability": "Blast", - "Number": 29, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "Thaddeusnoble-removebg-preview.png" - }, - { - "Name": "Castellan Creed", - "Faction": "Astra Militarum", - "Alliance": "Imperial", - "Health": 90, - "Damage": 38, - "Armour": 21, - "Initial rarity": "Legendary", - "Melee Damage": "Las", - "Melee Hits": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [], - "Number": 30, - "ForcedSummons": true, - "RequiredInCampaign": false, - "Icon": "Castellancreed-removebg-preview.png" - }, - { - "Name": "Angrax", - "Faction": "Black Legion", - "Alliance": "Chaos", - "Health": 110, - "Damage": 12, - "Armour": 30, - "Initial rarity": "Common", - "Melee Damage": "Power", - "Melee Hits": 4, - "Movement": 2, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "Let the Galaxy Burn", - "Deep Strike", - "Terminator Armour" - ], - "Active Ability": "Power", - "Passive Ability": "Power", - "Number": 6, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "Angrax.png" - }, - { - "Name": "Volk", - "Faction": "Black Legion", - "Alliance": "Chaos", - "Health": 65, - "Damage": 9, - "Armour": 10, - "Initial rarity": "Rare", - "Melee Damage": "Power", - "Melee Hits": 4, - "Ranged Damage": "Heavy Round", - "Ranged Hits": 6, - "Distance": 3, - "Movement": 2, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Let the Galaxy Burn", - "Suppressive Fire", - "Daemon", - "Big Target" - ], - "Active Ability": "Heavy Round", - "Passive Ability": "Heavy Round", - "Number": 7, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "volk-removebg-preview.png" - }, - { - "Name": "Archimatos", - "Faction": "Black Legion", - "Alliance": "Chaos", - "Health": 70, - "Damage": 15, - "Armour": 14, - "Initial rarity": "Uncommon", - "Melee Damage": "Psychic", - "Melee Hits": 2, - "Ranged Damage": "Psychic", - "Ranged Hits": 1, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Crit Booster", - "Traits": [ - "Let the Galaxy Burn", - "Psyker" - ], - "Number": 8, - "ForcedSummons": true, - "RequiredInCampaign": true, - "Icon": "archimatos.png" - }, - { - "Name": "Haarken Worldclaimer", - "Faction": "Black Legion", - "Alliance": "Chaos", - "Health": 88, - "Damage": 11, - "Armour": 20, - "Initial rarity": "Epic", - "Melee Damage": "Piercing", - "Melee Hits": 4, - "Movement": 4, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Crit Booster", - "Traits": [ - "Let the Galaxy Burn", - "Flying" - ], - "Active Ability": "Piercing", - "Number": 9, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "HaarkenWorldclaimer-removebg-preview.png" - }, - { - "Name": "Abaddon The Despoiler", - "Faction": "Black Legion", - "Alliance": "Chaos", - "Health": 88, - "Damage": 15, - "Armour": 16, - "Initial rarity": "Legendary", - "Melee Damage": "Power", - "Melee Hits": 5, - "Ranged Damage": "Bolter", - "Ranged Hits": 3, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "Let the Galaxy Burn", - "Terminator Armour", - "Resilient" - ], - "Active Ability": "Piercing", - "Number": 10, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "Abaddonthedespolier.png" - }, - { - "Name": "Vindicta", - "Faction": "Adepta Sororitas", - "Alliance": "Imperial", - "Health": 70, - "Damage": 20, - "Armour": 12, - "Initial rarity": "Common", - "Melee Damage": "Physical", - "Melee Hits": 1, - "Ranged Damage": "Flame", - "Ranged Hits": 4, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Act of Faith", - "Heavy Weapon" - ], - "Active Ability": "Flame", - "Passive Ability": "Flame", - "Number": 16, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "Vindicta-removebg-preview.png" - }, - { - "Name": "Isabella", - "Faction": "Adepta Sororitas", - "Alliance": "Imperial", - "Health": 85, - "Damage": 18, - "Armour": 20, - "Initial rarity": "Rare", - "Melee Damage": "Bolter", - "Melee Hits": 3, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "Act of Faith", - "Healer" - ], - "Number": 17, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "Isabella-removebg-preview.png" - }, - { - "Name": "Morvenn Vahl", - "Faction": "Adepta Sororitas", - "Alliance": "Imperial", - "Health": 85, - "Damage": 12, - "Armour": 19, - "Initial rarity": "Legendary", - "Melee Damage": "Power", - "Melee Hits": 5, - "Ranged Damage": "Bolter", - "Ranged Hits": 3, - "Distance": 3, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "Act of Faith", - "Mechanical", - "Explodes", - "Big Target" - ], - "Active Ability": "Blast", - "Passive Ability": "Power", - "Number": 18, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "MorvennVahl-removebg-preview.png" - }, - { - "Name": "Roswitha", - "Faction": "Adepta Sororitas", - "Alliance": "Imperial", - "Health": 85, - "Damage": 30, - "Armour": 17, - "Initial rarity": "Uncommon", - "Melee Damage": "Chain", - "Melee Hits": 3, - "Ranged Damage": "Bolter", - "Ranged Hits": 2, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "Act of Faith" - ], - "Active Ability": "Flame", - "Number": 19, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "Roswitha-removebg-preview.png" - }, - { - "Name": "Celestine", - "Faction": "Adepta Sororitas", - "Alliance": "Imperial", - "Health": 60, - "Damage": 25, - "Armour": 20, - "Initial rarity": "Legendary", - "Melee Damage": "Power", - "Melee Hits": 3, - "Movement": 4, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Act of Faith", - "Flying" - ], - "Active Ability": "Power", - "Number": 20, - "ForcedSummons": true, - "RequiredInCampaign": false, - "Icon": "Celestine-removebg-preview.png" - }, - { - "Name": "Snotflogga", - "Faction": "Orks", - "Alliance": "Xenos", - "Health": 110, - "Damage": 25, - "Armour": 25, - "Initial rarity": "Rare", - "Melee Damage": "Physical", - "Melee Hits": 3, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Beast Slayer" - ], - "Passive Ability": "Physical", - "Number": 11, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "snotflogga-removebg-preview.png" - }, - { - "Name": "Gibbascrapz", - "Faction": "Orks", - "Alliance": "Xenos", - "Health": 75, - "Damage": 25, - "Armour": 30, - "Initial rarity": "Common", - "Melee Damage": "Physical", - "Melee Hits": 4, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Mechanic" - ], - "Number": 12, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "Gibbascrapz-removebg-preview.png" - }, - { - "Name": "Snappawrecka", - "Faction": "Orks", - "Alliance": "Xenos", - "Health": 80, - "Damage": 20, - "Armour": 15, - "Initial rarity": "Uncommon", - "Melee Damage": "Chain", - "Melee Hits": 2, - "Ranged Damage": "Projectile", - "Ranged Hits": 3, - "Distance": 3, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Mechanical", - "Big Target", - "Explodes", - "Dakka" - ], - "Active Ability": "Physical", - "Number": 13, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "Snappawrecka-removebg-preview.png" - }, - { - "Name": "Tanksmasha", - "Faction": "Orks", - "Alliance": "Xenos", - "Health": 85, - "Damage": 30, - "Armour": 15, - "Initial rarity": "Epic", - "Melee Damage": "Chain", - "Melee Hits": 3, - "Movement": 4, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Mounted", - "Beast Slayer" - ], - "Active Ability": "Direct", - "Passive Ability": "Physical", - "Number": 14, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "Tanksmasha-removebg-preview.png" - }, - { - "Name": "Boss Gulgortz", - "Faction": "Orks", - "Alliance": "Xenos", - "Health": 100, - "Damage": 12, - "Armour": 15, - "Initial rarity": "Epic", - "Melee Damage": "Chain", - "Melee Hits": 5, - "Ranged Damage": "Projectile", - "Ranged Hits": 3, - "Distance": 3, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "Mechanical", - "Big Target", - "Final Vengeance", - "Dakka" - ], - "Passive Ability": "Projectile", - "Number": 15, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "BossGulgortz-removebg-preview.png" - }, - { - "Name": "Sword Brother Godswyl", - "Faction": "Black Templars", - "Alliance": "Imperial", - "Health": 95, - "Damage": 55, - "Armour": 22, - "Initial rarity": "Common", - "Melee Damage": "Power", - "Melee Hits": 1, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Rapid Assault", - "Parry" - ], - "Active Ability": "Power", - "Number": 36, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "sbg-removebg-preview.png" - }, - { - "Name": "Brother Burchard", - "Faction": "Black Templars", - "Alliance": "Imperial", - "Health": 120, - "Damage": 9, - "Armour": 24, - "Initial rarity": "Uncommon", - "Melee Damage": "Power", - "Melee Hits": 3, - "Ranged Damage": "Bolter", - "Ranged Hits": 3, - "Distance": 2, - "Movement": 2, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "MK X Gravis", - "Suppressive Fire" - ], - "Active Ability": "Blast", - "Passive Ability": "Bolter", - "Number": 37, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "brotherBurchard-removebg-preview.png" - }, - { - "Name": "Ancient Thoread", - "Faction": "Black Templars", - "Alliance": "Imperial", - "Health": 100, - "Damage": 32, - "Armour": 22, - "Initial rarity": "Rare", - "Melee Damage": "Power", - "Melee Hits": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Final Vengeance", - "Parry" - ], - "Number": 38, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "AncientThoread.png" - }, - { - "Name": "Brother Jaeger", - "Faction": "Black Templars", - "Alliance": "Imperial", - "Health": 110, - "Damage": 25, - "Armour": 25, - "Initial rarity": "Epic", - "Melee Damage": "Power", - "Melee Hits": 3, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "Rapid Assault", - "Final Vengeance", - "Parry" - ], - "Passive Ability": "Power", - "Number": 39, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "brotherJaeger-removebg-preview.png" - }, - { - "Name": "High Marshal Helbrecht", - "Faction": "Black Templars", - "Alliance": "Imperial", - "Health": 80, - "Damage": 15, - "Armour": 20, - "Initial rarity": "Legendary", - "Melee Damage": "Power", - "Melee Hits": 6, - "Ranged Damage": "Bolter", - "Ranged Hits": 3, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "Final Vengeance", - "Parry" - ], - "Number": 40, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "HighMarshalHelbrecht-removebg-preview.png" - }, - { - "Name": "Typhus", - "Faction": "Death guard", - "Alliance": "Chaos", - "Health": 120, - "Damage": 18, - "Armour": 25.08, - "Initial rarity": "Legendary", - "Melee Damage": "Power", - "Melee Hits": 1, - "Ranged Damage": "Psychic", - "Ranged Hits": 1, - "Distance": 2, - "Movement": 2, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "Contagions of Nurgle", - "Resilient", - "Psyker", - "Terminator Armour" - ], - "Active Ability": "Psychic", - "Passive Ability": "Direct", - "Number": 31, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "Typhus-removebg-preview.png" - }, - { - "Name": "Maladus", - "Faction": "Death guard", - "Alliance": "Chaos", - "Health": 120, - "Damage": 26, - "Armour": 27, - "Initial rarity": "Uncommon", - "Melee Damage": "Power", - "Melee Hits": 3, - "Movement": 2, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "Contagions of Nurgle", - "Resilient", - "Terminator Armour" - ], - "Active Ability": "Power", - "Passive Ability": "Power", - "Number": 32, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "Maladus-removebg-preview.png" - }, - { - "Name": "Nauseous Rotbone", - "Faction": "Death guard", - "Alliance": "Chaos", - "Health": 120, - "Damage": 14, - "Armour": 27, - "Initial rarity": "Epic", - "Melee Damage": "Power", - "Melee Hits": 4, - "Movement": 2, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Block Booster", - "Traits": [ - "Contagions of Nurgle", - "Resilient", - "Healer" - ], - "Number": 33, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "Nauseousrotbone-removebg-preview.png" - }, - { - "Name": "Pestillian", - "Faction": "Death guard", - "Alliance": "Chaos", - "Health": 109.8, - "Damage": 35, - "Armour": 33, - "Initial rarity": "Rare", - "Melee Damage": "Direct", - "Melee Hits": 1, - "Movement": 2, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Contagions of Nurgle", - "Resilient", - "Putrid Explosion" - ], - "Active Ability": "Direct", - "Passive Ability": "Blast", - "Number": 34, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "Pestillian-removebg-preview.png" - }, - { - "Name": "Corrodius", - "Faction": "Death guard", - "Alliance": "Chaos", - "Health": 100, - "Damage": 11, - "Armour": 30, - "Initial rarity": "Rare", - "Melee Damage": "Plasma", - "Melee Hits": 2, - "Movement": 2, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Contagions of Nurgle", - "Resilient" - ], - "Passive Ability": "Psychic", - "Number": 35, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "Corrodius-removebg-preview.png" - }, - { - "Name": "Calandis", - "Faction": "Aeldari", - "Alliance": "Xenos", - "Health": 70, - "Damage": 45, - "Armour": 18.04, - "Initial rarity": "Common", - "Melee Damage": "Physical", - "Melee Hits": 1, - "Ranged Damage": "Energy", - "Ranged Hits": 1, - "Distance": 3, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Crit", - "Equipment3": "Crit Booster", - "Traits": [ - "Heavy Weapon", - "Overwatch" - ], - "Passive Ability": "Piercing", - "Number": 41, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "Calandis-removebg-preview.png" - }, - { - "Name": "Aethana", - "Faction": "Aeldari", - "Alliance": "Xenos", - "Health": 80, - "Damage": 14, - "Armour": 17, - "Initial rarity": "Uncommon", - "Melee Damage": "Piercing", - "Melee Hits": 3, - "Movement": 5, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "Flying", - "Deep Strike" - ], - "Active Ability": "Piercing", - "Number": 42, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "Aethana.png" - }, - { - "Name": "Eldryon", - "Faction": "Aeldari", - "Alliance": "Xenos", - "Health": 75, - "Damage": 16, - "Armour": 16, - "Initial rarity": "Rare", - "Melee Damage": "Piercing", - "Melee Hits": 2, - "Ranged Damage": "Psychic", - "Ranged Hits": 2, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "Psyker" - ], - "Active Ability": "Psychic", - "Number": 43, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "eldryon-removebg-preview.png" - }, - { - "Name": "Maugan Ra", - "Faction": "Aeldari", - "Alliance": "Xenos", - "Health": 55, - "Damage": 9, - "Armour": 12, - "Initial rarity": "Legendary", - "Melee Damage": "Power", - "Melee Hits": 5, - "Ranged Damage": "Heavy Round", - "Ranged Hits": 6, - "Distance": 3, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "Terrifying", - "Heavy Weapon", - "Overwatch" - ], - "Active Ability": "Heavy Round", - "Number": 44, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "Maugan_Ra-removebg-preview.png" - }, - { - "Name": "Jain Zar", - "Faction": "Aeldari", - "Alliance": "Xenos", - "Health": 75, - "Damage": 19, - "Armour": 18, - "Initial rarity": "Legendary", - "Melee Damage": "Piercing", - "Melee Hits": 3, - "Movement": 4, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "Infiltrate" - ], - "Active Ability": "Piercing", - "Number": 45, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "Jain_Zar-removebg-preview.png" - }, - { - "Name": "Sho'Syl", - "Faction": "T'au Empire", - "Alliance": "Xenos", - "Health": 65, - "Damage": 53, - "Armour": 16, - "Initial rarity": "Uncommon", - "Melee Damage": "Pulse", - "Melee Hits": 1, - "Ranged Damage": "Piercing", - "Ranged Hits": 1, - "Distance": 3, - "Movement": 2, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Camouflage", - "Close Combat Weakness" - ], - "Active Ability": "Heavy Round", - "Number": 48, - "ForcedSummons": true, - "RequiredInCampaign": false, - "Icon": "sho_syl-removebg-preview.png" - }, - { - "Name": "Re'Vas", - "Faction": "T'au Empire", - "Alliance": "Xenos", - "Health": 105, - "Damage": 10, - "Armour": 25, - "Initial rarity": "Uncommon", - "Melee Damage": "Flame", - "Melee Hits": 6, - "Ranged Damage": "Pulse", - "Ranged Hits": 6, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "Close Combat Weakness", - "Big Target", - "Flying", - "Mechanical" - ], - "Passive Ability": "Particle", - "Number": 49, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "re_vas-removebg-preview.png" - }, - { - "Name": "Darkstrider", - "Faction": "T'au Empire", - "Alliance": "Xenos", - "Health": 73, - "Damage": 31.8, - "Armour": 15.45, - "Initial rarity": "Rare", - "Melee Damage": "Physical", - "Melee Hits": 3, - "Ranged Damage": "Pulse", - "Ranged Hits": 2, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Close Combat Weakness", - "Infiltrate", - "Suppressive Fire" - ], - "Number": 50, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "darkstrider-removebg-preview.png" - }, - { - "Name": "Aun'Shi", - "Faction": "T'au Empire", - "Alliance": "Xenos", - "Health": 77.3, - "Damage": 11.8, - "Armour": 14.5, - "Initial rarity": "Legendary", - "Melee Damage": "Power", - "Melee Hits": 5, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Crit Booster", - "Traits": [], - "Number": 51, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "Aun-shi.png", - "ReleaseRarity": 5 - }, - { - "Name": "Shadowsun", - "Faction": "T'au Empire", - "Alliance": "Xenos", - "Health": 80, - "Damage": 27, - "Armour": 18, - "Initial rarity": "Legendary", - "Melee Damage": "Blast", - "Melee Hits": 2, - "Ranged Damage": "Melta", - "Ranged Hits": 2, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Crit Booster", - "Traits": [ - "Close Combat Weakness", - "Camouflage", - "Flying", - "Infiltrate" - ], - "Active Ability": "Blast", - "Number": 52, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "ShadowSun.png", - "ReleaseRarity": 5 - }, - { - "Name": "Ulf", - "Faction": "Space Wolves", - "Alliance": "Imperial", - "Health": 90, - "Damage": 33.1, - "Armour": 19.9, - "Initial rarity": "Uncommon", - "Melee Damage": "Power", - "Melee Hits": 3, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Final Vengeance", - "Unstoppable" - ], - "Active Ability": "Piercing", - "Passive Ability": "Power", - "Number": 46, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "Ulf.png" - }, - { - "Name": "Tjark", - "Faction": "Space Wolves", - "Alliance": "Imperial", - "Health": 85, - "Damage": 32, - "Armour": 23, - "Initial rarity": "Uncommon", - "Melee Damage": "Physical", - "Melee Hits": 4, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Infiltrate", - "Terrifying" - ], - "Active Ability": "Physical", - "Number": 47, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "Tjark.png" - }, - { - "Name": "Azrael", - "Faction": "Dark Angels", - "Alliance": "Imperial", - "Health": 85, - "Damage": 22, - "Armour": 24, - "Initial rarity": "Epic", - "Melee Damage": "Power", - "Melee Hits": 3, - "Ranged Damage": "Plasma", - "Ranged Hits": 1, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "Final Vengeance", - "Overwatch" - ], - "Active Ability": "Direct", - "Passive Ability": "Bolter", - "Number": 53, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "Azrael-removebg-preview.png" - }, - { - "Name": "Arjac", - "Faction": "Space Wolves", - "Alliance": "Imperial", - "Health": 110, - "Damage": 23, - "Armour": 26, - "Initial rarity": "Rare", - "Melee Damage": "Power", - "Melee Hits": 3, - "Movement": 2, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "Terminator Armour", - "Deep Strike", - "Resilient" - ], - "Active Ability": "Power", - "Number": 54, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "arjac.png" - }, - { - "Name": "Yazaghor", - "Faction": "Thousand Sons", - "Alliance": "Chaos", - "Health": 65, - "Damage": 49, - "Armour": 14, - "Initial rarity": "Common", - "Melee Damage": "Physical", - "Melee Hits": 1, - "Ranged Damage": "Heavy Round", - "Ranged Hits": 1, - "Distance": 2, - "Movement": 4, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Flying", - "Weaver of Fates" - ], - "Active Ability": "Psychic", - "Number": 55, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "Yazaghor.png" - }, - { - "Name": "Toth", - "Faction": "Thousand Sons", - "Alliance": "Chaos", - "Health": 90, - "Damage": 10, - "Armour": 27, - "Initial rarity": "Uncommon", - "Melee Damage": "Power", - "Melee Hits": 4, - "Ranged Damage": "Flame", - "Ranged Hits": 5, - "Distance": 4, - "Movement": 2, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "Terminator Armour", - "Suppressive Fire", - "Weaver of Fates" - ], - "Active Ability": "Heavy Round", - "Number": 56, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "toth.png" - }, - { - "Name": "Abraxas", - "Faction": "Thousand Sons", - "Alliance": "Chaos", - "Health": 70, - "Damage": 18, - "Armour": 20, - "Initial rarity": "Rare", - "Melee Damage": "Flame", - "Melee Hits": 2, - "Ranged Damage": "Psychic", - "Ranged Hits": 1, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Crit Booster", - "Traits": [ - "Psyker", - "Weaver of Fates" - ], - "Active Ability": "Psychic", - "Passive Ability": "Psychic", - "Number": 57, - "ForcedSummons": false, - "RequiredInCampaign": true, - "Icon": "Abraxas.png" - }, - { - "Name": "Thaumachus", - "Faction": "Thousand Sons", - "Alliance": "Chaos", - "Health": 75, - "Damage": 27, - "Armour": 18, - "Initial rarity": "Epic", - "Melee Damage": "Flame", - "Melee Hits": 1, - "Ranged Damage": "Psychic", - "Ranged Hits": 1, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Crit Booster", - "Traits": [ - "Weaver of Fates", - "Flying", - "Psyker" - ], - "Number": 58, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "Thaumachus-removebg-preview.png" - }, - { - "Name": "Sarquael", - "Faction": "Dark Angels", - "Alliance": "Imperial", - "Health": 70, - "Damage": 50, - "Armour": 20, - "Initial rarity": "Uncommon", - "Melee Damage": "Physical", - "Melee Hits": 1, - "Ranged Damage": "Plasma", - "Ranged Hits": 1, - "Distance": 3, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Final Vengeance", - "Overwatch", - "Heavy Weapon" - ], - "Active Ability": "Plasma", - "Passive Ability": "Plasma", - "Number": 59, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "Sarquael.png" - }, - { - "Name": "Neurothrope", - "Faction": "Tyranids", - "Alliance": "Xenos", - "Health": 70, - "Damage": 50, - "Armour": 20, - "Initial rarity": "Rare", - "Melee Damage": "Physical", - "Melee Hits": 1, - "Ranged Damage": "Psychic", - "Ranged Hits": 1, - "Distance": 3, - "Movement": 2, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Close Combat Weakness", - "Flying", - "Psyker", - "Shadow in the Warp", - "Synapse" - ], - "Active Ability": "Psychic", - "Passive Ability": "Psychic", - "Number": 60, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "Neurothrope-removebg-preview.png" - }, - { - "Name": "Ahriman", - "Faction": "Thousand Sons", - "Alliance": "Chaos", - "Health": 80, - "Damage": 18, - "Armour": 30, - "Initial rarity": "Legendary", - "Melee Damage": "Flame", - "Melee Hits": 1, - "Ranged Damage": "Psychic", - "Ranged Hits": 1, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Crit Booster", - "Traits": [ - "Weaver of Fates", - "Flying", - "Psyker" - ], - "Active Ability": "Psychic", - "Number": 61, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "Ahriman.png" - }, - { - "Name": "Tyrant Guard", - "Faction": "Tyranids", - "Alliance": "Xenos", - "Health": 125, - "Damage": 16, - "Armour": 22, - "Initial rarity": "Uncommon", - "Melee Damage": "Piercing", - "Melee Hits": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Defense", - "Traits": [ - "Big Target", - "Crushing Strike" - ], - "Active Ability": "Physical", - "Number": 62, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "TyrantGuard.png" - }, - { - "Name": "Winged Tyrant Prime", - "Faction": "Tyranids", - "Alliance": "Xenos", - "Health": 0, - "Damage": 0, - "Armour": 0, - "Initial rarity": "Rare", - "Melee Damage": "Bio", - "Melee Hits": 6, - "Movement": 4, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Flying", - "Synapse", - "Final Vengeance" - ], - "Number": 63, - "ForcedSummons": true, - "RequiredInCampaign": false, - "Icon": "Winged_Prime.png" - }, - { - "Name": "Deathleaper", - "Faction": "Tyranids", - "Alliance": "Xenos", - "Health": 0, - "Damage": 0, - "Armour": 0, - "Initial rarity": "Epic", - "Melee Damage": "Bio", - "Melee Hits": 3, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Defense", - "Equipment3": "Crit Booster", - "Traits": [ - "Camouflage", - "Deep Strike", - "Infiltrate", - "Terrifying" - ], - "Active Ability": "Direct", - "Number": 64, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "Deathleaper.png" - }, - { - "Name": "Njal Stormcaller", - "Faction": "Space Wolves", - "Alliance": "Imperial", - "Health": 0, - "Damage": 0, - "Armour": 0, - "Initial rarity": "Epic", - "Melee Damage": "Psychic", - "Melee Hits": 3, - "Ranged Damage": "Psychic", - "Ranged Hits": 2, - "Movement": 2, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Block Booster", - "Traits": [ - "Psyker", - "Terminator Armour", - "Unstoppable" - ], - "Active Ability": "Psychic", - "Number": 65, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "Njal.png" - }, - { - "Name": "Ragnar Blackmane", - "Faction": "Space Wolves", - "Alliance": "Imperial", - "Health": 0, - "Damage": 0, - "Armour": 0, - "Initial rarity": "Legendary", - "Melee Damage": "Chain", - "Melee Hits": 7, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Crit Booster", - "Traits": [ - "Rapid Assault", - "Final Vengeance", - "Beast Slayer" - ], - "Active Ability": "", - "Number": 66, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "Ragnar.png", - "ReleaseRarity": 6 - }, - { - "Name": "Vitruvius", - "Faction": "Adeptus Mechanicus", - "Alliance": "Imperial", - "Health": 0, - "Damage": 0, - "Armour": 0, - "Initial rarity": "Legendary", - "Melee Damage": "Power", - "Melee Hits": 1, - "Ranged Damage": "Molecular", - "Ranged Hits": 1, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Crit Booster", - "Traits": [ - "Mechanical", - "Mechanic" - ], - "Active Ability": "Toxic", - "Number": 67, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "vitruvius.png", - "ReleaseRarity": 6 - }, - { - "Name": "Actus", - "Faction": "Adeptus Mechanicus", - "Alliance": "Imperial", - "Health": 0, - "Damage": 0, - "Armour": 0, - "Initial rarity": "Rare", - "Melee Damage": "Energy", - "Melee Hits": 2, - "Ranged Damage": "Energy", - "Ranged Hits": 2, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Crit Booster", - "Traits": [ - "Mechanical", - "Mechanic", - "Flying" - ], - "Number": 68, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "actus.png" - }, - { - "Name": "Tan Gi'Da", - "Faction": "Adeptus Mechanicus", - "Alliance": "Imperial", - "Health": 0, - "Damage": 0, - "Armour": 0, - "Initial rarity": "Rare", - "Melee Damage": "Physical", - "Melee Hits": 2, - "Ranged Damage": "Toxic", - "Ranged Hits": 1, - "Distance": 2, - "Movement": 3, - "Equipment1": "Crit", - "Equipment2": "Block", - "Equipment3": "Crit Booster", - "Traits": [ - "Mechanical" - ], - "Active Ability": "Toxic", - "Number": 69, - "ForcedSummons": false, - "RequiredInCampaign": false, - "Icon": "tanGida.png", - "ReleaseRarity": 3 - } + { + "Name": "Varro Tigurius", + "Faction": "Ultramarines", + "Alliance": "Imperial", + "Health": 65, + "Damage": 30, + "Armour": 14, + "Initial rarity": "Uncommon", + "Melee Damage": "Physical", + "Melee Hits": 1, + "Ranged Damage": "Psychic", + "Ranged Hits": 1, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Psyker"], + "Active Ability": "Psychic", + "Number": 1, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "VarroTigurius.png" + }, + { + "Name": "Certus", + "Faction": "Ultramarines", + "Alliance": "Imperial", + "Health": 60, + "Damage": 55, + "Armour": 18, + "Initial rarity": "Common", + "Melee Damage": "Physical", + "Melee Hits": 1, + "Ranged Damage": "Bolter", + "Ranged Hits": 1, + "Distance": 3, + "Movement": 2, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Overwatch", "Heavy Weapon", "Infiltrate"], + "Active Ability": "Heavy Round", + "Number": 2, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "certus-removebg-preview.png" + }, + { + "Name": "Bellator", + "Faction": "Ultramarines", + "Alliance": "Imperial", + "Health": 85, + "Damage": 10, + "Armour": 13, + "Initial rarity": "Common", + "Melee Damage": "Bolter", + "Melee Hits": 6, + "Movement": 4, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Flying", "MK X Gravis"], + "Active Ability": "Bolter", + "Number": 3, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "bellator.png" + }, + { + "Name": "Incisus", + "Faction": "Ultramarines", + "Alliance": "Imperial", + "Health": 75, + "Damage": 35, + "Armour": 17, + "Initial rarity": "Common", + "Melee Damage": "Piercing", + "Melee Hits": 1, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Healer"], + "Number": 4, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "incisus-removebg-preview.png" + }, + { + "Name": "Marneus Calgar", + "Faction": "Ultramarines", + "Alliance": "Imperial", + "Health": 95, + "Damage": 20, + "Armour": 20, + "Initial rarity": "Legendary", + "Melee Damage": "Power", + "Melee Hits": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["MK X Gravis", "Final Vengeance"], + "Active Ability": "Bolter", + "Number": 5, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "marneus_calgar-removebg-preview.png" + }, + { + "Name": "Makhotep", + "Faction": "Necrons", + "Alliance": "Xenos", + "Health": 80, + "Damage": 19, + "Armour": 20, + "Initial rarity": "Common", + "Melee Damage": "Physical", + "Melee Hits": 1, + "Ranged Damage": "Molecular", + "Ranged Hits": 2, + "Distance": 3, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Living Metal"], + "Number": 21, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "Makhotep-removebg-preview.png" + }, + { + "Name": "Imospekh", + "Faction": "Necrons", + "Alliance": "Xenos", + "Health": 72, + "Damage": 8, + "Armour": 15, + "Initial rarity": "Common", + "Melee Damage": "Molecular", + "Melee Hits": 6, + "Ranged Damage": "Molecular", + "Ranged Hits": 6, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Living Metal", "Overwatch"], + "Active Ability": "Molecular", + "Number": 22, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "Imospekh-removebg-preview.png" + }, + { + "Name": "Aleph-Null", + "Faction": "Necrons", + "Alliance": "Xenos", + "Health": 75, + "Damage": 12, + "Armour": 22, + "Initial rarity": "Uncommon", + "Melee Damage": "Particle", + "Melee Hits": 5, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Living Metal", "Explodes", "Flying", "Mechanic"], + "Number": 23, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "Aleph-null.png" + }, + { + "Name": "Thutmose", + "Faction": "Necrons", + "Alliance": "Xenos", + "Health": 75, + "Damage": 30, + "Armour": 16, + "Initial rarity": "Rare", + "Melee Damage": "Plasma", + "Melee Hits": 2, + "Ranged Damage": "Plasma", + "Ranged Hits": 2, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Living Metal", "Flying"], + "Active Ability": "Direct", + "Passive Ability": "Direct", + "Number": 24, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "Thutmose-removebg-preview.png" + }, + { + "Name": "Anuphet", + "Faction": "Necrons", + "Alliance": "Xenos", + "Health": 85, + "Damage": 17, + "Armour": 29, + "Initial rarity": "Epic", + "Melee Damage": "Energy", + "Melee Hits": 4, + "Ranged Damage": "Energy", + "Ranged Hits": 3, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Living Metal"], + "Passive Ability": "Energy", + "Number": 25, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "Anuphet.png" + }, + { + "Name": "Sibyll", + "Faction": "Astra Militarum", + "Alliance": "Imperial", + "Health": 55, + "Damage": 30, + "Armour": 20, + "Initial rarity": "Common", + "Melee Damage": "Psychic", + "Melee Hits": 1, + "Ranged Damage": "Psychic", + "Ranged Hits": 1, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Psyker"], + "Number": 26, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "Sibyll-removebg-preview.png" + }, + { + "Name": "Commissar Yarrick", + "Faction": "Astra Militarum", + "Alliance": "Imperial", + "Health": 75, + "Damage": 30, + "Armour": 17, + "Initial rarity": "Rare", + "Melee Damage": "Power", + "Melee Hits": 3, + "Ranged Damage": "Bolter", + "Ranged Hits": 2, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["Resilient"], + "Number": 27, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "CommissarYarrick-removebg-preview.png" + }, + { + "Name": "Kut Skoden", + "Faction": "Astra Militarum", + "Alliance": "Imperial", + "Health": 95, + "Damage": 30, + "Armour": 35, + "Initial rarity": "Uncommon", + "Melee Damage": "Physical", + "Melee Hits": 4, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Defense", + "Traits": ["Big Target"], + "Active Ability": "Blast", + "Number": 28, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "Kutskoden-removebg-preview.png" + }, + { + "Name": "Thaddeus Noble", + "Faction": "Astra Militarum", + "Alliance": "Imperial", + "Health": 50, + "Damage": 38, + "Armour": 18, + "Initial rarity": "Rare", + "Melee Damage": "Las", + "Melee Hits": 1, + "Ranged Damage": "Blast", + "Ranged Hits": 3, + "Distance": 3, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Suppressive Fire", "Indirect Fire"], + "Active Ability": "Blast", + "Number": 29, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "Thaddeusnoble-removebg-preview.png" + }, + { + "Name": "Castellan Creed", + "Faction": "Astra Militarum", + "Alliance": "Imperial", + "Health": 90, + "Damage": 38, + "Armour": 21, + "Initial rarity": "Legendary", + "Melee Damage": "Las", + "Melee Hits": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": [], + "Number": 30, + "ForcedSummons": true, + "RequiredInCampaign": false, + "Icon": "Castellancreed-removebg-preview.png" + }, + { + "Name": "Angrax", + "Faction": "Black Legion", + "Alliance": "Chaos", + "Health": 110, + "Damage": 12, + "Armour": 30, + "Initial rarity": "Common", + "Melee Damage": "Power", + "Melee Hits": 4, + "Movement": 2, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["Let the Galaxy Burn", "Deep Strike", "Terminator Armour"], + "Active Ability": "Power", + "Passive Ability": "Power", + "Number": 6, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "Angrax.png" + }, + { + "Name": "Volk", + "Faction": "Black Legion", + "Alliance": "Chaos", + "Health": 65, + "Damage": 9, + "Armour": 10, + "Initial rarity": "Rare", + "Melee Damage": "Power", + "Melee Hits": 4, + "Ranged Damage": "Heavy Round", + "Ranged Hits": 6, + "Distance": 3, + "Movement": 2, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Let the Galaxy Burn", "Suppressive Fire", "Daemon", "Big Target"], + "Active Ability": "Heavy Round", + "Passive Ability": "Heavy Round", + "Number": 7, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "volk-removebg-preview.png" + }, + { + "Name": "Archimatos", + "Faction": "Black Legion", + "Alliance": "Chaos", + "Health": 70, + "Damage": 15, + "Armour": 14, + "Initial rarity": "Uncommon", + "Melee Damage": "Psychic", + "Melee Hits": 2, + "Ranged Damage": "Psychic", + "Ranged Hits": 1, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Crit Booster", + "Traits": ["Let the Galaxy Burn", "Psyker"], + "Number": 8, + "ForcedSummons": true, + "RequiredInCampaign": true, + "Icon": "archimatos.png" + }, + { + "Name": "Haarken Worldclaimer", + "Faction": "Black Legion", + "Alliance": "Chaos", + "Health": 88, + "Damage": 11, + "Armour": 20, + "Initial rarity": "Epic", + "Melee Damage": "Piercing", + "Melee Hits": 4, + "Movement": 4, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Crit Booster", + "Traits": ["Let the Galaxy Burn", "Flying"], + "Active Ability": "Piercing", + "Number": 9, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "HaarkenWorldclaimer-removebg-preview.png" + }, + { + "Name": "Abaddon The Despoiler", + "Faction": "Black Legion", + "Alliance": "Chaos", + "Health": 88, + "Damage": 15, + "Armour": 16, + "Initial rarity": "Legendary", + "Melee Damage": "Power", + "Melee Hits": 5, + "Ranged Damage": "Bolter", + "Ranged Hits": 3, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["Let the Galaxy Burn", "Terminator Armour", "Resilient"], + "Active Ability": "Piercing", + "Number": 10, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "Abaddonthedespolier.png" + }, + { + "Name": "Vindicta", + "Faction": "Adepta Sororitas", + "Alliance": "Imperial", + "Health": 70, + "Damage": 20, + "Armour": 12, + "Initial rarity": "Common", + "Melee Damage": "Physical", + "Melee Hits": 1, + "Ranged Damage": "Flame", + "Ranged Hits": 4, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Act of Faith", "Heavy Weapon"], + "Active Ability": "Flame", + "Passive Ability": "Flame", + "Number": 16, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "Vindicta-removebg-preview.png" + }, + { + "Name": "Isabella", + "Faction": "Adepta Sororitas", + "Alliance": "Imperial", + "Health": 85, + "Damage": 18, + "Armour": 20, + "Initial rarity": "Rare", + "Melee Damage": "Bolter", + "Melee Hits": 3, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["Act of Faith", "Healer"], + "Number": 17, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "Isabella-removebg-preview.png" + }, + { + "Name": "Morvenn Vahl", + "Faction": "Adepta Sororitas", + "Alliance": "Imperial", + "Health": 85, + "Damage": 12, + "Armour": 19, + "Initial rarity": "Legendary", + "Melee Damage": "Power", + "Melee Hits": 5, + "Ranged Damage": "Bolter", + "Ranged Hits": 3, + "Distance": 3, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["Act of Faith", "Mechanical", "Explodes", "Big Target"], + "Active Ability": "Blast", + "Passive Ability": "Power", + "Number": 18, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "MorvennVahl-removebg-preview.png" + }, + { + "Name": "Roswitha", + "Faction": "Adepta Sororitas", + "Alliance": "Imperial", + "Health": 85, + "Damage": 30, + "Armour": 17, + "Initial rarity": "Uncommon", + "Melee Damage": "Chain", + "Melee Hits": 3, + "Ranged Damage": "Bolter", + "Ranged Hits": 2, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["Act of Faith"], + "Active Ability": "Flame", + "Number": 19, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "Roswitha-removebg-preview.png" + }, + { + "Name": "Celestine", + "Faction": "Adepta Sororitas", + "Alliance": "Imperial", + "Health": 60, + "Damage": 25, + "Armour": 20, + "Initial rarity": "Legendary", + "Melee Damage": "Power", + "Melee Hits": 3, + "Movement": 4, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Act of Faith", "Flying"], + "Active Ability": "Power", + "Number": 20, + "ForcedSummons": true, + "RequiredInCampaign": false, + "Icon": "Celestine-removebg-preview.png" + }, + { + "Name": "Snotflogga", + "Faction": "Orks", + "Alliance": "Xenos", + "Health": 110, + "Damage": 25, + "Armour": 25, + "Initial rarity": "Rare", + "Melee Damage": "Physical", + "Melee Hits": 3, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Beast Slayer"], + "Passive Ability": "Physical", + "Number": 11, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "snotflogga-removebg-preview.png" + }, + { + "Name": "Gibbascrapz", + "Faction": "Orks", + "Alliance": "Xenos", + "Health": 75, + "Damage": 25, + "Armour": 30, + "Initial rarity": "Common", + "Melee Damage": "Physical", + "Melee Hits": 4, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Mechanic"], + "Number": 12, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "Gibbascrapz-removebg-preview.png" + }, + { + "Name": "Snappawrecka", + "Faction": "Orks", + "Alliance": "Xenos", + "Health": 80, + "Damage": 20, + "Armour": 15, + "Initial rarity": "Uncommon", + "Melee Damage": "Chain", + "Melee Hits": 2, + "Ranged Damage": "Projectile", + "Ranged Hits": 3, + "Distance": 3, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Mechanical", "Big Target", "Explodes", "Dakka"], + "Active Ability": "Physical", + "Number": 13, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "Snappawrecka-removebg-preview.png" + }, + { + "Name": "Tanksmasha", + "Faction": "Orks", + "Alliance": "Xenos", + "Health": 85, + "Damage": 30, + "Armour": 15, + "Initial rarity": "Epic", + "Melee Damage": "Chain", + "Melee Hits": 3, + "Movement": 4, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Mounted", "Beast Slayer"], + "Active Ability": "Direct", + "Passive Ability": "Physical", + "Number": 14, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "Tanksmasha-removebg-preview.png" + }, + { + "Name": "Boss Gulgortz", + "Faction": "Orks", + "Alliance": "Xenos", + "Health": 100, + "Damage": 12, + "Armour": 15, + "Initial rarity": "Epic", + "Melee Damage": "Chain", + "Melee Hits": 5, + "Ranged Damage": "Projectile", + "Ranged Hits": 3, + "Distance": 3, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["Mechanical", "Big Target", "Final Vengeance", "Dakka"], + "Passive Ability": "Projectile", + "Number": 15, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "BossGulgortz-removebg-preview.png" + }, + { + "Name": "Sword Brother Godswyl", + "Faction": "Black Templars", + "Alliance": "Imperial", + "Health": 95, + "Damage": 55, + "Armour": 22, + "Initial rarity": "Common", + "Melee Damage": "Power", + "Melee Hits": 1, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Rapid Assault", "Parry"], + "Active Ability": "Power", + "Number": 36, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "sbg-removebg-preview.png" + }, + { + "Name": "Brother Burchard", + "Faction": "Black Templars", + "Alliance": "Imperial", + "Health": 120, + "Damage": 9, + "Armour": 24, + "Initial rarity": "Uncommon", + "Melee Damage": "Power", + "Melee Hits": 3, + "Ranged Damage": "Bolter", + "Ranged Hits": 3, + "Distance": 2, + "Movement": 2, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["MK X Gravis", "Suppressive Fire"], + "Active Ability": "Blast", + "Passive Ability": "Bolter", + "Number": 37, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "brotherBurchard-removebg-preview.png" + }, + { + "Name": "Ancient Thoread", + "Faction": "Black Templars", + "Alliance": "Imperial", + "Health": 100, + "Damage": 32, + "Armour": 22, + "Initial rarity": "Rare", + "Melee Damage": "Power", + "Melee Hits": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Final Vengeance", "Parry"], + "Number": 38, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "AncientThoread.png" + }, + { + "Name": "Brother Jaeger", + "Faction": "Black Templars", + "Alliance": "Imperial", + "Health": 110, + "Damage": 25, + "Armour": 25, + "Initial rarity": "Epic", + "Melee Damage": "Power", + "Melee Hits": 3, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["Rapid Assault", "Final Vengeance", "Parry"], + "Passive Ability": "Power", + "Number": 39, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "brotherJaeger-removebg-preview.png" + }, + { + "Name": "High Marshal Helbrecht", + "Faction": "Black Templars", + "Alliance": "Imperial", + "Health": 80, + "Damage": 15, + "Armour": 20, + "Initial rarity": "Legendary", + "Melee Damage": "Power", + "Melee Hits": 6, + "Ranged Damage": "Bolter", + "Ranged Hits": 3, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["Final Vengeance", "Parry"], + "Number": 40, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "HighMarshalHelbrecht-removebg-preview.png" + }, + { + "Name": "Typhus", + "Faction": "Death guard", + "Alliance": "Chaos", + "Health": 120, + "Damage": 18, + "Armour": 25.08, + "Initial rarity": "Legendary", + "Melee Damage": "Power", + "Melee Hits": 1, + "Ranged Damage": "Psychic", + "Ranged Hits": 1, + "Distance": 2, + "Movement": 2, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["Contagions of Nurgle", "Resilient", "Psyker", "Terminator Armour"], + "Active Ability": "Psychic", + "Passive Ability": "Direct", + "Number": 31, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "Typhus-removebg-preview.png" + }, + { + "Name": "Maladus", + "Faction": "Death guard", + "Alliance": "Chaos", + "Health": 120, + "Damage": 26, + "Armour": 27, + "Initial rarity": "Uncommon", + "Melee Damage": "Power", + "Melee Hits": 3, + "Movement": 2, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["Contagions of Nurgle", "Resilient", "Terminator Armour"], + "Active Ability": "Power", + "Passive Ability": "Power", + "Number": 32, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "Maladus-removebg-preview.png" + }, + { + "Name": "Nauseous Rotbone", + "Faction": "Death guard", + "Alliance": "Chaos", + "Health": 120, + "Damage": 14, + "Armour": 27, + "Initial rarity": "Epic", + "Melee Damage": "Power", + "Melee Hits": 4, + "Movement": 2, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Block Booster", + "Traits": ["Contagions of Nurgle", "Resilient", "Healer"], + "Number": 33, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "Nauseousrotbone-removebg-preview.png" + }, + { + "Name": "Pestillian", + "Faction": "Death guard", + "Alliance": "Chaos", + "Health": 109.8, + "Damage": 35, + "Armour": 33, + "Initial rarity": "Rare", + "Melee Damage": "Direct", + "Melee Hits": 1, + "Movement": 2, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Contagions of Nurgle", "Resilient", "Putrid Explosion"], + "Active Ability": "Direct", + "Passive Ability": "Blast", + "Number": 34, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "Pestillian-removebg-preview.png" + }, + { + "Name": "Corrodius", + "Faction": "Death guard", + "Alliance": "Chaos", + "Health": 100, + "Damage": 11, + "Armour": 30, + "Initial rarity": "Rare", + "Melee Damage": "Plasma", + "Melee Hits": 2, + "Movement": 2, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Contagions of Nurgle", "Resilient"], + "Passive Ability": "Psychic", + "Number": 35, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "Corrodius-removebg-preview.png" + }, + { + "Name": "Calandis", + "Faction": "Aeldari", + "Alliance": "Xenos", + "Health": 70, + "Damage": 45, + "Armour": 18.04, + "Initial rarity": "Common", + "Melee Damage": "Physical", + "Melee Hits": 1, + "Ranged Damage": "Energy", + "Ranged Hits": 1, + "Distance": 3, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Crit", + "Equipment3": "Crit Booster", + "Traits": ["Heavy Weapon", "Overwatch"], + "Passive Ability": "Piercing", + "Number": 41, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "Calandis-removebg-preview.png" + }, + { + "Name": "Aethana", + "Faction": "Aeldari", + "Alliance": "Xenos", + "Health": 80, + "Damage": 14, + "Armour": 17, + "Initial rarity": "Uncommon", + "Melee Damage": "Piercing", + "Melee Hits": 3, + "Movement": 5, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["Flying", "Deep Strike"], + "Active Ability": "Piercing", + "Number": 42, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "Aethana.png" + }, + { + "Name": "Eldryon", + "Faction": "Aeldari", + "Alliance": "Xenos", + "Health": 75, + "Damage": 16, + "Armour": 16, + "Initial rarity": "Rare", + "Melee Damage": "Piercing", + "Melee Hits": 2, + "Ranged Damage": "Psychic", + "Ranged Hits": 2, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["Psyker"], + "Active Ability": "Psychic", + "Number": 43, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "eldryon-removebg-preview.png" + }, + { + "Name": "Maugan Ra", + "Faction": "Aeldari", + "Alliance": "Xenos", + "Health": 55, + "Damage": 9, + "Armour": 12, + "Initial rarity": "Legendary", + "Melee Damage": "Power", + "Melee Hits": 5, + "Ranged Damage": "Heavy Round", + "Ranged Hits": 6, + "Distance": 3, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["Terrifying", "Heavy Weapon", "Overwatch"], + "Active Ability": "Heavy Round", + "Number": 44, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "Maugan_Ra-removebg-preview.png" + }, + { + "Name": "Jain Zar", + "Faction": "Aeldari", + "Alliance": "Xenos", + "Health": 75, + "Damage": 19, + "Armour": 18, + "Initial rarity": "Legendary", + "Melee Damage": "Piercing", + "Melee Hits": 3, + "Movement": 4, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["Infiltrate"], + "Active Ability": "Piercing", + "Number": 45, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "Jain_Zar-removebg-preview.png" + }, + { + "Name": "Sho'Syl", + "Faction": "T'au Empire", + "Alliance": "Xenos", + "Health": 65, + "Damage": 53, + "Armour": 16, + "Initial rarity": "Uncommon", + "Melee Damage": "Pulse", + "Melee Hits": 1, + "Ranged Damage": "Piercing", + "Ranged Hits": 1, + "Distance": 3, + "Movement": 2, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Camouflage", "Close Combat Weakness"], + "Active Ability": "Heavy Round", + "Number": 48, + "ForcedSummons": true, + "RequiredInCampaign": false, + "Icon": "sho_syl-removebg-preview.png" + }, + { + "Name": "Re'Vas", + "Faction": "T'au Empire", + "Alliance": "Xenos", + "Health": 105, + "Damage": 10, + "Armour": 25, + "Initial rarity": "Uncommon", + "Melee Damage": "Flame", + "Melee Hits": 6, + "Ranged Damage": "Pulse", + "Ranged Hits": 6, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["Close Combat Weakness", "Big Target", "Flying", "Mechanical"], + "Passive Ability": "Particle", + "Number": 49, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "re_vas-removebg-preview.png" + }, + { + "Name": "Darkstrider", + "Faction": "T'au Empire", + "Alliance": "Xenos", + "Health": 73, + "Damage": 31.8, + "Armour": 15.45, + "Initial rarity": "Rare", + "Melee Damage": "Physical", + "Melee Hits": 3, + "Ranged Damage": "Pulse", + "Ranged Hits": 2, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Close Combat Weakness", "Infiltrate", "Suppressive Fire"], + "Number": 50, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "darkstrider-removebg-preview.png" + }, + { + "Name": "Aun'Shi", + "Faction": "T'au Empire", + "Alliance": "Xenos", + "Health": 77.3, + "Damage": 11.8, + "Armour": 14.5, + "Initial rarity": "Legendary", + "Melee Damage": "Power", + "Melee Hits": 5, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Crit Booster", + "Traits": [], + "Number": 51, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "Aun-shi.png", + "ReleaseRarity": 5 + }, + { + "Name": "Shadowsun", + "Faction": "T'au Empire", + "Alliance": "Xenos", + "Health": 80, + "Damage": 27, + "Armour": 18, + "Initial rarity": "Legendary", + "Melee Damage": "Blast", + "Melee Hits": 2, + "Ranged Damage": "Melta", + "Ranged Hits": 2, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Crit Booster", + "Traits": ["Close Combat Weakness", "Camouflage", "Flying", "Infiltrate"], + "Active Ability": "Blast", + "Number": 52, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "ShadowSun.png", + "ReleaseRarity": 5 + }, + { + "Name": "Ulf", + "Faction": "Space Wolves", + "Alliance": "Imperial", + "Health": 90, + "Damage": 33.1, + "Armour": 19.9, + "Initial rarity": "Uncommon", + "Melee Damage": "Power", + "Melee Hits": 3, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Final Vengeance", "Unstoppable"], + "Active Ability": "Piercing", + "Passive Ability": "Power", + "Number": 46, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "Ulf.png" + }, + { + "Name": "Tjark", + "Faction": "Space Wolves", + "Alliance": "Imperial", + "Health": 85, + "Damage": 32, + "Armour": 23, + "Initial rarity": "Uncommon", + "Melee Damage": "Physical", + "Melee Hits": 4, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Infiltrate", "Terrifying"], + "Active Ability": "Physical", + "Number": 47, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "Tjark.png" + }, + { + "Name": "Azrael", + "Faction": "Dark Angels", + "Alliance": "Imperial", + "Health": 85, + "Damage": 22, + "Armour": 24, + "Initial rarity": "Epic", + "Melee Damage": "Power", + "Melee Hits": 3, + "Ranged Damage": "Plasma", + "Ranged Hits": 1, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["Final Vengeance", "Overwatch"], + "Active Ability": "Direct", + "Passive Ability": "Bolter", + "Number": 53, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "Azrael-removebg-preview.png" + }, + { + "Name": "Arjac", + "Faction": "Space Wolves", + "Alliance": "Imperial", + "Health": 110, + "Damage": 23, + "Armour": 26, + "Initial rarity": "Rare", + "Melee Damage": "Power", + "Melee Hits": 3, + "Movement": 2, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["Terminator Armour", "Deep Strike", "Resilient"], + "Active Ability": "Power", + "Number": 54, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "arjac.png" + }, + { + "Name": "Yazaghor", + "Faction": "Thousand Sons", + "Alliance": "Chaos", + "Health": 65, + "Damage": 49, + "Armour": 14, + "Initial rarity": "Common", + "Melee Damage": "Physical", + "Melee Hits": 1, + "Ranged Damage": "Heavy Round", + "Ranged Hits": 1, + "Distance": 2, + "Movement": 4, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Flying", "Weaver of Fates"], + "Active Ability": "Psychic", + "Number": 55, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "Yazaghor.png" + }, + { + "Name": "Toth", + "Faction": "Thousand Sons", + "Alliance": "Chaos", + "Health": 90, + "Damage": 10, + "Armour": 27, + "Initial rarity": "Uncommon", + "Melee Damage": "Power", + "Melee Hits": 4, + "Ranged Damage": "Flame", + "Ranged Hits": 5, + "Distance": 4, + "Movement": 2, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["Terminator Armour", "Suppressive Fire", "Weaver of Fates"], + "Active Ability": "Heavy Round", + "Number": 56, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "toth.png" + }, + { + "Name": "Abraxas", + "Faction": "Thousand Sons", + "Alliance": "Chaos", + "Health": 70, + "Damage": 18, + "Armour": 20, + "Initial rarity": "Rare", + "Melee Damage": "Flame", + "Melee Hits": 2, + "Ranged Damage": "Psychic", + "Ranged Hits": 1, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Crit Booster", + "Traits": ["Psyker", "Weaver of Fates"], + "Active Ability": "Psychic", + "Passive Ability": "Psychic", + "Number": 57, + "ForcedSummons": false, + "RequiredInCampaign": true, + "Icon": "Abraxas.png" + }, + { + "Name": "Thaumachus", + "Faction": "Thousand Sons", + "Alliance": "Chaos", + "Health": 75, + "Damage": 27, + "Armour": 18, + "Initial rarity": "Epic", + "Melee Damage": "Flame", + "Melee Hits": 1, + "Ranged Damage": "Psychic", + "Ranged Hits": 1, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Crit Booster", + "Traits": ["Weaver of Fates", "Flying", "Psyker"], + "Number": 58, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "Thaumachus-removebg-preview.png" + }, + { + "Name": "Sarquael", + "Faction": "Dark Angels", + "Alliance": "Imperial", + "Health": 70, + "Damage": 50, + "Armour": 20, + "Initial rarity": "Uncommon", + "Melee Damage": "Physical", + "Melee Hits": 1, + "Ranged Damage": "Plasma", + "Ranged Hits": 1, + "Distance": 3, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Final Vengeance", "Overwatch", "Heavy Weapon"], + "Active Ability": "Plasma", + "Passive Ability": "Plasma", + "Number": 59, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "Sarquael.png" + }, + { + "Name": "Neurothrope", + "Faction": "Tyranids", + "Alliance": "Xenos", + "Health": 70, + "Damage": 50, + "Armour": 20, + "Initial rarity": "Rare", + "Melee Damage": "Physical", + "Melee Hits": 1, + "Ranged Damage": "Psychic", + "Ranged Hits": 1, + "Distance": 3, + "Movement": 2, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Close Combat Weakness", "Flying", "Psyker", "Shadow in the Warp", "Synapse"], + "Active Ability": "Psychic", + "Passive Ability": "Psychic", + "Number": 60, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "Neurothrope-removebg-preview.png" + }, + { + "Name": "Ahriman", + "Faction": "Thousand Sons", + "Alliance": "Chaos", + "Health": 80, + "Damage": 18, + "Armour": 30, + "Initial rarity": "Legendary", + "Melee Damage": "Flame", + "Melee Hits": 1, + "Ranged Damage": "Psychic", + "Ranged Hits": 1, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Crit Booster", + "Traits": ["Weaver of Fates", "Flying", "Psyker"], + "Active Ability": "Psychic", + "Number": 61, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "Ahriman.png" + }, + { + "Name": "Tyrant Guard", + "Faction": "Tyranids", + "Alliance": "Xenos", + "Health": 125, + "Damage": 16, + "Armour": 22, + "Initial rarity": "Uncommon", + "Melee Damage": "Piercing", + "Melee Hits": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Defense", + "Traits": ["Big Target", "Crushing Strike"], + "Active Ability": "Physical", + "Number": 62, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "TyrantGuard.png" + }, + { + "Name": "Winged Tyrant Prime", + "Faction": "Tyranids", + "Alliance": "Xenos", + "Health": 0, + "Damage": 0, + "Armour": 0, + "Initial rarity": "Rare", + "Melee Damage": "Bio", + "Melee Hits": 6, + "Movement": 4, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Flying", "Synapse", "Final Vengeance"], + "Number": 63, + "ForcedSummons": true, + "RequiredInCampaign": false, + "Icon": "Winged_Prime.png" + }, + { + "Name": "Deathleaper", + "Faction": "Tyranids", + "Alliance": "Xenos", + "Health": 0, + "Damage": 0, + "Armour": 0, + "Initial rarity": "Epic", + "Melee Damage": "Bio", + "Melee Hits": 3, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Defense", + "Equipment3": "Crit Booster", + "Traits": ["Camouflage", "Deep Strike", "Infiltrate", "Terrifying"], + "Active Ability": "Direct", + "Number": 64, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "Deathleaper.png" + }, + { + "Name": "Njal Stormcaller", + "Faction": "Space Wolves", + "Alliance": "Imperial", + "Health": 0, + "Damage": 0, + "Armour": 0, + "Initial rarity": "Epic", + "Melee Damage": "Psychic", + "Melee Hits": 3, + "Ranged Damage": "Psychic", + "Ranged Hits": 2, + "Movement": 2, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Block Booster", + "Traits": ["Psyker", "Terminator Armour", "Unstoppable"], + "Active Ability": "Psychic", + "Number": 65, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "Njal.png" + }, + { + "Name": "Ragnar Blackmane", + "Faction": "Space Wolves", + "Alliance": "Imperial", + "Health": 0, + "Damage": 0, + "Armour": 0, + "Initial rarity": "Legendary", + "Melee Damage": "Chain", + "Melee Hits": 7, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Crit Booster", + "Traits": ["Rapid Assault", "Final Vengeance", "Beast Slayer"], + "Active Ability": "", + "Number": 66, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "Ragnar.png", + "ReleaseRarity": 6 + }, + { + "Name": "Vitruvius", + "Faction": "Adeptus Mechanicus", + "Alliance": "Imperial", + "Health": 0, + "Damage": 0, + "Armour": 0, + "Initial rarity": "Legendary", + "Melee Damage": "Power", + "Melee Hits": 1, + "Ranged Damage": "Molecular", + "Ranged Hits": 1, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Crit Booster", + "Traits": ["Mechanical", "Mechanic"], + "Active Ability": "Toxic", + "Number": 67, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "vitruvius.png", + "ReleaseRarity": 6 + }, + { + "Name": "Actus", + "Faction": "Adeptus Mechanicus", + "Alliance": "Imperial", + "Health": 0, + "Damage": 0, + "Armour": 0, + "Initial rarity": "Rare", + "Melee Damage": "Energy", + "Melee Hits": 2, + "Ranged Damage": "Energy", + "Ranged Hits": 2, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Crit Booster", + "Traits": ["Mechanical", "Mechanic", "Flying"], + "Number": 68, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "actus.png" + }, + { + "Name": "Tan Gi'Da", + "Faction": "Adeptus Mechanicus", + "Alliance": "Imperial", + "Health": 0, + "Damage": 0, + "Armour": 0, + "Initial rarity": "Rare", + "Melee Damage": "Physical", + "Melee Hits": 2, + "Ranged Damage": "Toxic", + "Ranged Hits": 1, + "Distance": 2, + "Movement": 3, + "Equipment1": "Crit", + "Equipment2": "Block", + "Equipment3": "Crit Booster", + "Traits": ["Mechanical"], + "Active Ability": "Toxic", + "Number": 69, + "ForcedSummons": false, + "RequiredInCampaign": false, + "Icon": "tanGida.png", + "ReleaseRarity": 3 + } ] diff --git a/src/assets/WhatsNew.json b/src/assets/WhatsNew.json index 22db92b6..e9a6363a 100644 --- a/src/assets/WhatsNew.json +++ b/src/assets/WhatsNew.json @@ -1,912 +1,887 @@ { - "currentVersion": "1.3.2", - "releaseNotes": [ - { - "version": "1.3.2", - "date": "January 14", - "type": "Update", - "new": [ - - ], - "minor": [ - { - "text": "Updated info box on the Who You Own. Thanks Lëonaica for contribution." - } - ], - "bugFixes": [ - { - "text": "Fixed special release characters shards count for unlock (xenomorphslayer)" - }, - { - "text": "Fixed tooltip placement for upgrades to be displayed at the top (Tani)" - }, - { - "text": "Fixed issue with daily raids when there are some Ascend/Unlock goal with blank energy field (Tani)" - } - ] - }, - { - "version": "1.3.1", - "date": "January 12", - "type": "Update", - "new": [ - { - "text": "New UI for the inventory (Tani)", - "images": [ - { - "path": "inventory.png" - } - ] - }, - { - "text": "Added possibility to track character's shards count on the Who You Own page", - "images": [ - { - "path": "shards1.png" - }, - { - "path": "shards2.png" - } - ] - }, - { - "text": "Updated Unlock and Ascend goals to display estimated days left", - "images": [ - { - "path": "goals.png" - } - ] - } - ], - "minor": [ - { - "text": "New power calculation formula. Thanks Lëonaica for contribution." - } - ], - "bugFixes": [ - { - "text": "Fixed Tan Gi'da upgrades for Bronze 1 rank (Kinks)" - } - ] - }, - { - "version": "1.3.0", - "date": "January 10", - "type": "Patch", - "new": [ - ], - "minor": [ - ], - "bugFixes": [ - { - "text": "Maugan Ra upgrades for Gold 2 rank (EthAllaran)" - }, - { - "text": "Tan Gi'da upgrades fixes Stone 1 - Diamond 1 ranks (Szarekh, Trueborn JCT)" - } - ] - }, - { - "version": "1.2.9", - "date": "January 4", - "type": "Update", - "new": [ - { - "text": "Added new filter and order options on Who You Own page", - "images": [ - { - "path": "wyoOrder.png" - } - ] - }, - { - "text": "Added LE Master Table pages which aggregates the \"Data Tables\" from all Legendary events (SergeDavid, NoxTempest)", - "images": [ - { - "path": "leMaster.png" - } - ] - }, - { - "text": "New thank you card for Lëonaica contribution" - } - ], - "minor": [ - { - "text": "Updated Tan Gi'Da icons" - }, - { - "text": "Added info popup on the Who You Own (Lëonaica)" - }, - { - "text": "Added \"Need to level\" badge in purple color on Who You Own (Lëonaica)" - } - ], - "bugFixes": [ - { - "text": "Fixed upgrades order for Actus (CM Fluffy Honey Badger)" - } - ] - }, - { - "version": "1.2.8", - "date": "December 28", - "type": "Update", - "new": [ - { - "text": "Added option to share Who You Own page in readonly mode", - "images": [ - { - "path": "share1.png" - }, - { - "path": "share2.png" - } - ] - } - ], - "minor": [ - { - "text": "Updated Vitruvius kill points" - } - ], - "bugFixes": [ - { - "text": "Fixed stat for \"Secret Agenda\" upgrade from Damage to Health (Szarekh)" - }, - { - "text": "Fixed icon for \"Tome of arcane knowledge\" upgrade (KIVIY)" - }, - { - "text": "Fixed issue with abilities icons appear above the menu icons at the bottom of the screen (Juan)" - }, - { - "text": "Fixed event points for LRE to add up for 18000 point (CryptecCultist)" - } - ] - }, - { - "version": "1.2.7", - "date": "December 24", - "type": "Patch", - "new": [ - ], - "minor": [ - { - "text": "Small UI adjustments on the Who You Own page (SergeDavid)" - } - ], - "bugFixes": [ - { - "text": "Fixed Vitruvius missions list (Hominus, SergeDavid)" - }, - { - "text": "Fixed issue with Quick filter doesn't work in LE Data Tables (Juan)" - } - ] - }, - { - "version": "1.2.6", - "date": "December 23", - "type": "Patch", - "new": [ - ], - "minor": [ - { - "text": "Added option to hide characters names on LE planner tables", - "images": [ - { - "path": "hidenames.png" - } - ] - } - ], - "bugFixes": [ - { - "text": "Fixed issue with character level not being correspond to rank (Lëonaica, Hominus)" - }, - { - "text": "Fixed issue with \"need to ascend to upgrade rank\" not updated without refresh when character's rarity changed (Mehal)" - } - ] - }, - { - "version": "1.2.5", - "date": "December 23", - "type": "Update", - "new": [ - { - "text": "Merry Christmas!" - }, - { - "text": "Added power level benchmark: total, faction, character. Disclaimer: Doesn't represent in-game power", - "images": [ - { - "path": "power.png" - } - ] - }, - { - "text": "New UI for the \"Who You Own\" screen that targets to match in-game Characters screen. For each character you can see:", - "subPoints": [ - "Stars level", - "Character's in-game portraits", - "Badge with amount of upgrades applied or indicator that character needs to be ascended to progress", - "Active and passive abilities levels", - "Character's level", - "Character's rarity(new) and rank icons" - ], - "images": [ - { - "path": "wyo.png" - } - ] - }, - { - "text": "New character's details to input and track", - "subPoints": [ - "Stars level", - "Character's level", - "Character's xp" - ], - "images": [ - { - "path": "details.png" - } - ] - } - ], - "minor": [ - { - "text": "Added a limit for ranks in the \"Goals\" and the \"Who You Own\" based on the character's rarity (Arvanes)" - }, - { - "text": "Added a username and updated datetime format in the exported file name when using the Export feature" - } - ], - "bugFixes": [ - { - "text": "Fixed issue with characters icons not being loaded on upgrades lookup table (Corusame)" - } - ] - }, - { - "version": "1.2.4", - "date": "December 19", - "type": "Patch", - "new": [ - ], - "minor": [ - ], - "bugFixes": [ - { - "text": "Fixed issue with error on home page/daily raids (UnderChromey, Ozymandias)" - }, - { - "text": "Fixed Thaddeus Noble Silver II rank upgrades (KIVIY)" - } - ] - }, - { - "version": "1.2.3", - "date": "December 18", - "type": "Update", - "new": [ - { - "text": "Added an ability to register the level of the skills for each character (saTchymoto)", - "images": [ - { - "path": "abilities.png" - } - ] - }, - { - "text": "Updated character's applied upgrades to be display like in game order", - "images": [ - { - "path": "upgrades.png" - } - ] - } - ], - "minor": [ - { - "text": "Corrected spelling for \"Blessed Tabbard\" and \"Repair Tool\" (KIVIY)" - } - ], - "bugFixes": [ - ] - }, - { - "version": "1.2.2", - "date": "December 15", - "type": "Update", - "new": [ - { - "text": "Added Octarius Mirror Elite 16-40 nodes. Thanks sonsonVallano for contribution" - }, - { - "text": "Added icons for crafted materials for Tyranids and Ad Mech. Thanks YourAdHere for contribution" - } - ], - "minor": [ - { - "text": "Updated characters details to display upgrade icons for crafted materials.", - "subPoints": [ - "Rank lookup and Upgrades page are updated too" - ], - "images": [ - { - "path": "upgrades.png" - } - ] - } - ], - "bugFixes": [ - { - "text": "Fixed Yazaghor Bronze III rank upgrades (CM Fluffy Honey Badger)" - } - ] - }, - { - "version": "1.2.1", - "date": "December 12", - "type": "Update", - "new": [ - { - "text": "Added icons for health, armour and damage on character's details dialog" - } - ], - "minor": [ - { - "text": "Added upgrades for Actus (Sv. Jebem)" - } - ], - "bugFixes": [ - { - "text": "Fixed Roswitha Iron II rank upgrades (xenomorphslayer)" - } - ] - }, - { - "version": "1.2.0", - "date": "December 11", - "type": "Update", - "new": [ - { - "text": "Added possibility to track crafted upgrades quantity. It will have effect on daily raids estimate (YourAdHere, Drewsophila)", - "subPoints": [ - "In daily raids algorithm craftable item will be break down into base upgrades so total for base upgrades will be less", - "Added \"Crafted count\" column to the Materials table to display count break from craftable upgrades", - "Added \"\nShow craftable items\" toggle on the inventory view", - "WARNING: \"Update inventory\" will not work with cfratable items when check on character details dialog" - ], - "images": [ - { - "path": "inventory.png" - }, - { - "path": "daily.png" - } - ] - } - ], - "minor": [ - ], - "bugFixes": [ - { - "text": "Fixed Roswitha Iron I rank upgrades (xenomorphslayer)" - }, - { - "text": "Fixed Calandis Bronze I rank upgrades (Sv. Jebem)" - }, - { - "text": "Abbadon is spelled wrong( Despoiler vs Despolier) (sonsonVallano)" - }, - { - "text": "Repair-Kit became Repair Tool (sonsonVallano)" - } - ] - }, - { - "version": "1.1.9", - "date": "December 5", - "type": "Update", - "new": [ - ], - "minor": [ - ], - "bugFixes": [ - { - "text": "Fixed missing/incorrect trait name for Snotglogga (MocarnyJoe)" - }, - { - "text": "Fixed \"Duplicated Organ\" type from Damage to Armour (Trueborn JCT)" - }, - { - "text": "Fixed recipe for \"Advanced Combat Stimms\" (xenomorphslayer)" - }, - { - "text": "Fixed error on Who You Own when trying to filter characters (Somberlord)" - }, - { - "text": "Fixed Traits filter on the Characters screen to include Necrons when Mechanical is selected (sasquach)" - } - ] - }, - { - "version": "1.1.8", - "date": "November 28", - "type": "Update", - "new": [ - { - "text": "Updated the Upgrades table from the Learn section to display characters and their rank that use specific upgrade (Corusame)", - "images": [ - { - "path": "noncraftable.png" - }, - { - "path": "craftable.png" - } - ], - "route": "/learn/upgrades", - "mobileRoute": "/mobile/learn/upgrades" - } - ], - "minor": [ - { - "text": "Increased inventory item count limit to 1000 from 100 (YourAdHere)" - } - ], - "bugFixes": [ - { - "text": "Fixed issue with materials that contains \"Gold\" in name are not showing up in daily raids (NobleDoc OG Roster Gremlin, Argent Dawn)" - } - ] - }, - { - "version": "1.1.7", - "date": "November 27", - "type": "Update", - "new": [ - { - "text": "Added datamined Vitruvius LE. Beware that data may change" - } - ], - "minor": [ - { - "text": "Updated LE progress overview calculate points for 4, 5 and blue star (Krogarth)" - } - ], - "bugFixes": [ - { - "text": "Fixed days left calculations on the goals screen (Krogarth)" - } - ] - }, - { - "version": "1.1.6", - "date": "November 23", - "type": "Update", - "new": [ - { - "text": "Added possibility to hide completed tracks for legendary planner (sasquach)", - "images": [ - { - "path": "hideCompleted.png" - } - ] - } - ], - "minor": [ - { - "text": "Add icons for the new non-craftable Adeptus Mechanicus upgrades", - "subPoints": [ - "Blessed Cogitator", - "Motive Force Capacitator", - "Cogwheel Crest" - ] - }, - { - "text": "Added recipes for new crafted materials (sonsonVallano)" - } - ], - "bugFixes": [ - { - "text": "Fixed issue with \"X Energy Needed\" is not being updated after completing raids" - }, - { - "text": "Fixed issue with incorrect estimate of daily raids when using \"Farm by priority order\" (xNobleDoc)" - }, - { - "text": "Fixed upgrades for Ragnar rank Silver I and other (Drewsophila, sonsonVallano)" - }, - { - "text": "Fixed issue with inventory not being updated correctly after rank change" - }, - { - "text": "Fixed issue in character selection of Daily Raids when character's current rank shown as Stone I though it is not (Somberlord)" - } - ] - }, - { - "version": "1.1.5", - "date": "November 22", - "type": "Update", - "new": [ - { - "text": "Added Octarius Mirror Elite battles 1-16" - }, - { - "text": "Added new Upgrades for the Adeptus Mechanicus and updated locations according to 1.3 patch notes", - "subPoints": [ - "Octarius Battle 73: Divinator Class Auspex → Unyielding Rivets", - "Fall of Cadia Mirror Battle 38: Mutation: Scaly Skin --> Valuable Fabric", - "Indomitus Mirror Battle 34: Repair Kit → Motive Force Condenser", - "Fall of Cadia Mirror Battle 37: Repair Kit → Cogwheel Crest", - "Indomitus Mirror Battle 69: Standard-Issue Tourniquet → Blessed Cogitator", - "Indomitus Elite Battle 39: Sororitas legendary → Blessed Cogitator", - "Octarius Elite Battle 35: Satchel → Unyielding Rivets", - "Fall of Cadia Mirror Battle 5: Silver Scope --> Mutation: Scaly Skin", - "Indomitus Mirror Battle 27: Golden Ornamental Skull --> Standard-Issue Tourniquet" - ] - }, - { - "text": "Updated rank up data according to 1.3 patch notes", - "subPoints": [ - "Thaddeus Rank 6 and 9: Repair Kit → Metal Decorative Skull", - "Pestillian Rank 9: Repair Kit → Battle Scar", - "Isabella Rank 6: Repair Kit → Metal Decorative Skull", - "All T’au (apart from Aun’shi) Rank 9: Repair Kit → Kill Count" - ] - }, - { - "text": "Updated recipe data", - "subPoints": [ - "Advanced Exospine is now using “Subdermal Plating” instead of the “Repair Kit” for crafting", - "Advanced Combat Stims now use “First Aid Kits” instead of “Medical Supply Crate” for crafting " - ] - } - ], - "minor": [ - ], - "bugFixes": [ - ] - }, - { - "version": "1.1.4", - "date": "November 21", - "type": "Update", - "new": [ - ], - "minor": [ - { - "text": "Updated \"My progress\" to checking a prerequisite that cannot be completed without completing other ones would automatically check those ones as well (Vexen)" - } - ], - "bugFixes": [ - { - "text": "Fixed the issue with points calculations to unlock character on \"My Progress\" (ZHovtiyLitsar)" - }, - { - "text": "Fixed issue with goals order is not being updated after delete a goal (ZHovtiyLitsar)" - } - ] - }, - { - "version": "1.1.3", - "date": "November 20", - "type": "Update", - "new": [ - { - "text": "Updated \"My Progress\" to take into account additional currency payouts for those who bought the bonus crates. Thanks NoxTempest for creating a vid that made it easier to breakdown and implement. Check out his vid by clicking on", - "route": "https://www.youtube.com/watch?v=8VPI8I0A4Xc", - "images": [ - { - "path": "myprogress.png" - } - ] - } - ], - "minor": [ - { - "text": "Changed home page items order to be \"Daily Raids\", \"Legendary Event\", \"Goals\"" - }, - { - "text": "Updated top section in \"My progress\" to display data required for unlock. Total is moved to hovertip" - }, - { - "text": "Added kill points for the \"Ragnar\" LE battles" - } - ], - "bugFixes": [ - { - "text": "Fixed error after first login for some users that appeared after November 18 update" - } - ] - }, - { - "version": "1.1.2", - "date": "November 18", - "type": "Update", - "new": [ - { - "text": "Added option to the Daily Raids settings to \"Farm by priority order\". Daily raids will be suggested in order of characters on goals page. (Somberlord)", - "images": [ - { - "path": "farm.png" - } - ] - } - ], - "minor": [ - { - "text": "Added upgrades data for Njal, Ragnar, Deathleaper, Winged Tyrant Prime" - }, - { - "text": "Small UI updates for daily raids feature" - }, - { - "text": "Small UI updates for Dirty Dozen table (Razielesaint)", - "route": "learn/dirtyDozen" - } - ], - "bugFixes": [ - { - "text": "Fixed issues with completed raid still appears in today's list and is not proposed in Day 2 for the final material (Somberlord)" - }, - { - "text": "Fixed issues with app hang when lookup rank for Calgar Silver 3 or more (WolfLord 5's, Corusame)" - }, - { - "text": "Fixed issues with goals priority when setting goals from LE screen (Juanjo)" - } - ] - }, - { - "version": "1.1.1", - "date": "November 16", - "type": "Update", - "new": [ - { - "text": "Updated Thank You section" - }, - { - "text": "Added \"Rank End\" selector on Rank lookup page (ZHovtiyLitsar)" - } - ], - "minor": [ - { - "text": "Updated Black Templar hits and traits data" - }, - { - "text": "Change Auto-Teams to prioritize Rank over Rarity by default" - } - ], - "bugFixes": [ - { - "text": "Fixed issue with daily raids items missing selected characters (Vexen)" - }, - { - "text": "Fixed Sho'Syl Silver 2 upgrades mismatch (Szarekh)" - } - ] - }, - { - "version": "1.1.0", - "date": "November 13", - "type": "Update", - "new": [ - { - "text": "Daily Raids Planner", - "subPoints": [ - "Plan daily raids for the characters you've set goals for", - "Set yours campaigns progress to get better estimate", - "Populate your inventory to have even more precise estimate", - "Mark applied gear on characters to improve estimate further" - ], - "images": [ - { - "path": "dailyRaids.png" - }, - { - "path": "dailyRaids2.png" - }, - { - "path": "dailyRaids3.png" - }, - { - "path": "dailyRaids4.png" - }, - { - "path": "dailyRaids5.png" - } - ] - }, - { - "text": "Home page update", - "subPoints": [ - "Added upcoming legendary event. Shortcut to the Ragnar LE", - "Added top priority goal. Shortcut to the Goals", - "Added completed raids locations. Shortcut to the Daily Raids" - ], - "images": [ - { - "path": "home.png" - } - ] - }, - { - "text": "Navigation update", - "subPoints": [ - "Input features: Who You Own, Campaigns Progress(new*), Inventory(new*)", - "Plan features: Goals, Daily Raids(new*), Ragnar LE, Aun Shi LE, Shadowsun LE", - "Learn features: Characters, Upgrades(new*), Rank Lookup(new*), Campaigns(new*), Dirty Dozen" - ], - "images": [ - { - "path": "navigation-web.png" - }, - { - "path": "navigation-mobile.png" - } - ] - } - ], - "minor": [ - { - "text": "Updated characters order on Who You Own to be the same as in the game" - }, - { - "text": "Updated Nandi's Dirty Dozen to October 2023 data", - "route": "learn/dirtyDozen" - } - ], - "bugFixes": [ - { - "text": "Fixed: issue with Unlock goal not appear as completed after character unlock" - } - ] - }, - { - "version": "1.0.2", - "date": "October 23", - "type": "Patch", - "new": [], - "minor": [ - { - "text": "Updated \"Restore Backup\" logic in user menu" - }, - { - "text": "Updated new characters(Winged Tyrant Prime, Deathleaper, Njal Stormcaller, Ragnar Blackmane) stats and added icons", - "route": "learn/characters" - } - ], - "bugFixes": [ - { - "text": "Fixed: issue with exporting JSON data not working in some cases" - } - ] - }, - { - "version": "1.0.1", - "date": "October 20", - "type": "Patch", - "new": [], - "minor": [], - "bugFixes": [ - { - "text": "Fixed data display after sync with server" - }, - { - "text": "Added \"Restore data\" option to user menu. If you've experienced data loss try to use this option. Apologies for any inconvenience." - }, - { - "text": "Added missing \"Only unlocked\" option on the mobile legendary events" - } - ] - }, - { - "version": "1.0.0", - "date": "October 20", - "type": "Update", - "new": [ - { - "text": "Added \"What's New\" dialog" - }, - { - "text": "Added placeholders for new characters - Winged Tyrant Prime, Deathleaper, Njal Stormcaller, Ragnar Blackmane" - }, - { - "text": "Added LRE for Ragnar Blackmane. *Some data can change", - "route": "plan/le/ragnar" - }, - { - "text": "Technical improvements for better stability" - }, - { - "text": "Desktop: Updated UI for Legendary Events page", - "subPoints": [ - "Removed LRE tabs. Each event now have its own URL", - "Changed position of the view preferences. Now it top left corner", - "Added \"Auto-team\" option to view preferences. When unchecked characters in the tables will be aligned by name and \"Auto-teams\" settings will be disabled" - ], - "images": [ - { - "path": "le1.png" - }, - { - "path": "le2.png" - } - ] - }, - { - "text": "Mobile: Updated UI for Legendary Events page", - "images": [ - { - "path": "le3.png" - }, - { - "path": "le4.png" - } - ] - } - ], - "minor": [ - { - "text": "Removed \"Unlocked\" checkbox on characters details. Whether character is unlocked now is determined by the Rank value." - }, - { - "text": "Added timestamp of last modified date to the file name when exporting data" - }, - { - "text": "Updated top navigation and \"hamburger\" menu" - }, - { - "text": "Added separate URL for each legendary event" - }, - { - "text": "Click on title navigates to home page" - }, - { - "text": "For new users pre-populated default characters (Varro, Certus, Bellator, Vindicta) on \"Who you Own\" and added goals for them" - }, - { - "text": "Added sortable \"Rank\" and \"Rarity\" columns to the \"Data Tables\" on LRE page (SergeDavid)" - }, - { - "text": "Added notes to the \"My Progress\" on LRE page (xenoblight+)" - } - ], - "bugFixes": [ - { - "text": "Fixed: order of Calandis and Aethena on \"Who You Own\" page (SergeDavid, Fonzoland)" - }, - { - "text": "Fixed: \"Recommend first/last\" not working correctly (SergeDavid)" - }, - { - "text": "Fixed: \"Tactician\" spelling is not correct (Fonzoland)" - }, - { - "text": "Fixed: on LRE \"My Progress\" regular and premium missions are not accounted for the owned currency (SergeDavid)" - }, - { - "text": "Fixed: on mobile toast message is duplicated after first open" - }, - { - "text": "Fixed: page title is not correct when navigate by link" - }, - { - "text": "Fixed: username is not set for a short time when first load with already logged in user" - }, - { - "text": "Fixed: \"Unlock\" goal type is missing when editing goal" - }, - { - "text": "Fixed: \"undefined\" tooltip on empty cell in selected teams on LRE page" - } - ] - } - ] -} \ No newline at end of file + "currentVersion": "1.3.2", + "releaseNotes": [ + { + "version": "1.3.2", + "date": "January 14", + "type": "Update", + "new": [], + "minor": [ + { + "text": "Updated info box on the Who You Own. Thanks Lëonaica for contribution." + } + ], + "bugFixes": [ + { + "text": "Fixed special release characters shards count for unlock (xenomorphslayer)" + }, + { + "text": "Fixed tooltip placement for upgrades to be displayed at the top (Tani)" + }, + { + "text": "Fixed issue with daily raids when there are some Ascend/Unlock goal with blank energy field (Tani)" + } + ] + }, + { + "version": "1.3.1", + "date": "January 12", + "type": "Update", + "new": [ + { + "text": "New UI for the inventory (Tani)", + "images": [ + { + "path": "inventory.png" + } + ] + }, + { + "text": "Added possibility to track character's shards count on the Who You Own page", + "images": [ + { + "path": "shards1.png" + }, + { + "path": "shards2.png" + } + ] + }, + { + "text": "Updated Unlock and Ascend goals to display estimated days left", + "images": [ + { + "path": "goals.png" + } + ] + } + ], + "minor": [ + { + "text": "New power calculation formula. Thanks Lëonaica for contribution." + } + ], + "bugFixes": [ + { + "text": "Fixed Tan Gi'da upgrades for Bronze 1 rank (Kinks)" + } + ] + }, + { + "version": "1.3.0", + "date": "January 10", + "type": "Patch", + "new": [], + "minor": [], + "bugFixes": [ + { + "text": "Maugan Ra upgrades for Gold 2 rank (EthAllaran)" + }, + { + "text": "Tan Gi'da upgrades fixes Stone 1 - Diamond 1 ranks (Szarekh, Trueborn JCT)" + } + ] + }, + { + "version": "1.2.9", + "date": "January 4", + "type": "Update", + "new": [ + { + "text": "Added new filter and order options on Who You Own page", + "images": [ + { + "path": "wyoOrder.png" + } + ] + }, + { + "text": "Added LE Master Table pages which aggregates the \"Data Tables\" from all Legendary events (SergeDavid, NoxTempest)", + "images": [ + { + "path": "leMaster.png" + } + ] + }, + { + "text": "New thank you card for Lëonaica contribution" + } + ], + "minor": [ + { + "text": "Updated Tan Gi'Da icons" + }, + { + "text": "Added info popup on the Who You Own (Lëonaica)" + }, + { + "text": "Added \"Need to level\" badge in purple color on Who You Own (Lëonaica)" + } + ], + "bugFixes": [ + { + "text": "Fixed upgrades order for Actus (CM Fluffy Honey Badger)" + } + ] + }, + { + "version": "1.2.8", + "date": "December 28", + "type": "Update", + "new": [ + { + "text": "Added option to share Who You Own page in readonly mode", + "images": [ + { + "path": "share1.png" + }, + { + "path": "share2.png" + } + ] + } + ], + "minor": [ + { + "text": "Updated Vitruvius kill points" + } + ], + "bugFixes": [ + { + "text": "Fixed stat for \"Secret Agenda\" upgrade from Damage to Health (Szarekh)" + }, + { + "text": "Fixed icon for \"Tome of arcane knowledge\" upgrade (KIVIY)" + }, + { + "text": "Fixed issue with abilities icons appear above the menu icons at the bottom of the screen (Juan)" + }, + { + "text": "Fixed event points for LRE to add up for 18000 point (CryptecCultist)" + } + ] + }, + { + "version": "1.2.7", + "date": "December 24", + "type": "Patch", + "new": [], + "minor": [ + { + "text": "Small UI adjustments on the Who You Own page (SergeDavid)" + } + ], + "bugFixes": [ + { + "text": "Fixed Vitruvius missions list (Hominus, SergeDavid)" + }, + { + "text": "Fixed issue with Quick filter doesn't work in LE Data Tables (Juan)" + } + ] + }, + { + "version": "1.2.6", + "date": "December 23", + "type": "Patch", + "new": [], + "minor": [ + { + "text": "Added option to hide characters names on LE planner tables", + "images": [ + { + "path": "hidenames.png" + } + ] + } + ], + "bugFixes": [ + { + "text": "Fixed issue with character level not being correspond to rank (Lëonaica, Hominus)" + }, + { + "text": "Fixed issue with \"need to ascend to upgrade rank\" not updated without refresh when character's rarity changed (Mehal)" + } + ] + }, + { + "version": "1.2.5", + "date": "December 23", + "type": "Update", + "new": [ + { + "text": "Merry Christmas!" + }, + { + "text": "Added power level benchmark: total, faction, character. Disclaimer: Doesn't represent in-game power", + "images": [ + { + "path": "power.png" + } + ] + }, + { + "text": "New UI for the \"Who You Own\" screen that targets to match in-game Characters screen. For each character you can see:", + "subPoints": [ + "Stars level", + "Character's in-game portraits", + "Badge with amount of upgrades applied or indicator that character needs to be ascended to progress", + "Active and passive abilities levels", + "Character's level", + "Character's rarity(new) and rank icons" + ], + "images": [ + { + "path": "wyo.png" + } + ] + }, + { + "text": "New character's details to input and track", + "subPoints": ["Stars level", "Character's level", "Character's xp"], + "images": [ + { + "path": "details.png" + } + ] + } + ], + "minor": [ + { + "text": "Added a limit for ranks in the \"Goals\" and the \"Who You Own\" based on the character's rarity (Arvanes)" + }, + { + "text": "Added a username and updated datetime format in the exported file name when using the Export feature" + } + ], + "bugFixes": [ + { + "text": "Fixed issue with characters icons not being loaded on upgrades lookup table (Corusame)" + } + ] + }, + { + "version": "1.2.4", + "date": "December 19", + "type": "Patch", + "new": [], + "minor": [], + "bugFixes": [ + { + "text": "Fixed issue with error on home page/daily raids (UnderChromey, Ozymandias)" + }, + { + "text": "Fixed Thaddeus Noble Silver II rank upgrades (KIVIY)" + } + ] + }, + { + "version": "1.2.3", + "date": "December 18", + "type": "Update", + "new": [ + { + "text": "Added an ability to register the level of the skills for each character (saTchymoto)", + "images": [ + { + "path": "abilities.png" + } + ] + }, + { + "text": "Updated character's applied upgrades to be display like in game order", + "images": [ + { + "path": "upgrades.png" + } + ] + } + ], + "minor": [ + { + "text": "Corrected spelling for \"Blessed Tabbard\" and \"Repair Tool\" (KIVIY)" + } + ], + "bugFixes": [] + }, + { + "version": "1.2.2", + "date": "December 15", + "type": "Update", + "new": [ + { + "text": "Added Octarius Mirror Elite 16-40 nodes. Thanks sonsonVallano for contribution" + }, + { + "text": "Added icons for crafted materials for Tyranids and Ad Mech. Thanks YourAdHere for contribution" + } + ], + "minor": [ + { + "text": "Updated characters details to display upgrade icons for crafted materials.", + "subPoints": ["Rank lookup and Upgrades page are updated too"], + "images": [ + { + "path": "upgrades.png" + } + ] + } + ], + "bugFixes": [ + { + "text": "Fixed Yazaghor Bronze III rank upgrades (CM Fluffy Honey Badger)" + } + ] + }, + { + "version": "1.2.1", + "date": "December 12", + "type": "Update", + "new": [ + { + "text": "Added icons for health, armour and damage on character's details dialog" + } + ], + "minor": [ + { + "text": "Added upgrades for Actus (Sv. Jebem)" + } + ], + "bugFixes": [ + { + "text": "Fixed Roswitha Iron II rank upgrades (xenomorphslayer)" + } + ] + }, + { + "version": "1.2.0", + "date": "December 11", + "type": "Update", + "new": [ + { + "text": "Added possibility to track crafted upgrades quantity. It will have effect on daily raids estimate (YourAdHere, Drewsophila)", + "subPoints": [ + "In daily raids algorithm craftable item will be break down into base upgrades so total for base upgrades will be less", + "Added \"Crafted count\" column to the Materials table to display count break from craftable upgrades", + "Added \"\nShow craftable items\" toggle on the inventory view", + "WARNING: \"Update inventory\" will not work with cfratable items when check on character details dialog" + ], + "images": [ + { + "path": "inventory.png" + }, + { + "path": "daily.png" + } + ] + } + ], + "minor": [], + "bugFixes": [ + { + "text": "Fixed Roswitha Iron I rank upgrades (xenomorphslayer)" + }, + { + "text": "Fixed Calandis Bronze I rank upgrades (Sv. Jebem)" + }, + { + "text": "Abbadon is spelled wrong( Despoiler vs Despolier) (sonsonVallano)" + }, + { + "text": "Repair-Kit became Repair Tool (sonsonVallano)" + } + ] + }, + { + "version": "1.1.9", + "date": "December 5", + "type": "Update", + "new": [], + "minor": [], + "bugFixes": [ + { + "text": "Fixed missing/incorrect trait name for Snotglogga (MocarnyJoe)" + }, + { + "text": "Fixed \"Duplicated Organ\" type from Damage to Armour (Trueborn JCT)" + }, + { + "text": "Fixed recipe for \"Advanced Combat Stimms\" (xenomorphslayer)" + }, + { + "text": "Fixed error on Who You Own when trying to filter characters (Somberlord)" + }, + { + "text": "Fixed Traits filter on the Characters screen to include Necrons when Mechanical is selected (sasquach)" + } + ] + }, + { + "version": "1.1.8", + "date": "November 28", + "type": "Update", + "new": [ + { + "text": "Updated the Upgrades table from the Learn section to display characters and their rank that use specific upgrade (Corusame)", + "images": [ + { + "path": "noncraftable.png" + }, + { + "path": "craftable.png" + } + ], + "route": "/learn/upgrades", + "mobileRoute": "/mobile/learn/upgrades" + } + ], + "minor": [ + { + "text": "Increased inventory item count limit to 1000 from 100 (YourAdHere)" + } + ], + "bugFixes": [ + { + "text": "Fixed issue with materials that contains \"Gold\" in name are not showing up in daily raids (NobleDoc OG Roster Gremlin, Argent Dawn)" + } + ] + }, + { + "version": "1.1.7", + "date": "November 27", + "type": "Update", + "new": [ + { + "text": "Added datamined Vitruvius LE. Beware that data may change" + } + ], + "minor": [ + { + "text": "Updated LE progress overview calculate points for 4, 5 and blue star (Krogarth)" + } + ], + "bugFixes": [ + { + "text": "Fixed days left calculations on the goals screen (Krogarth)" + } + ] + }, + { + "version": "1.1.6", + "date": "November 23", + "type": "Update", + "new": [ + { + "text": "Added possibility to hide completed tracks for legendary planner (sasquach)", + "images": [ + { + "path": "hideCompleted.png" + } + ] + } + ], + "minor": [ + { + "text": "Add icons for the new non-craftable Adeptus Mechanicus upgrades", + "subPoints": ["Blessed Cogitator", "Motive Force Capacitator", "Cogwheel Crest"] + }, + { + "text": "Added recipes for new crafted materials (sonsonVallano)" + } + ], + "bugFixes": [ + { + "text": "Fixed issue with \"X Energy Needed\" is not being updated after completing raids" + }, + { + "text": "Fixed issue with incorrect estimate of daily raids when using \"Farm by priority order\" (xNobleDoc)" + }, + { + "text": "Fixed upgrades for Ragnar rank Silver I and other (Drewsophila, sonsonVallano)" + }, + { + "text": "Fixed issue with inventory not being updated correctly after rank change" + }, + { + "text": "Fixed issue in character selection of Daily Raids when character's current rank shown as Stone I though it is not (Somberlord)" + } + ] + }, + { + "version": "1.1.5", + "date": "November 22", + "type": "Update", + "new": [ + { + "text": "Added Octarius Mirror Elite battles 1-16" + }, + { + "text": "Added new Upgrades for the Adeptus Mechanicus and updated locations according to 1.3 patch notes", + "subPoints": [ + "Octarius Battle 73: Divinator Class Auspex → Unyielding Rivets", + "Fall of Cadia Mirror Battle 38: Mutation: Scaly Skin --> Valuable Fabric", + "Indomitus Mirror Battle 34: Repair Kit → Motive Force Condenser", + "Fall of Cadia Mirror Battle 37: Repair Kit → Cogwheel Crest", + "Indomitus Mirror Battle 69: Standard-Issue Tourniquet → Blessed Cogitator", + "Indomitus Elite Battle 39: Sororitas legendary → Blessed Cogitator", + "Octarius Elite Battle 35: Satchel → Unyielding Rivets", + "Fall of Cadia Mirror Battle 5: Silver Scope --> Mutation: Scaly Skin", + "Indomitus Mirror Battle 27: Golden Ornamental Skull --> Standard-Issue Tourniquet" + ] + }, + { + "text": "Updated rank up data according to 1.3 patch notes", + "subPoints": [ + "Thaddeus Rank 6 and 9: Repair Kit → Metal Decorative Skull", + "Pestillian Rank 9: Repair Kit → Battle Scar", + "Isabella Rank 6: Repair Kit → Metal Decorative Skull", + "All T’au (apart from Aun’shi) Rank 9: Repair Kit → Kill Count" + ] + }, + { + "text": "Updated recipe data", + "subPoints": [ + "Advanced Exospine is now using “Subdermal Plating” instead of the “Repair Kit” for crafting", + "Advanced Combat Stims now use “First Aid Kits” instead of “Medical Supply Crate” for crafting " + ] + } + ], + "minor": [], + "bugFixes": [] + }, + { + "version": "1.1.4", + "date": "November 21", + "type": "Update", + "new": [], + "minor": [ + { + "text": "Updated \"My progress\" to checking a prerequisite that cannot be completed without completing other ones would automatically check those ones as well (Vexen)" + } + ], + "bugFixes": [ + { + "text": "Fixed the issue with points calculations to unlock character on \"My Progress\" (ZHovtiyLitsar)" + }, + { + "text": "Fixed issue with goals order is not being updated after delete a goal (ZHovtiyLitsar)" + } + ] + }, + { + "version": "1.1.3", + "date": "November 20", + "type": "Update", + "new": [ + { + "text": "Updated \"My Progress\" to take into account additional currency payouts for those who bought the bonus crates. Thanks NoxTempest for creating a vid that made it easier to breakdown and implement. Check out his vid by clicking on", + "route": "https://www.youtube.com/watch?v=8VPI8I0A4Xc", + "images": [ + { + "path": "myprogress.png" + } + ] + } + ], + "minor": [ + { + "text": "Changed home page items order to be \"Daily Raids\", \"Legendary Event\", \"Goals\"" + }, + { + "text": "Updated top section in \"My progress\" to display data required for unlock. Total is moved to hovertip" + }, + { + "text": "Added kill points for the \"Ragnar\" LE battles" + } + ], + "bugFixes": [ + { + "text": "Fixed error after first login for some users that appeared after November 18 update" + } + ] + }, + { + "version": "1.1.2", + "date": "November 18", + "type": "Update", + "new": [ + { + "text": "Added option to the Daily Raids settings to \"Farm by priority order\". Daily raids will be suggested in order of characters on goals page. (Somberlord)", + "images": [ + { + "path": "farm.png" + } + ] + } + ], + "minor": [ + { + "text": "Added upgrades data for Njal, Ragnar, Deathleaper, Winged Tyrant Prime" + }, + { + "text": "Small UI updates for daily raids feature" + }, + { + "text": "Small UI updates for Dirty Dozen table (Razielesaint)", + "route": "learn/dirtyDozen" + } + ], + "bugFixes": [ + { + "text": "Fixed issues with completed raid still appears in today's list and is not proposed in Day 2 for the final material (Somberlord)" + }, + { + "text": "Fixed issues with app hang when lookup rank for Calgar Silver 3 or more (WolfLord 5's, Corusame)" + }, + { + "text": "Fixed issues with goals priority when setting goals from LE screen (Juanjo)" + } + ] + }, + { + "version": "1.1.1", + "date": "November 16", + "type": "Update", + "new": [ + { + "text": "Updated Thank You section" + }, + { + "text": "Added \"Rank End\" selector on Rank lookup page (ZHovtiyLitsar)" + } + ], + "minor": [ + { + "text": "Updated Black Templar hits and traits data" + }, + { + "text": "Change Auto-Teams to prioritize Rank over Rarity by default" + } + ], + "bugFixes": [ + { + "text": "Fixed issue with daily raids items missing selected characters (Vexen)" + }, + { + "text": "Fixed Sho'Syl Silver 2 upgrades mismatch (Szarekh)" + } + ] + }, + { + "version": "1.1.0", + "date": "November 13", + "type": "Update", + "new": [ + { + "text": "Daily Raids Planner", + "subPoints": [ + "Plan daily raids for the characters you've set goals for", + "Set yours campaigns progress to get better estimate", + "Populate your inventory to have even more precise estimate", + "Mark applied gear on characters to improve estimate further" + ], + "images": [ + { + "path": "dailyRaids.png" + }, + { + "path": "dailyRaids2.png" + }, + { + "path": "dailyRaids3.png" + }, + { + "path": "dailyRaids4.png" + }, + { + "path": "dailyRaids5.png" + } + ] + }, + { + "text": "Home page update", + "subPoints": [ + "Added upcoming legendary event. Shortcut to the Ragnar LE", + "Added top priority goal. Shortcut to the Goals", + "Added completed raids locations. Shortcut to the Daily Raids" + ], + "images": [ + { + "path": "home.png" + } + ] + }, + { + "text": "Navigation update", + "subPoints": [ + "Input features: Who You Own, Campaigns Progress(new*), Inventory(new*)", + "Plan features: Goals, Daily Raids(new*), Ragnar LE, Aun Shi LE, Shadowsun LE", + "Learn features: Characters, Upgrades(new*), Rank Lookup(new*), Campaigns(new*), Dirty Dozen" + ], + "images": [ + { + "path": "navigation-web.png" + }, + { + "path": "navigation-mobile.png" + } + ] + } + ], + "minor": [ + { + "text": "Updated characters order on Who You Own to be the same as in the game" + }, + { + "text": "Updated Nandi's Dirty Dozen to October 2023 data", + "route": "learn/dirtyDozen" + } + ], + "bugFixes": [ + { + "text": "Fixed: issue with Unlock goal not appear as completed after character unlock" + } + ] + }, + { + "version": "1.0.2", + "date": "October 23", + "type": "Patch", + "new": [], + "minor": [ + { + "text": "Updated \"Restore Backup\" logic in user menu" + }, + { + "text": "Updated new characters(Winged Tyrant Prime, Deathleaper, Njal Stormcaller, Ragnar Blackmane) stats and added icons", + "route": "learn/characters" + } + ], + "bugFixes": [ + { + "text": "Fixed: issue with exporting JSON data not working in some cases" + } + ] + }, + { + "version": "1.0.1", + "date": "October 20", + "type": "Patch", + "new": [], + "minor": [], + "bugFixes": [ + { + "text": "Fixed data display after sync with server" + }, + { + "text": "Added \"Restore data\" option to user menu. If you've experienced data loss try to use this option. Apologies for any inconvenience." + }, + { + "text": "Added missing \"Only unlocked\" option on the mobile legendary events" + } + ] + }, + { + "version": "1.0.0", + "date": "October 20", + "type": "Update", + "new": [ + { + "text": "Added \"What's New\" dialog" + }, + { + "text": "Added placeholders for new characters - Winged Tyrant Prime, Deathleaper, Njal Stormcaller, Ragnar Blackmane" + }, + { + "text": "Added LRE for Ragnar Blackmane. *Some data can change", + "route": "plan/le/ragnar" + }, + { + "text": "Technical improvements for better stability" + }, + { + "text": "Desktop: Updated UI for Legendary Events page", + "subPoints": [ + "Removed LRE tabs. Each event now have its own URL", + "Changed position of the view preferences. Now it top left corner", + "Added \"Auto-team\" option to view preferences. When unchecked characters in the tables will be aligned by name and \"Auto-teams\" settings will be disabled" + ], + "images": [ + { + "path": "le1.png" + }, + { + "path": "le2.png" + } + ] + }, + { + "text": "Mobile: Updated UI for Legendary Events page", + "images": [ + { + "path": "le3.png" + }, + { + "path": "le4.png" + } + ] + } + ], + "minor": [ + { + "text": "Removed \"Unlocked\" checkbox on characters details. Whether character is unlocked now is determined by the Rank value." + }, + { + "text": "Added timestamp of last modified date to the file name when exporting data" + }, + { + "text": "Updated top navigation and \"hamburger\" menu" + }, + { + "text": "Added separate URL for each legendary event" + }, + { + "text": "Click on title navigates to home page" + }, + { + "text": "For new users pre-populated default characters (Varro, Certus, Bellator, Vindicta) on \"Who you Own\" and added goals for them" + }, + { + "text": "Added sortable \"Rank\" and \"Rarity\" columns to the \"Data Tables\" on LRE page (SergeDavid)" + }, + { + "text": "Added notes to the \"My Progress\" on LRE page (xenoblight+)" + } + ], + "bugFixes": [ + { + "text": "Fixed: order of Calandis and Aethena on \"Who You Own\" page (SergeDavid, Fonzoland)" + }, + { + "text": "Fixed: \"Recommend first/last\" not working correctly (SergeDavid)" + }, + { + "text": "Fixed: \"Tactician\" spelling is not correct (Fonzoland)" + }, + { + "text": "Fixed: on LRE \"My Progress\" regular and premium missions are not accounted for the owned currency (SergeDavid)" + }, + { + "text": "Fixed: on mobile toast message is duplicated after first open" + }, + { + "text": "Fixed: page title is not correct when navigate by link" + }, + { + "text": "Fixed: username is not set for a short time when first load with already logged in user" + }, + { + "text": "Fixed: \"Unlock\" goal type is missing when editing goal" + }, + { + "text": "Fixed: \"undefined\" tooltip on empty cell in selected teams on LRE page" + } + ] + } + ] +} diff --git a/src/assets/battleData.json b/src/assets/battleData.json index e1a453bd..1fbf913c 100644 --- a/src/assets/battleData.json +++ b/src/assets/battleData.json @@ -1,5259 +1,5259 @@ { - "I15": { - "campaign": "Indomitus", - "campaignType": "Early", - "nodeNumber": 15, - "reward": "Makhotep", - "expectedGold": 12.5 - }, - "I16": { - "campaign": "Indomitus", - "campaignType": "Early", - "nodeNumber": 16, - "reward": "The Iron Phoenix", - "expectedGold": 12.5 - }, - "I17": { - "campaign": "Indomitus", - "campaignType": "Early", - "nodeNumber": 17, - "reward": "Frag Grenade", - "expectedGold": 12.5 - }, - "I18": { - "campaign": "Indomitus", - "campaignType": "EarlyChars", - "nodeNumber": 18, - "reward": "Varro Tigurius", - "expectedGold": 12.5 - }, - "I19": { - "campaign": "Indomitus", - "campaignType": "Early", - "nodeNumber": 19, - "reward": "Purity Seal", - "expectedGold": 12.5 - }, - "I20": { - "campaign": "Indomitus", - "campaignType": "Early", - "nodeNumber": 20, - "reward": "Enriched Rations", - "expectedGold": 12.5 - }, - "I21": { - "campaign": "Indomitus", - "campaignType": "EarlyChars", - "nodeNumber": 21, - "reward": "Certus", - "expectedGold": 12.5 - }, - "I22": { - "campaign": "Indomitus", - "campaignType": "Early", - "nodeNumber": 22, - "reward": "Basic Auxiliary Core", - "expectedGold": 12.5 - }, - "I23": { - "campaign": "Indomitus", - "campaignType": "Early", - "nodeNumber": 23, - "reward": "The Gold Phoenix", - "expectedGold": 12.5 - }, - "I24": { - "campaign": "Indomitus", - "campaignType": "EarlyChars", - "nodeNumber": 24, - "reward": "Bellator", - "expectedGold": 12.5 - }, - "I25": { - "campaign": "Indomitus", - "campaignType": "Early", - "nodeNumber": 25, - "reward": "Attack Vector Data-Slate", - "expectedGold": 12.5 - }, - "I26": { - "campaign": "Indomitus", - "campaignType": "Early", - "nodeNumber": 26, - "reward": "Ceramite Lump", - "expectedGold": 12.5 - }, - "I27": { - "campaign": "Indomitus", - "campaignType": "Early", - "nodeNumber": 27, - "reward": "Incisus", - "expectedGold": 12.5 - }, - "I28": { - "campaign": "Indomitus", - "campaignType": "Early", - "nodeNumber": 28, - "reward": "Pile of Salvage", - "expectedGold": 12.5 - }, - "I29": { - "campaign": "Indomitus", - "campaignType": "EarlyChars", - "nodeNumber": 29, - "reward": "Vindicta", - "expectedGold": 12.5 - }, - "I30": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 30, - "reward": "Imospekh", - "expectedGold": 15 - }, - "I31": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 31, - "reward": "Box of Salvage", - "expectedGold": 15 - }, - "I32": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 32, - "reward": "Fine Purity Seal", - "expectedGold": 15 - }, - "I33": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 33, - "reward": "Lesser Reliquary of Protection", - "expectedGold": 15 - }, - "I34": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 34, - "reward": "The Silver Scope", - "expectedGold": 15 - }, - "I35": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 35, - "reward": "Marksman's Honour", - "expectedGold": 15 - }, - "I36": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 36, - "reward": "Locator Beacon", - "expectedGold": 15 - }, - "I37": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 37, - "reward": "Field Ration", - "expectedGold": 15 - }, - "I38": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 38, - "reward": "Round of Ammo", - "expectedGold": 15 - }, - "I39": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 39, - "reward": "Standard-Issue Tourniquet", - "expectedGold": 15 - }, - "I40": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 40, - "reward": "Oath Seal", - "expectedGold": 15 - }, - "I41": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 41, - "reward": "Reliquary of Vengeance", - "expectedGold": 15 - }, - "I42": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 42, - "reward": "Plasma Cell", - "expectedGold": 15 - }, - "I43": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 43, - "reward": "Fine Micro-Generator", - "expectedGold": 15 - }, - "I44": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 44, - "reward": "Wires", - "expectedGold": 15 - }, - "I45": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 45, - "reward": "Aleph-Null", - "expectedGold": 17.5 - }, - "I46": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 46, - "reward": "Canister of Chemicals", - "expectedGold": 17.5 - }, - "I47": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 47, - "reward": "Ballistics Data", - "expectedGold": 17.5 - }, - "I48": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 48, - "reward": "Adamantium Ore", - "expectedGold": 17.5 - }, - "I49": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 49, - "reward": "Minor Bionic Enhancement", - "expectedGold": 17.5 - }, - "I50": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 50, - "reward": "Can of Promethium", - "expectedGold": 17.5 - }, - "I51": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 51, - "reward": "Lesser Reliquary of Vengeance", - "expectedGold": 17.5 - }, - "I52": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 52, - "reward": "Weapon Anointment Oils", - "expectedGold": 17.5 - }, - "I53": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 53, - "reward": "Healing Ointment", - "expectedGold": 17.5 - }, - "I54": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 54, - "reward": "Barrel of Promethium", - "expectedGold": 17.5 - }, - "I55": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 55, - "reward": "Single Power Pack", - "expectedGold": 17.5 - }, - "I56": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 56, - "reward": "Otherworldly Energy", - "expectedGold": 17.5 - }, - "I57": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 57, - "reward": "Sophisticated Material", - "expectedGold": 17.5 - }, - "I58": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 58, - "reward": "Reliquary of Protection", - "expectedGold": 17.5 - }, - "I59": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 59, - "reward": "Adamantium Filaments", - "expectedGold": 17.5 - }, - "I60": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 60, - "reward": "Thutmose", - "expectedGold": 20 - }, - "I61": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 61, - "reward": "Advanced Filaments", - "expectedGold": 20 - }, - "I62": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 62, - "reward": "Tank of Promethium", - "expectedGold": 20 - }, - "I63": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 63, - "reward": "Reconstitution Protocols", - "expectedGold": 20 - }, - "I64": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 64, - "reward": "Mutation: Tough Skin", - "expectedGold": 20 - }, - "I65": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 65, - "reward": "Mutation: Warped Lungs", - "expectedGold": 20 - }, - "I66": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 66, - "reward": "Mutation: Scaly Skin", - "expectedGold": 20 - }, - "I67": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 67, - "reward": "Nano Swarm", - "expectedGold": 20 - }, - "I68": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 68, - "reward": "Advanced Rebreather", - "expectedGold": 20 - }, - "I69": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 69, - "reward": "The Silver Eagle with Swords", - "expectedGold": 20 - }, - "I70": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 70, - "reward": "Krak Grenade", - "expectedGold": 20 - }, - "I71": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 71, - "reward": "Metal Decorative Skull", - "expectedGold": 20 - }, - "I72": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 72, - "reward": "Targeting Link", - "expectedGold": 20 - }, - "I73": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 73, - "reward": "Duplicate Organ", - "expectedGold": 20 - }, - "I74": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 74, - "reward": "Engrammatic Entangler", - "expectedGold": 20 - }, - "I75": { - "campaign": "Indomitus", - "campaignType": "Normal", - "nodeNumber": 75, - "reward": "Anuphet", - "expectedGold": 50 - }, - "FoC1": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 1, - "reward": "Mutation: Warped Muscles", - "expectedGold": 53 - }, - "FoC10": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 10, - "reward": "Minor Bionic Enhancement", - "expectedGold": 53 - }, - "FoC11": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 11, - "reward": "Crate of Salvage", - "expectedGold": 53 - }, - "FoC12": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 12, - "reward": "Standard-Issue Tourniquet", - "expectedGold": 53 - }, - "FoC13": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 13, - "reward": "Weapon Parts", - "expectedGold": 53 - }, - "FoC14": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 14, - "reward": "Adamantium Ore", - "expectedGold": 53 - }, - "FoC15": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 15, - "reward": "Kut Skoden", - "expectedGold": 59 - }, - "FoC16": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 16, - "reward": "Pile of Salvage", - "expectedGold": 59 - }, - "FoC17": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 17, - "reward": "Kill Count", - "expectedGold": 59 - }, - "FoC18": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 18, - "reward": "Healing Ointment", - "expectedGold": 59 - }, - "FoC19": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 19, - "reward": "Auspex", - "expectedGold": 59 - }, - "FoC2": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 2, - "reward": "Nasty Spikes", - "expectedGold": 53 - }, - "FoC20": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 20, - "reward": "Round of Ammo", - "expectedGold": 59 - }, - "FoC21": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 21, - "reward": "Targeting Link", - "expectedGold": 59 - }, - "FoC22": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 22, - "reward": "Battle Scar", - "expectedGold": 59 - }, - "FoC23": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 23, - "reward": "Blessed Tasset Plate", - "expectedGold": 59 - }, - "FoC24": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 24, - "reward": "Canister of Chemicals", - "expectedGold": 59 - }, - "FoC25": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 25, - "reward": "Scrolls", - "expectedGold": 59 - }, - "FoC26": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 26, - "reward": "Metal Joints", - "expectedGold": 59 - }, - "FoC27": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 27, - "reward": "Lesser Reliquary of Protection", - "expectedGold": 59 - }, - "FoC28": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 28, - "reward": "Box of Salvage", - "expectedGold": 59 - }, - "FoC29": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 29, - "reward": "Frag Grenade", - "expectedGold": 59 - }, - "FoC3": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 3, - "reward": "Wires", - "expectedGold": 53 - }, - "FoC30": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 30, - "reward": "Sibyll Devine", - "expectedGold": 65 - }, - "FoC31": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 31, - "reward": "Fine Micro-Generator", - "expectedGold": 65 - }, - "FoC32": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 32, - "reward": "Basic Auxiliary Core", - "expectedGold": 65 - }, - "FoC33": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 33, - "reward": "Barrel of Promethium", - "expectedGold": 65 - }, - "FoC34": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 34, - "reward": "Plasma Cell", - "expectedGold": 65 - }, - "FoC35": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 35, - "reward": "Attack Vector Data-Slate", - "expectedGold": 65 - }, - "FoC36": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 36, - "reward": "Mutation: Warped Lungs", - "expectedGold": 65 - }, - "FoC37": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 37, - "reward": "Cloak", - "expectedGold": 65 - }, - "FoC38": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 38, - "reward": "Artificial Vertebrae", - "expectedGold": 65 - }, - "FoC39": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 39, - "reward": "Mutation: Scaly Skin", - "expectedGold": 65 - }, - "FoC4": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 4, - "reward": "Satchel", - "expectedGold": 53 - }, - "FoC40": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 40, - "reward": "Reinforced Cables", - "expectedGold": 65 - }, - "FoC41": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 41, - "reward": "Helmet Trophy", - "expectedGold": 65 - }, - "FoC42": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 42, - "reward": "Writings", - "expectedGold": 65 - }, - "FoC43": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 43, - "reward": "Mission Objective", - "expectedGold": 65 - }, - "FoC44": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 44, - "reward": "Weapon Anointment Oils", - "expectedGold": 65 - }, - "FoC45": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 45, - "reward": "Thaddeus Noble", - "expectedGold": 71 - }, - "FoC46": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 46, - "reward": "Purity Seal", - "expectedGold": 71 - }, - "FoC47": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 47, - "reward": "Can of Promethium", - "expectedGold": 71 - }, - "FoC48": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 48, - "reward": "Thick Skin", - "expectedGold": 71 - }, - "FoC49": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 49, - "reward": "The Silver Aquila", - "expectedGold": 71 - }, - "FoC5": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 5, - "reward": "Ropes and Chains", - "expectedGold": 53 - }, - "FoC50": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 50, - "reward": "Field Ration", - "expectedGold": 71 - }, - "FoC51": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 51, - "reward": "Beast Hide", - "expectedGold": 71 - }, - "FoC52": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 52, - "reward": "Mission Assignment", - "expectedGold": 71 - }, - "FoC53": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 53, - "reward": "Entrenching Tool", - "expectedGold": 71 - }, - "FoC54": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 54, - "reward": "Icon of Vengeance", - "expectedGold": 71 - }, - "FoC55": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 55, - "reward": "Ballistics Data", - "expectedGold": 71 - }, - "FoC56": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 56, - "reward": "Eye of Horus", - "expectedGold": 71 - }, - "FoC57": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 57, - "reward": "Hymn of Martyrs", - "expectedGold": 71 - }, - "FoC58": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 58, - "reward": "Combat Stimms", - "expectedGold": 71 - }, - "FoC59": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 59, - "reward": "Unnatural Vapour Dispenser", - "expectedGold": 71 - }, - "FoC6": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 6, - "reward": "Chip Damage", - "expectedGold": 53 - }, - "FoC60": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 60, - "reward": "Celestine", - "expectedGold": 77 - }, - "FoC61": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 61, - "reward": "Secret Agenda", - "expectedGold": 77 - }, - "FoC62": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 62, - "reward": "Classified Data-Slate", - "expectedGold": 77 - }, - "FoC63": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 63, - "reward": "Air Purificator", - "expectedGold": 77 - }, - "FoC64": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 64, - "reward": "The Phoenix Ascendant", - "expectedGold": 77 - }, - "FoC65": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 65, - "reward": "Blasphemous Armor Trim", - "expectedGold": 77 - }, - "FoC66": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 66, - "reward": "Repair-Kit", - "expectedGold": 77 - }, - "FoC67": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 67, - "reward": "Zeidos Ribbon", - "expectedGold": 77 - }, - "FoC68": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 68, - "reward": "Plague Bell", - "expectedGold": 77 - }, - "FoC69": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 69, - "reward": "Bionic Eye", - "expectedGold": 77 - }, - "FoC7": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 7, - "reward": "Armor Trim", - "expectedGold": 53 - }, - "FoC70": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 70, - "reward": "Flak Plates", - "expectedGold": 77 - }, - "FoC71": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 71, - "reward": "Wraithbone Plate", - "expectedGold": 77 - }, - "FoC72": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 72, - "reward": "Golden Ornamental Skull", - "expectedGold": 77 - }, - "FoC73": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 73, - "reward": "Blessed Promethium Canister", - "expectedGold": 77 - }, - "FoC74": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 74, - "reward": "Revered Talisman", - "expectedGold": 77 - }, - "FoC75": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 75, - "reward": "Castellan Creed", - "expectedGold": 83 - }, - "FoC8": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 8, - "reward": "Vox-Caster", - "expectedGold": 53 - }, - "FoC9": { - "campaign": "Fall of Cadia", - "campaignType": "Normal", - "nodeNumber": 9, - "reward": "Mutation: Tough Skin", - "expectedGold": 53 - }, - "O1": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 1, - "reward": "Ropes and Chains", - "expectedGold": 53 - }, - "O10": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 10, - "reward": "Cloak", - "expectedGold": 53 - }, - "O11": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 11, - "reward": "Armor Trim", - "expectedGold": 53 - }, - "O12": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 12, - "reward": "Reinforced Scale-Plates", - "expectedGold": 53 - }, - "O13": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 13, - "reward": "Mission Assignment", - "expectedGold": 53 - }, - "O14": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 14, - "reward": "Vox-Caster", - "expectedGold": 53 - }, - "O15": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 15, - "reward": "Brother Burchard", - "expectedGold": 59 - }, - "O16": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 16, - "reward": "Scrolls", - "expectedGold": 59 - }, - "O17": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 17, - "reward": "Rebreather", - "expectedGold": 59 - }, - "O18": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 18, - "reward": "Satchel", - "expectedGold": 59 - }, - "O19": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 19, - "reward": "Slicing Claws", - "expectedGold": 59 - }, - "O2": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 2, - "reward": "Wires", - "expectedGold": 53 - }, - "O20": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 20, - "reward": "Ceramite Lump", - "expectedGold": 59 - }, - "O21": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 21, - "reward": "Reliquary of Protection", - "expectedGold": 59 - }, - "O22": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 22, - "reward": "Bladesman's Honour", - "expectedGold": 59 - }, - "O23": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 23, - "reward": "Mesh Weave", - "expectedGold": 59 - }, - "O24": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 24, - "reward": "Writings", - "expectedGold": 59 - }, - "O25": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 25, - "reward": "Mission Objective", - "expectedGold": 59 - }, - "O26": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 26, - "reward": "Oath Seal", - "expectedGold": 59 - }, - "O27": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 27, - "reward": "Reinforced Cables", - "expectedGold": 59 - }, - "O28": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 28, - "reward": "The Gold Phoenix", - "expectedGold": 59 - }, - "O29": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 29, - "reward": "Subdermal Plating", - "expectedGold": 59 - }, - "O3": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 3, - "reward": "Chip Damage", - "expectedGold": 53 - }, - "O30": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 30, - "reward": "Sword Brother Godswyl", - "expectedGold": 65 - }, - "O31": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 31, - "reward": "Helmet Trophy", - "expectedGold": 65 - }, - "O32": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 32, - "reward": "Ancient Runes", - "expectedGold": 65 - }, - "O33": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 33, - "reward": "Advanced Rebreather", - "expectedGold": 65 - }, - "O34": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 34, - "reward": "Kill Count", - "expectedGold": 65 - }, - "O35": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 35, - "reward": "Iron Jaw", - "expectedGold": 65 - }, - "O36": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 36, - "reward": "Metal Decorative Skull", - "expectedGold": 65 - }, - "O37": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 37, - "reward": "Artificer Tasset Plate", - "expectedGold": 65 - }, - "O38": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 38, - "reward": "Sigil of Decay", - "expectedGold": 65 - }, - "O39": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 39, - "reward": "Krak Grenade", - "expectedGold": 65 - }, - "O4": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 4, - "reward": "Nasty Spikes", - "expectedGold": 53 - }, - "O40": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 40, - "reward": "Special Issue Ammo", - "expectedGold": 65 - }, - "O41": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 41, - "reward": "Chain of Zeal", - "expectedGold": 65 - }, - "O42": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 42, - "reward": "Terminator Honours", - "expectedGold": 65 - }, - "O43": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 43, - "reward": "Bionic Neural Pathways", - "expectedGold": 65 - }, - "O44": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 44, - "reward": "Adrenal Glands", - "expectedGold": 65 - }, - "O45": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 45, - "reward": "Ancient Thoread", - "expectedGold": 71 - }, - "O46": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 46, - "reward": "Bad Moon Teef", - "expectedGold": 71 - }, - "O47": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 47, - "reward": "Righteous Candle", - "expectedGold": 71 - }, - "O48": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 48, - "reward": "Rose of Martyrs", - "expectedGold": 71 - }, - "O49": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 49, - "reward": "Mutation: Warped Heart", - "expectedGold": 71 - }, - "O5": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 5, - "reward": "Thick Skin", - "expectedGold": 53 - }, - "O50": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 50, - "reward": "Blessed Corset Armor", - "expectedGold": 71 - }, - "O51": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 51, - "reward": "Ard Plate", - "expectedGold": 71 - }, - "O52": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 52, - "reward": "Toxin Sacs", - "expectedGold": 71 - }, - "O53": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 53, - "reward": "Basic Auxiliary Core", - "expectedGold": 71 - }, - "O54": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 54, - "reward": "Blessed Tabbard", - "expectedGold": 71 - }, - "O55": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 55, - "reward": "Plasma Cell", - "expectedGold": 71 - }, - "O56": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 56, - "reward": "Barrel of Promethium", - "expectedGold": 71 - }, - "O57": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 57, - "reward": "Pile of Salvage", - "expectedGold": 71 - }, - "O58": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 58, - "reward": "Box of Salvage", - "expectedGold": 71 - }, - "O59": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 59, - "reward": "Standard-Issue Tourniquet", - "expectedGold": 71 - }, - "O6": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 6, - "reward": "Metal Joints", - "expectedGold": 53 - }, - "O60": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 60, - "reward": "Brother Jaeger", - "expectedGold": 77 - }, - "O61": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 61, - "reward": "Canister of Chemicals", - "expectedGold": 77 - }, - "O62": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 62, - "reward": "Minor Bionic Enhancement", - "expectedGold": 77 - }, - "O63": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 63, - "reward": "The Silver Aquila", - "expectedGold": 77 - }, - "O64": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 64, - "reward": "Auspex", - "expectedGold": 77 - }, - "O65": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 65, - "reward": "Weapon Anointment Oils", - "expectedGold": 77 - }, - "O66": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 66, - "reward": "Purity Seal", - "expectedGold": 77 - }, - "O67": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 67, - "reward": "Lesser Reliquary of Protection", - "expectedGold": 77 - }, - "O68": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 68, - "reward": "Single Power Pack", - "expectedGold": 77 - }, - "O69": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 69, - "reward": "Fine Micro-Generator", - "expectedGold": 77 - }, - "O7": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 7, - "reward": "Adamantium Filaments", - "expectedGold": 53 - }, - "O70": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 70, - "reward": "Attack Vector Data-Slate", - "expectedGold": 77 - }, - "O71": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 71, - "reward": "Adamantium Ore", - "expectedGold": 77 - }, - "O72": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 72, - "reward": "Locator Beacon", - "expectedGold": 77 - }, - "O73": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 73, - "reward": "Unyielding Rivets", - "expectedGold": 77 - }, - "O74": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 74, - "reward": "Battle Scar", - "expectedGold": 77 - }, - "O75": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 75, - "reward": "High Marshal Helbrecht", - "expectedGold": 83 - }, - "O8": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 8, - "reward": "Weapon Parts", - "expectedGold": 53 - }, - "O9": { - "campaign": "Octarius", - "campaignType": "Normal", - "nodeNumber": 9, - "reward": "Combat Stimms", - "expectedGold": 53 - }, - "SH1": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 1, - "reward": "Adamantium Filaments", - "expectedGold": 53 - }, - "SH10": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 10, - "reward": "Can of Promethium", - "expectedGold": 53 - }, - "SH11": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 11, - "reward": "Mutation: Tough Skin", - "expectedGold": 53 - }, - "SH12": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 12, - "reward": "Adamantium Ore", - "expectedGold": 53 - }, - "SH13": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 13, - "reward": "Mission Assignment", - "expectedGold": 53 - }, - "SH14": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 14, - "reward": "Mission Objective", - "expectedGold": 53 - }, - "SH15": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 15, - "reward": "Toth", - "expectedGold": 59 - }, - "SH16": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 16, - "reward": "Locator Beacon", - "expectedGold": 59 - }, - "SH17": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 17, - "reward": "Box of Salvage", - "expectedGold": 59 - }, - "SH18": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 18, - "reward": "Advanced Filaments", - "expectedGold": 59 - }, - "SH19": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 19, - "reward": "Lesser Reliquary of Protection", - "expectedGold": 59 - }, - "SH2": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 2, - "reward": "Scrolls", - "expectedGold": 53 - }, - "SH20": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 20, - "reward": "Mesh Weave", - "expectedGold": 59 - }, - "SH21": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 21, - "reward": "Weapon Anointment Oils", - "expectedGold": 59 - }, - "SH22": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 22, - "reward": "Cloak", - "expectedGold": 59 - }, - "SH23": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 23, - "reward": "Fine Micro-Generator", - "expectedGold": 59 - }, - "SH24": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 24, - "reward": "Writings", - "expectedGold": 59 - }, - "SH25": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 25, - "reward": "Fine Purity Seal", - "expectedGold": 59 - }, - "SH26": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 26, - "reward": "Mutation: Warped Lungs", - "expectedGold": 59 - }, - "SH27": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 27, - "reward": "Satchel", - "expectedGold": 59 - }, - "SH28": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 28, - "reward": "Plasma Cell", - "expectedGold": 59 - }, - "SH29": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 29, - "reward": "Kill Count", - "expectedGold": 59 - }, - "SH3": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 3, - "reward": "Targeting Link", - "expectedGold": 53 - }, - "SH30": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 30, - "reward": "Abraxas", - "expectedGold": 65 - }, - "SH31": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 31, - "reward": "Ritual Implements", - "expectedGold": 65 - }, - "SH32": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 32, - "reward": "Waystone", - "expectedGold": 65 - }, - "SH33": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 33, - "reward": "Crate of Salvage", - "expectedGold": 65 - }, - "SH34": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 34, - "reward": "Reliquary of Protection", - "expectedGold": 65 - }, - "SH35": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 35, - "reward": "Blessed Tasset Plate", - "expectedGold": 65 - }, - "SH36": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 36, - "reward": "Artificial Vertebrae", - "expectedGold": 65 - }, - "SH37": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 37, - "reward": "Key of Ignorance", - "expectedGold": 65 - }, - "SH38": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 38, - "reward": "Wolf Tail Talisman", - "expectedGold": 65 - }, - "SH39": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 39, - "reward": "Ancient Runes", - "expectedGold": 65 - }, - "SH4": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 4, - "reward": "Vox-Caster", - "expectedGold": 53 - }, - "SH40": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 40, - "reward": "Repair-Kit", - "expectedGold": 65 - }, - "SH41": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 41, - "reward": "Inferno Bolts", - "expectedGold": 65 - }, - "SH42": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 42, - "reward": "Classified Data-Slate", - "expectedGold": 65 - }, - "SH43": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 43, - "reward": "Reliquary of Vengeance", - "expectedGold": 65 - }, - "SH44": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 44, - "reward": "Psytronome", - "expectedGold": 65 - }, - "SH45": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 45, - "reward": "Yazaghor", - "expectedGold": 71 - }, - "SH46": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 46, - "reward": "Chapter Pendant", - "expectedGold": 71 - }, - "SH47": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 47, - "reward": "Field Ration", - "expectedGold": 71 - }, - "SH48": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 48, - "reward": "Bionic Eye", - "expectedGold": 71 - }, - "SH49": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 49, - "reward": "Healing Ointment", - "expectedGold": 71 - }, - "SH5": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 5, - "reward": "Armor Trim", - "expectedGold": 53 - }, - "SH50": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 50, - "reward": "Wolf Tooth Necklace", - "expectedGold": 71 - }, - "SH51": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 51, - "reward": "Otherworldly Energy", - "expectedGold": 71 - }, - "SH52": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 52, - "reward": "Bladesman's Honour", - "expectedGold": 71 - }, - "SH53": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 53, - "reward": "Slicing Claws", - "expectedGold": 71 - }, - "SH54": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 54, - "reward": "Artificer Tasset Plate", - "expectedGold": 71 - }, - "SH55": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 55, - "reward": "Enriched Rations", - "expectedGold": 71 - }, - "SH56": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 56, - "reward": "Dark Hood", - "expectedGold": 71 - }, - "SH57": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 57, - "reward": "Tainted Text", - "expectedGold": 71 - }, - "SH58": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 58, - "reward": "Wraithbone Plate", - "expectedGold": 71 - }, - "SH59": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 59, - "reward": "Hypermaterial Shifter", - "expectedGold": 71 - }, - "SH6": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 6, - "reward": "Sophisticated Material", - "expectedGold": 53 - }, - "SH60": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 60, - "reward": "Thaumachus", - "expectedGold": 77 - }, - "SH61": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 61, - "reward": "Nano Swarm", - "expectedGold": 77 - }, - "SH62": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 62, - "reward": "Beast Hide", - "expectedGold": 77 - }, - "SH63": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 63, - "reward": "Artificial Vertebrae", - "expectedGold": 77 - }, - "SH64": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 64, - "reward": "Mutation: Warped Lungs", - "expectedGold": 77 - }, - "SH65": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 65, - "reward": "Air Purificator", - "expectedGold": 77 - }, - "SH66": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 66, - "reward": "Rebreather", - "expectedGold": 77 - }, - "SH67": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 67, - "reward": "Warp Locus", - "expectedGold": 77 - }, - "SH68": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 68, - "reward": "Enriched Rations", - "expectedGold": 77 - }, - "SH69": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 69, - "reward": "Purity Seal", - "expectedGold": 77 - }, - "SH7": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 7, - "reward": "Mutation: Warped Muscles", - "expectedGold": 53 - }, - "SH70": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 70, - "reward": "Blessed Tasset Plate", - "expectedGold": 77 - }, - "SH71": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 71, - "reward": "Mutation: Warped Heart", - "expectedGold": 77 - }, - "SH72": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 72, - "reward": "Mutation: Scaly Skin", - "expectedGold": 77 - }, - "SH73": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 73, - "reward": "Golden Ornamental Skull", - "expectedGold": 77 - }, - "SH74": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 74, - "reward": "Advanced Rebreather", - "expectedGold": 77 - }, - "SH75": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 75, - "reward": "Ahriman", - "expectedGold": 83 - }, - "SH8": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 8, - "reward": "Ropes and Chains", - "expectedGold": 53 - }, - "SH9": { - "campaign": "Saim-Hann", - "campaignType": "Normal", - "nodeNumber": 9, - "reward": "Nasty Spikes", - "expectedGold": 53 - }, - "IM1": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 1, - "reward": "Rebreather", - "expectedGold": 53 - }, - "IM10": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 10, - "reward": "Blessed Tasset Plate", - "expectedGold": 53 - }, - "IM11": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 11, - "reward": "Artificial Vertebrae", - "expectedGold": 53 - }, - "IM12": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 12, - "reward": "Crate of Salvage", - "expectedGold": 53 - }, - "IM13": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 13, - "reward": "Classified Data-Slate", - "expectedGold": 53 - }, - "IM14": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 14, - "reward": "Kill Count", - "expectedGold": 53 - }, - "IM15": { - "campaign": "Indomitus Mirror", - "campaignType": "EarlyMirrorChars", - "nodeNumber": 15, - "reward": "Vindicta", - "expectedGold": 59 - }, - "IM16": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 16, - "reward": "Zeidos Ribbon", - "expectedGold": 59 - }, - "IM17": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 17, - "reward": "Mutation: Warped Heart", - "expectedGold": 59 - }, - "IM18": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 18, - "reward": "Artificer Tasset Plate", - "expectedGold": 59 - }, - "IM19": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 19, - "reward": "Bionic Eye", - "expectedGold": 59 - }, - "IM2": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 2, - "reward": "Weapon Parts", - "expectedGold": 53 - }, - "IM20": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 20, - "reward": "The Phoenix Ascendant", - "expectedGold": 59 - }, - "IM21": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 21, - "reward": "Nano Swarm", - "expectedGold": 59 - }, - "IM22": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 22, - "reward": "Viridian Energy Tesseract", - "expectedGold": 59 - }, - "IM23": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 23, - "reward": "Ancient Runes", - "expectedGold": 59 - }, - "IM24": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 24, - "reward": "Chip Damage", - "expectedGold": 59 - }, - "IM25": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 25, - "reward": "Greater Reliquary of Vengeance", - "expectedGold": 59 - }, - "IM26": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 26, - "reward": "Blessed Promethium Canister", - "expectedGold": 59 - }, - "IM27": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 27, - "reward": "Standard-Issue Tourniquet", - "expectedGold": 59 - }, - "IM28": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 28, - "reward": "Special Issue Ammo", - "expectedGold": 59 - }, - "IM29": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 29, - "reward": "Ropes and Chains", - "expectedGold": 59 - }, - "IM3": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 3, - "reward": "Mutation: Warped Muscles", - "expectedGold": 53 - }, - "IM30": { - "campaign": "Indomitus Mirror", - "campaignType": "EarlyMirrorChars", - "nodeNumber": 30, - "reward": "Bellator", - "expectedGold": 65 - }, - "IM31": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 31, - "reward": "Terminator Honours", - "expectedGold": 65 - }, - "IM32": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 32, - "reward": "Psytronome", - "expectedGold": 65 - }, - "IM33": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 33, - "reward": "Hymn of Martyrs", - "expectedGold": 65 - }, - "IM34": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 34, - "reward": "Motive Force Capacitator", - "expectedGold": 65 - }, - "IM35": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 35, - "reward": "Metal Decorative Skull", - "expectedGold": 65 - }, - "IM36": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 36, - "reward": "Krak Grenade", - "expectedGold": 65 - }, - "IM37": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 37, - "reward": "Slicing Claws", - "expectedGold": 65 - }, - "IM38": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 38, - "reward": "Stimm Injector", - "expectedGold": 65 - }, - "IM39": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 39, - "reward": "Sensor Suite", - "expectedGold": 65 - }, - "IM4": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 4, - "reward": "Wires", - "expectedGold": 53 - }, - "IM40": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 40, - "reward": "Mutation: Scaly Skin", - "expectedGold": 65 - }, - "IM41": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 41, - "reward": "Mutation: Warped Lungs", - "expectedGold": 65 - }, - "IM42": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 42, - "reward": "Mutation: Tough Skin", - "expectedGold": 65 - }, - "IM43": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 43, - "reward": "Reconstitution Protocols", - "expectedGold": 65 - }, - "IM44": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 44, - "reward": "Tank of Promethium", - "expectedGold": 65 - }, - "IM45": { - "campaign": "Indomitus Mirror", - "campaignType": "EarlyMirrorChars", - "nodeNumber": 45, - "reward": "Certus", - "expectedGold": 71 - }, - "IM46": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 46, - "reward": "Advanced Filaments", - "expectedGold": 71 - }, - "IM47": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 47, - "reward": "Adamantium Filaments", - "expectedGold": 71 - }, - "IM48": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 48, - "reward": "Reliquary of Protection", - "expectedGold": 71 - }, - "IM49": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 49, - "reward": "Sophisticated Material", - "expectedGold": 71 - }, - "IM5": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 5, - "reward": "Helmet Trophy", - "expectedGold": 53 - }, - "IM50": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 50, - "reward": "Otherworldly Energy", - "expectedGold": 71 - }, - "IM51": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 51, - "reward": "Single Power Pack", - "expectedGold": 71 - }, - "IM52": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 52, - "reward": "Barrel of Promethium", - "expectedGold": 71 - }, - "IM53": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 53, - "reward": "Healing Ointment", - "expectedGold": 71 - }, - "IM54": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 54, - "reward": "Weapon Anointment Oils", - "expectedGold": 71 - }, - "IM55": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 55, - "reward": "Lesser Reliquary of Vengeance", - "expectedGold": 71 - }, - "IM56": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 56, - "reward": "Can of Promethium", - "expectedGold": 71 - }, - "IM57": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 57, - "reward": "Minor Bionic Enhancement", - "expectedGold": 71 - }, - "IM58": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 58, - "reward": "Adamantium Ore", - "expectedGold": 71 - }, - "IM59": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 59, - "reward": "Auspex", - "expectedGold": 71 - }, - "IM6": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 6, - "reward": "Combat Stimms", - "expectedGold": 53 - }, - "IM60": { - "campaign": "Indomitus Mirror", - "campaignType": "EarlyMirrorChars", - "nodeNumber": 60, - "reward": "Varro Tigurius", - "expectedGold": 77 - }, - "IM61": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 61, - "reward": "Ballistics Data", - "expectedGold": 77 - }, - "IM62": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 62, - "reward": "Canister of Chemicals", - "expectedGold": 77 - }, - "IM63": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 63, - "reward": "Divinator Class Auspex", - "expectedGold": 77 - }, - "IM64": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 64, - "reward": "Fine Micro-Generator", - "expectedGold": 77 - }, - "IM65": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 65, - "reward": "Plasma Cell", - "expectedGold": 77 - }, - "IM66": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 66, - "reward": "The Silver Aquila", - "expectedGold": 77 - }, - "IM67": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 67, - "reward": "Reliquary of Vengeance", - "expectedGold": 77 - }, - "IM68": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 68, - "reward": "Oath Seal", - "expectedGold": 77 - }, - "IM69": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 69, - "reward": "Blessed Cogitator", - "expectedGold": 77 - }, - "IM7": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 7, - "reward": "Reinforced Cables", - "expectedGold": 53 - }, - "IM70": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 70, - "reward": "Codex Astartes Page", - "expectedGold": 77 - }, - "IM71": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 71, - "reward": "Engrammatic Entangler", - "expectedGold": 77 - }, - "IM72": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 72, - "reward": "Holy Chaplet", - "expectedGold": 77 - }, - "IM73": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 73, - "reward": "Rose of Martyrs", - "expectedGold": 77 - }, - "IM74": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 74, - "reward": "Hypermaterial Shifter", - "expectedGold": 77 - }, - "IM75": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 75, - "reward": "Marneus Calgar", - "expectedGold": 83 - }, - "IM8": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 8, - "reward": "Reinforced Scale-Plates", - "expectedGold": 53 - }, - "IM9": { - "campaign": "Indomitus Mirror", - "campaignType": "Mirror", - "nodeNumber": 9, - "reward": "Air Purificator", - "expectedGold": 53 - }, - "FoCM1": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 1, - "reward": "Round of Ammo", - "expectedGold": 53 - }, - "FoCM10": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 10, - "reward": "Ceramite Lump", - "expectedGold": 53 - }, - "FoCM11": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 11, - "reward": "Attack Vector Data-Slate", - "expectedGold": 53 - }, - "FoCM12": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 12, - "reward": "The Gold Phoenix", - "expectedGold": 53 - }, - "FoCM13": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 13, - "reward": "Scrolls", - "expectedGold": 53 - }, - "FoCM14": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 14, - "reward": "Enriched Rations", - "expectedGold": 53 - }, - "FoCM15": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 15, - "reward": "Angrax", - "expectedGold": 59 - }, - "FoCM16": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 16, - "reward": "Purity Seal", - "expectedGold": 59 - }, - "FoCM17": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 17, - "reward": "Frag Grenade", - "expectedGold": 59 - }, - "FoCM18": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 18, - "reward": "The Iron Phoenix", - "expectedGold": 59 - }, - "FoCM19": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 19, - "reward": "Basic Auxiliary Core", - "expectedGold": 59 - }, - "FoCM2": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 2, - "reward": "Field Ration", - "expectedGold": 53 - }, - "FoCM20": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 20, - "reward": "Targeting Link", - "expectedGold": 59 - }, - "FoCM21": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 21, - "reward": "Nasty Spikes", - "expectedGold": 59 - }, - "FoCM22": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 22, - "reward": "Rebreather", - "expectedGold": 59 - }, - "FoCM23": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 23, - "reward": "Weapon Parts", - "expectedGold": 59 - }, - "FoCM24": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 24, - "reward": "Mutation: Warped Muscles", - "expectedGold": 59 - }, - "FoCM25": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 25, - "reward": "Warp Locus", - "expectedGold": 59 - }, - "FoCM26": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 26, - "reward": "Blessed Promethium Canister", - "expectedGold": 59 - }, - "FoCM27": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 27, - "reward": "Golden Ornamental Skull", - "expectedGold": 59 - }, - "FoCM28": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 28, - "reward": "Relic Hilt", - "expectedGold": 59 - }, - "FoCM29": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 29, - "reward": "Bionic Neural Pathways", - "expectedGold": 59 - }, - "FoCM3": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 3, - "reward": "Locator Beacon", - "expectedGold": 53 - }, - "FoCM30": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 30, - "reward": "Archimatos", - "expectedGold": 65 - }, - "FoCM31": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 31, - "reward": "Terminator Honours", - "expectedGold": 65 - }, - "FoCM32": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 32, - "reward": "Bionic Eye", - "expectedGold": 65 - }, - "FoCM33": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 33, - "reward": "Waystone", - "expectedGold": 65 - }, - "FoCM34": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 34, - "reward": "Mission Objective", - "expectedGold": 65 - }, - "FoCM35": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 35, - "reward": "Mesh Weave", - "expectedGold": 65 - }, - "FoCM36": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 36, - "reward": "Special Issue Ammo", - "expectedGold": 65 - }, - "FoCM37": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 37, - "reward": "Cogwheel Crest", - "expectedGold": 65 - }, - "FoCM38": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 38, - "reward": "Valuable Fabric", - "expectedGold": 65 - }, - "FoCM39": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 39, - "reward": "Satchel", - "expectedGold": 65 - }, - "FoCM4": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 4, - "reward": "Slicing Claws", - "expectedGold": 53 - }, - "FoCM40": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 40, - "reward": "Crate of Salvage", - "expectedGold": 65 - }, - "FoCM41": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 41, - "reward": "Classified Data-Slate", - "expectedGold": 65 - }, - "FoCM42": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 42, - "reward": "Battle Scar", - "expectedGold": 65 - }, - "FoCM43": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 43, - "reward": "Zeidos Ribbon", - "expectedGold": 65 - }, - "FoCM44": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 44, - "reward": "Icon of Vengeance", - "expectedGold": 65 - }, - "FoCM45": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 45, - "reward": "Volk", - "expectedGold": 71 - }, - "FoCM46": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 46, - "reward": "Mutation: Warped Heart", - "expectedGold": 71 - }, - "FoCM47": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 47, - "reward": "Artificer Tasset Plate", - "expectedGold": 71 - }, - "FoCM48": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 48, - "reward": "Wraithbone Plate", - "expectedGold": 71 - }, - "FoCM49": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 49, - "reward": "The Phoenix Ascendant", - "expectedGold": 71 - }, - "FoCM5": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 5, - "reward": "Mutation: Scaly Skin", - "expectedGold": 53 - }, - "FoCM50": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 50, - "reward": "Drone Controller", - "expectedGold": 71 - }, - "FoCM51": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 51, - "reward": "Viridian Energy Tesseract", - "expectedGold": 71 - }, - "FoCM52": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 52, - "reward": "Ancient Runes", - "expectedGold": 71 - }, - "FoCM53": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 53, - "reward": "Unnatural Vapour Dispenser", - "expectedGold": 71 - }, - "FoCM54": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 54, - "reward": "Helmet Trophy", - "expectedGold": 71 - }, - "FoCM55": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 55, - "reward": "Eye of Horus", - "expectedGold": 71 - }, - "FoCM56": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 56, - "reward": "Combat Stimms", - "expectedGold": 71 - }, - "FoCM57": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 57, - "reward": "Reinforced Cables", - "expectedGold": 71 - }, - "FoCM58": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 58, - "reward": "Reinforced Scale-Plates", - "expectedGold": 71 - }, - "FoCM59": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 59, - "reward": "Entrenching Tool", - "expectedGold": 71 - }, - "FoCM6": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 6, - "reward": "Lesser Reliquary of Protection", - "expectedGold": 53 - }, - "FoCM60": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 60, - "reward": "Haarken Worldclaimer", - "expectedGold": 77 - }, - "FoCM61": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 61, - "reward": "Air Purificator", - "expectedGold": 77 - }, - "FoCM62": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 62, - "reward": "Engram Neurochip", - "expectedGold": 77 - }, - "FoCM63": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 63, - "reward": "Artificial Vertebrae", - "expectedGold": 77 - }, - "FoCM64": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 64, - "reward": "Sigil of Decay", - "expectedGold": 77 - }, - "FoCM65": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 65, - "reward": "Blasphemous Armor Trim", - "expectedGold": 77 - }, - "FoCM66": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 66, - "reward": "Honourifica Imperialis", - "expectedGold": 77 - }, - "FoCM67": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 67, - "reward": "Blessed Corset Armor", - "expectedGold": 77 - }, - "FoCM68": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 68, - "reward": "Mutation: Warped Lungs", - "expectedGold": 77 - }, - "FoCM69": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 69, - "reward": "Nasty Spikes", - "expectedGold": 77 - }, - "FoCM7": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 7, - "reward": "Fine Purity Seal", - "expectedGold": 53 - }, - "FoCM70": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 70, - "reward": "Flak Plates", - "expectedGold": 77 - }, - "FoCM71": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 71, - "reward": "Blessing of the Dark Gods", - "expectedGold": 77 - }, - "FoCM72": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 72, - "reward": "Blessing of Nurgle", - "expectedGold": 77 - }, - "FoCM73": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 73, - "reward": "Weathering", - "expectedGold": 77 - }, - "FoCM74": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 74, - "reward": "Greater Reliquary of Vengeance", - "expectedGold": 77 - }, - "FoCM75": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 75, - "reward": "Abaddon The Despoiler", - "expectedGold": 83 - }, - "FoCM8": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 8, - "reward": "Box of Salvage", - "expectedGold": 53 - }, - "FoCM9": { - "campaign": "Fall of Cadia Mirror", - "campaignType": "Mirror", - "nodeNumber": 9, - "reward": "Pile of Salvage", - "expectedGold": 53 - }, - "OM1": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 1, - "reward": "Purity Seal", - "expectedGold": 53 - }, - "OM10": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 10, - "reward": "Weapon Anointment Oils", - "expectedGold": 53 - }, - "OM11": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 11, - "reward": "Minor Bionic Enhancement", - "expectedGold": 53 - }, - "OM12": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 12, - "reward": "Mission Assignment", - "expectedGold": 53 - }, - "OM13": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 13, - "reward": "Ropes and Chains", - "expectedGold": 53 - }, - "OM14": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 14, - "reward": "Basic Auxiliary Core", - "expectedGold": 53 - }, - "OM15": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 15, - "reward": "Snappawrecka", - "expectedGold": 59 - }, - "OM16": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 16, - "reward": "Chip Damage", - "expectedGold": 59 - }, - "OM17": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 17, - "reward": "Field Ration", - "expectedGold": 59 - }, - "OM18": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 18, - "reward": "Pile of Salvage", - "expectedGold": 59 - }, - "OM19": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 19, - "reward": "Auspex", - "expectedGold": 59 - }, - "OM2": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 2, - "reward": "Canister of Chemicals", - "expectedGold": 53 - }, - "OM20": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 20, - "reward": "Lesser Reliquary of Protection", - "expectedGold": 59 - }, - "OM21": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 21, - "reward": "Vox-Caster", - "expectedGold": 59 - }, - "OM22": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 22, - "reward": "Armor Trim", - "expectedGold": 59 - }, - "OM23": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 23, - "reward": "Mesh Weave", - "expectedGold": 59 - }, - "OM24": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 24, - "reward": "Blessed Tasset Plate", - "expectedGold": 59 - }, - "OM25": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 25, - "reward": "Reinforced Scale-Plates", - "expectedGold": 59 - }, - "OM26": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 26, - "reward": "Round of Ammo", - "expectedGold": 59 - }, - "OM27": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 27, - "reward": "Adamantium Ore", - "expectedGold": 59 - }, - "OM28": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 28, - "reward": "Barrel of Promethium", - "expectedGold": 59 - }, - "OM29": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 29, - "reward": "Fine Micro-Generator", - "expectedGold": 59 - }, - "OM3": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 3, - "reward": "Weapon Parts", - "expectedGold": 53 - }, - "OM30": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 30, - "reward": "Gibbascrapz", - "expectedGold": 65 - }, - "OM31": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 31, - "reward": "Fine Purity Seal", - "expectedGold": 65 - }, - "OM32": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 32, - "reward": "Can of Promethium", - "expectedGold": 65 - }, - "OM33": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 33, - "reward": "Writings", - "expectedGold": 65 - }, - "OM34": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 34, - "reward": "Cloak", - "expectedGold": 65 - }, - "OM35": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 35, - "reward": "Metal Joints", - "expectedGold": 65 - }, - "OM36": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 36, - "reward": "Plasma Cell", - "expectedGold": 65 - }, - "OM37": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 37, - "reward": "The Phoenix Ascendant", - "expectedGold": 65 - }, - "OM38": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 38, - "reward": "Kill Count", - "expectedGold": 65 - }, - "OM39": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 39, - "reward": "Ceramite Lump", - "expectedGold": 65 - }, - "OM4": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 4, - "reward": "Frag Grenade", - "expectedGold": 53 - }, - "OM40": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 40, - "reward": "Oath Seal", - "expectedGold": 65 - }, - "OM41": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 41, - "reward": "Bladesman's Honour", - "expectedGold": 65 - }, - "OM42": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 42, - "reward": "Satchel", - "expectedGold": 65 - }, - "OM43": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 43, - "reward": "Locator Beacon", - "expectedGold": 65 - }, - "OM44": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 44, - "reward": "Reliquary of Protection", - "expectedGold": 65 - }, - "OM45": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 45, - "reward": "Snotflogga", - "expectedGold": 71 - }, - "OM46": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 46, - "reward": "Ballistics Data", - "expectedGold": 71 - }, - "OM47": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 47, - "reward": "Mission Objective", - "expectedGold": 71 - }, - "OM48": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 48, - "reward": "Tank of Promethium", - "expectedGold": 71 - }, - "OM49": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 49, - "reward": "Artificer Tasset Plate", - "expectedGold": 71 - }, - "OM5": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 5, - "reward": "Standard-Issue Tourniquet", - "expectedGold": 53 - }, - "OM50": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 50, - "reward": "Classified Data-Slate", - "expectedGold": 71 - }, - "OM51": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 51, - "reward": "The Gold Phoenix", - "expectedGold": 71 - }, - "OM52": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 52, - "reward": "Metal Decorative Skull", - "expectedGold": 71 - }, - "OM53": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 53, - "reward": "Iron Jaw", - "expectedGold": 71 - }, - "OM54": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 54, - "reward": "Wolf Tail Talisman", - "expectedGold": 71 - }, - "OM55": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 55, - "reward": "Krak Grenade", - "expectedGold": 71 - }, - "OM56": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 56, - "reward": "Reinforced Chitin", - "expectedGold": 71 - }, - "OM57": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 57, - "reward": "Battle Scar", - "expectedGold": 71 - }, - "OM58": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 58, - "reward": "Advanced Filaments", - "expectedGold": 71 - }, - "OM59": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 59, - "reward": "Chain of Zeal", - "expectedGold": 71 - }, - "OM6": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 6, - "reward": "Healing Ointment", - "expectedGold": 53 - }, - "OM60": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 60, - "reward": "Tanksmasha", - "expectedGold": 77 - }, - "OM61": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 61, - "reward": "Bad Moon Teef", - "expectedGold": 77 - }, - "OM62": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 62, - "reward": "Enriched Rations", - "expectedGold": 77 - }, - "OM63": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 63, - "reward": "Righteous Candle", - "expectedGold": 77 - }, - "OM64": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 64, - "reward": "Wolf Tooth Necklace", - "expectedGold": 77 - }, - "OM65": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 65, - "reward": "Targeting Link", - "expectedGold": 77 - }, - "OM66": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 66, - "reward": "Blessed Tabbard", - "expectedGold": 77 - }, - "OM67": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 67, - "reward": "Plague Bell", - "expectedGold": 77 - }, - "OM68": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 68, - "reward": "Synaptic Augmentation", - "expectedGold": 77 - }, - "OM69": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 69, - "reward": "Ard Plate", - "expectedGold": 77 - }, - "OM7": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 7, - "reward": "Rebreather", - "expectedGold": 53 - }, - "OM70": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 70, - "reward": "Bones of the Paragons", - "expectedGold": 77 - }, - "OM71": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 71, - "reward": "Mjod", - "expectedGold": 77 - }, - "OM72": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 72, - "reward": "Kustom Gubbinz", - "expectedGold": 77 - }, - "OM73": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 73, - "reward": "Duplicate Organ", - "expectedGold": 77 - }, - "OM74": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 74, - "reward": "Runes of Fate", - "expectedGold": 77 - }, - "OM75": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 75, - "reward": "Boss Gulgortz", - "expectedGold": 83 - }, - "OM8": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 8, - "reward": "Wires", - "expectedGold": 53 - }, - "OM9": { - "campaign": "Octarius Mirror", - "campaignType": "Mirror", - "nodeNumber": 9, - "reward": "Single Power Pack", - "expectedGold": 53 - }, - "IE1": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 1, - "reward": "Adamantium Ore", - "expectedGold": 83 - }, - "IE10": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 10, - "reward": "Fine Purity Seal", - "expectedGold": 91.5 - }, - "IE11": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 11, - "reward": "Round of Ammo", - "expectedGold": 91.5 - }, - "IE12": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 12, - "reward": "Writings", - "expectedGold": 91.5 - }, - "IE13": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 13, - "reward": "Oath Seal", - "expectedGold": 91.5 - }, - "IE14": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 14, - "reward": "Reliquary of Vengeance", - "expectedGold": 91.5 - }, - "IE15": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 15, - "reward": "Repair-Kit", - "expectedGold": 91.5 - }, - "IE16": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 16, - "reward": "Imospekh", - "expectedGold": 91.5 - }, - "IE17": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 17, - "reward": "Hymn of Martyrs", - "expectedGold": 101 - }, - "IE18": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 18, - "reward": "Sensor Suite", - "expectedGold": 101 - }, - "IE19": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 19, - "reward": "Rose of Martyrs", - "expectedGold": 101 - }, - "IE2": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 2, - "reward": "Minor Bionic Enhancement", - "expectedGold": 83 - }, - "IE20": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 20, - "reward": "Stimm Injector", - "expectedGold": 101 - }, - "IE21": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 21, - "reward": "Blessed Corset Armor", - "expectedGold": 101 - }, - "IE22": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 22, - "reward": "Drone Controller", - "expectedGold": 101 - }, - "IE23": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 23, - "reward": "Codex Astartes Page", - "expectedGold": 101 - }, - "IE24": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 24, - "reward": "Aleph-Null", - "expectedGold": 101 - }, - "IE25": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 25, - "reward": "Classified Data-Slate", - "expectedGold": 108 - }, - "IE26": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 26, - "reward": "Viridian Energy Tesseract", - "expectedGold": 108 - }, - "IE27": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 27, - "reward": "Greater Reliquary of Vengeance", - "expectedGold": 108 - }, - "IE28": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 28, - "reward": "Engrammatic Entangler", - "expectedGold": 108 - }, - "IE29": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 29, - "reward": "Holy Chaplet", - "expectedGold": 108 - }, - "IE3": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 3, - "reward": "Purity Seal", - "expectedGold": 83 - }, - "IE30": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 30, - "reward": "Engram Neurochip", - "expectedGold": 108 - }, - "IE31": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 31, - "reward": "Terminator Honours", - "expectedGold": 108 - }, - "IE32": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 32, - "reward": "Thutmose", - "expectedGold": 108 - }, - "IE33": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 33, - "reward": "Sophisticated Material", - "expectedGold": 108 - }, - "IE34": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 34, - "reward": "Blessed Tasset Plate", - "expectedGold": 108 - }, - "IE35": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 35, - "reward": "Ceramite Lump", - "expectedGold": 108 - }, - "IE36": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 36, - "reward": "Krak Grenade", - "expectedGold": 108 - }, - "IE37": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 37, - "reward": "Special Issue Ammo", - "expectedGold": 108 - }, - "IE38": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 38, - "reward": "Codex Astartes Page", - "expectedGold": 108 - }, - "IE39": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 39, - "reward": "Blessed Cogitator", - "expectedGold": 108 - }, - "IE4": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 4, - "reward": "Enriched Rations", - "expectedGold": 83 - }, - "IE40": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 40, - "reward": "Anuphet", - "expectedGold": 108 - }, - "IE5": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 5, - "reward": "Basic Auxiliary Core", - "expectedGold": 83 - }, - "IE6": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 6, - "reward": "The Gold Phoenix", - "expectedGold": 83 - }, - "IE7": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 7, - "reward": "The Phoenix Ascendant", - "expectedGold": 83 - }, - "IE8": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 8, - "reward": "Makhotep", - "expectedGold": 83 - }, - "IE9": { - "campaign": "Indomitus Elite", - "campaignType": "Elite", - "nodeNumber": 9, - "reward": "Weapon Anointment Oils", - "expectedGold": 91.5 - }, - "FoCE1": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 1, - "reward": "Armor Trim", - "expectedGold": 83 - }, - "FoCE10": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 10, - "reward": "Mutation: Warped Muscles", - "expectedGold": 91.5 - }, - "FoCE11": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 11, - "reward": "Canister of Chemicals", - "expectedGold": 91.5 - }, - "FoCE12": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 12, - "reward": "Helmet Trophy", - "expectedGold": 91.5 - }, - "FoCE13": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 13, - "reward": "Mutation: Scaly Skin", - "expectedGold": 91.5 - }, - "FoCE14": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 14, - "reward": "Fine Micro-Generator", - "expectedGold": 91.5 - }, - "FoCE15": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 15, - "reward": "Kill Count", - "expectedGold": 91.5 - }, - "FoCE16": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 16, - "reward": "Sibyll Devine", - "expectedGold": 91.5 - }, - "FoCE17": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 17, - "reward": "Icon of Vengeance", - "expectedGold": 101 - }, - "FoCE18": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 18, - "reward": "Sigil of Decay", - "expectedGold": 101 - }, - "FoCE19": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 19, - "reward": "Eye of Horus", - "expectedGold": 101 - }, - "FoCE2": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 2, - "reward": "Scrolls", - "expectedGold": 83 - }, - "FoCE20": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 20, - "reward": "Plague Bell", - "expectedGold": 101 - }, - "FoCE21": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 21, - "reward": "Blasphemous Armor Trim", - "expectedGold": 101 - }, - "FoCE22": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 22, - "reward": "Unnatural Vapour Dispenser", - "expectedGold": 101 - }, - "FoCE23": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 23, - "reward": "Blessing of the Dark Gods", - "expectedGold": 101 - }, - "FoCE24": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 24, - "reward": "Thaddeus Noble", - "expectedGold": 101 - }, - "FoCE25": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 25, - "reward": "Entrenching Tool", - "expectedGold": 108 - }, - "FoCE26": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 26, - "reward": "Zeidos Ribbon", - "expectedGold": 108 - }, - "FoCE27": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 27, - "reward": "Flak Plates", - "expectedGold": 108 - }, - "FoCE28": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 28, - "reward": "Honourifica Imperialis", - "expectedGold": 108 - }, - "FoCE29": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 29, - "reward": "Blessing of Nurgle", - "expectedGold": 108 - }, - "FoCE3": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 3, - "reward": "Mutation: Tough Skin", - "expectedGold": 83 - }, - "FoCE30": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 30, - "reward": "Metal Decorative Skull", - "expectedGold": 108 - }, - "FoCE31": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 31, - "reward": "Warp Locus", - "expectedGold": 108 - }, - "FoCE32": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 32, - "reward": "Celestine", - "expectedGold": 108 - }, - "FoCE33": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 33, - "reward": "Mission Assignment", - "expectedGold": 108 - }, - "FoCE34": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 34, - "reward": "Locator Beacon", - "expectedGold": 108 - }, - "FoCE35": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 35, - "reward": "Artificial Vertebrae", - "expectedGold": 108 - }, - "FoCE36": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 36, - "reward": "Artificer Tasset Plate", - "expectedGold": 108 - }, - "FoCE37": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 37, - "reward": "Golden Ornamental Skull", - "expectedGold": 108 - }, - "FoCE38": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 38, - "reward": "Blessing of the Dark Gods", - "expectedGold": 108 - }, - "FoCE39": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 39, - "reward": "Blessing of Nurgle", - "expectedGold": 108 - }, - "FoCE4": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 4, - "reward": "Cloak", - "expectedGold": 83 - }, - "FoCE40": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 40, - "reward": "Castellan Creed", - "expectedGold": 108 - }, - "FoCE5": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 5, - "reward": "Single Power Pack", - "expectedGold": 83 - }, - "FoCE6": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 6, - "reward": "Mutation: Warped Lungs", - "expectedGold": 83 - }, - "FoCE7": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 7, - "reward": "Mutation: Warped Heart", - "expectedGold": 83 - }, - "FoCE8": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 8, - "reward": "Kut Skoden", - "expectedGold": 83 - }, - "FoCE9": { - "campaign": "Fall of Cadia Elite", - "campaignType": "Elite", - "nodeNumber": 9, - "reward": "Nasty Spikes", - "expectedGold": 91.5 - }, - "OE1": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 1, - "reward": "Pile of Salvage", - "expectedGold": 83 - }, - "OE10": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 10, - "reward": "Standard-Issue Tourniquet", - "expectedGold": 91.5 - }, - "OE11": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 11, - "reward": "Adamantium Filaments", - "expectedGold": 91.5 - }, - "OE12": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 12, - "reward": "Reinforced Cables", - "expectedGold": 91.5 - }, - "OE13": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 13, - "reward": "Reinforced Scale-Plates", - "expectedGold": 91.5 - }, - "OE14": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 14, - "reward": "Plasma Cell", - "expectedGold": 91.5 - }, - "OE15": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 15, - "reward": "Crate of Salvage", - "expectedGold": 91.5 - }, - "OE16": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 16, - "reward": "Sword Brother Godswyl", - "expectedGold": 91.5 - }, - "OE17": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 17, - "reward": "Iron Jaw", - "expectedGold": 101 - }, - "OE18": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 18, - "reward": "Wolf Tooth Necklace", - "expectedGold": 101 - }, - "OE19": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 19, - "reward": "Bad Moon Teef", - "expectedGold": 101 - }, - "OE2": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 2, - "reward": "Chip Damage", - "expectedGold": 83 - }, - "OE20": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 20, - "reward": "Wolf Tail Talisman", - "expectedGold": 101 - }, - "OE21": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 21, - "reward": "Ard Plate", - "expectedGold": 101 - }, - "OE22": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 22, - "reward": "Beast Hide", - "expectedGold": 101 - }, - "OE23": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 23, - "reward": "Kustom Gubbinz", - "expectedGold": 101 - }, - "OE24": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 24, - "reward": "Ancient Thoread", - "expectedGold": 101 - }, - "OE25": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 25, - "reward": "Chain of Zeal", - "expectedGold": 108 - }, - "OE26": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 26, - "reward": "Righteous Candle", - "expectedGold": 108 - }, - "OE27": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 27, - "reward": "Blessed Tabbard", - "expectedGold": 108 - }, - "OE28": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 28, - "reward": "Bones of the Paragons", - "expectedGold": 108 - }, - "OE29": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 29, - "reward": "Runes of Fate", - "expectedGold": 108 - }, - "OE3": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 3, - "reward": "Ballistics Data", - "expectedGold": 83 - }, - "OE30": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 30, - "reward": "Battle Scar", - "expectedGold": 108 - }, - "OE31": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 31, - "reward": "Relic Hilt", - "expectedGold": 108 - }, - "OE32": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 32, - "reward": "Brother Jaeger", - "expectedGold": 108 - }, - "OE33": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 33, - "reward": "Weapon Parts", - "expectedGold": 108 - }, - "OE34": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 34, - "reward": "Enriched Rations", - "expectedGold": 108 - }, - "OE35": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 35, - "reward": "Unyielding Rivets", - "expectedGold": 108 - }, - "OE36": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 36, - "reward": "Bionic Eye", - "expectedGold": 108 - }, - "OE37": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 37, - "reward": "Bionic Neural Pathways", - "expectedGold": 108 - }, - "OE38": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 38, - "reward": "Kustom Gubbinz", - "expectedGold": 108 - }, - "OE39": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 39, - "reward": "Mjod", - "expectedGold": 108 - }, - "OE4": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 4, - "reward": "Box of Salvage", - "expectedGold": 83 - }, - "OE40": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 40, - "reward": "High Marshal Helbrecht", - "expectedGold": 108 - }, - "OE5": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 5, - "reward": "Thick Skin", - "expectedGold": 83 - }, - "OE6": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 6, - "reward": "Advanced Filaments", - "expectedGold": 83 - }, - "OE7": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 7, - "reward": "Ancient Runes", - "expectedGold": 83 - }, - "OE8": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 8, - "reward": "Brother Burchard", - "expectedGold": 83 - }, - "OE9": { - "campaign": "Octarius Elite", - "campaignType": "Elite", - "nodeNumber": 9, - "reward": "Targeting Link", - "expectedGold": 91.5 - }, - "IME1": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 1, - "reward": "Sophisticated Material", - "expectedGold": 83 - }, - "IME10": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 10, - "reward": "Tainted Text", - "expectedGold": 91.5 - }, - "IME11": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 11, - "reward": "Inferno Bolts", - "expectedGold": 91.5 - }, - "IME12": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 12, - "reward": "Ritual Implements", - "expectedGold": 91.5 - }, - "IME13": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 13, - "reward": "Secret Agenda", - "expectedGold": 91.5 - }, - "IME14": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 14, - "reward": "Blessing of Tzeentch", - "expectedGold": 91.5 - }, - "IME15": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 15, - "reward": "Master-Crafted Ammo", - "expectedGold": 91.5 - }, - "IME16": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 16, - "reward": "Bellator", - "expectedGold": 91.5 - }, - "IME17": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 17, - "reward": "Minor Bionic Enhancement", - "expectedGold": 101 - }, - "IME18": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 18, - "reward": "Waystone", - "expectedGold": 101 - }, - "IME19": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 19, - "reward": "Psytronome", - "expectedGold": 101 - }, - "IME2": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 2, - "reward": "Reconstitution Protocols", - "expectedGold": 83 - }, - "IME20": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 20, - "reward": "Wraithbone Plate", - "expectedGold": 101 - }, - "IME21": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 21, - "reward": "Warp Locus", - "expectedGold": 101 - }, - "IME22": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 22, - "reward": "Runes of Fate", - "expectedGold": 101 - }, - "IME23": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 23, - "reward": "Codex Astartes Page", - "expectedGold": 101 - }, - "IME24": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 24, - "reward": "Certus", - "expectedGold": 101 - }, - "IME25": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 25, - "reward": "Reinforced Scale-Plates", - "expectedGold": 108 - }, - "IME26": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 26, - "reward": "Basic Auxiliary Core", - "expectedGold": 108 - }, - "IME27": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 27, - "reward": "Nasty Spikes", - "expectedGold": 108 - }, - "IME28": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 28, - "reward": "Targeting Link", - "expectedGold": 108 - }, - "IME29": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 29, - "reward": "Key of Ignorance", - "expectedGold": 108 - }, - "IME3": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 3, - "reward": "Viridian Energy Tesseract", - "expectedGold": 83 - }, - "IME30": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 30, - "reward": "Stone Guardian Fragment", - "expectedGold": 108 - }, - "IME31": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 31, - "reward": "Engram Neurochip", - "expectedGold": 108 - }, - "IME32": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 32, - "reward": "Varro Tigurius", - "expectedGold": 108 - }, - "IME33": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 33, - "reward": "Chapter Pendant", - "expectedGold": 108 - }, - "IME34": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 34, - "reward": "Dark Hood", - "expectedGold": 108 - }, - "IME35": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 35, - "reward": "Stimm Injector", - "expectedGold": 108 - }, - "IME36": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 36, - "reward": "Sensor Suite", - "expectedGold": 108 - }, - "IME37": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 37, - "reward": "Drone Controller", - "expectedGold": 108 - }, - "IME38": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 38, - "reward": "Archeo-Tech Remnant", - "expectedGold": 108 - }, - "IME39": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 39, - "reward": "Master-Crafted Ammo", - "expectedGold": 108 - }, - "IME4": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 4, - "reward": "Nano Swarm", - "expectedGold": 83 - }, - "IME40": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 40, - "reward": "Marneus Calgar", - "expectedGold": 108 - }, - "IME5": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 5, - "reward": "Hypermaterial Shifter", - "expectedGold": 83 - }, - "IME6": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 6, - "reward": "Engrammatic Entangler", - "expectedGold": 83 - }, - "IME7": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 7, - "reward": "Psychic Force Conduit", - "expectedGold": 83 - }, - "IME8": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 8, - "reward": "Vindicta", - "expectedGold": 83 - }, - "IME9": { - "campaign": "Indomitus Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 9, - "reward": "Weapon Anointment Oils", - "expectedGold": 91.5 - }, - "FoCME1": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 1, - "reward": "Pile of Salvage", - "expectedGold": 83 - }, - "FoCME10": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 10, - "reward": "Rose of Martyrs", - "expectedGold": 91.5 - }, - "FoCME11": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 11, - "reward": "Key of Ignorance", - "expectedGold": 91.5 - }, - "FoCME12": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 12, - "reward": "Standard-Issue Tourniquet", - "expectedGold": 91.5 - }, - "FoCME13": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 13, - "reward": "Plague Bell", - "expectedGold": 91.5 - }, - "FoCME14": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 14, - "reward": "Golden Ornamental Skull", - "expectedGold": 91.5 - }, - "FoCME15": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 15, - "reward": "Relic Hilt", - "expectedGold": 91.5 - }, - "FoCME16": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 16, - "reward": "Archimatos", - "expectedGold": 91.5 - }, - "FoCME17": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 17, - "reward": "Hymn of Martyrs", - "expectedGold": 101 - }, - "FoCME18": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 18, - "reward": "Chapter Pendant", - "expectedGold": 101 - }, - "FoCME19": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 19, - "reward": "Ballistics Data", - "expectedGold": 101 - }, - "FoCME2": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 2, - "reward": "Zeidos Ribbon", - "expectedGold": 83 - }, - "FoCME20": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 20, - "reward": "Sigil of Decay", - "expectedGold": 101 - }, - "FoCME21": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 21, - "reward": "The Iron Phoenix", - "expectedGold": 101 - }, - "FoCME22": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 22, - "reward": "Blessed Corset Armor", - "expectedGold": 101 - }, - "FoCME23": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 23, - "reward": "Dark Hood", - "expectedGold": 101 - }, - "FoCME24": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 24, - "reward": "Volk", - "expectedGold": 101 - }, - "FoCME25": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 25, - "reward": "Satchel", - "expectedGold": 108 - }, - "FoCME26": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 26, - "reward": "Unnatural Vapour Dispenser", - "expectedGold": 108 - }, - "FoCME27": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 27, - "reward": "Single Power Pack", - "expectedGold": 108 - }, - "FoCME28": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 28, - "reward": "Holy Chaplet", - "expectedGold": 108 - }, - "FoCME29": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 29, - "reward": "Stone Guardian Fragment", - "expectedGold": 108 - }, - "FoCME3": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 3, - "reward": "Entrenching Tool", - "expectedGold": 83 - }, - "FoCME30": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 30, - "reward": "The Silver Scope", - "expectedGold": 108 - }, - "FoCME31": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 31, - "reward": "Blessing of Nurgle", - "expectedGold": 108 - }, - "FoCME32": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 32, - "reward": "Haarken Worldclaimer", - "expectedGold": 108 - }, - "FoCME33": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 33, - "reward": "Minor Bionic Enhancement", - "expectedGold": 108 - }, - "FoCME34": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 34, - "reward": "Eye of Horus", - "expectedGold": 108 - }, - "FoCME35": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 35, - "reward": "Icon of Vengeance", - "expectedGold": 108 - }, - "FoCME36": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 36, - "reward": "Blasphemous Armor Trim", - "expectedGold": 108 - }, - "FoCME37": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 37, - "reward": "Blessing of the Dark Gods", - "expectedGold": 108 - }, - "FoCME38": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 38, - "reward": "Psyk-Conductive Material", - "expectedGold": 108 - }, - "FoCME39": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 39, - "reward": "Relic Hilt", - "expectedGold": 108 - }, - "FoCME4": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 4, - "reward": "Flak Plates", - "expectedGold": 83 - }, - "FoCME40": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 40, - "reward": "Abaddon The Despoiler", - "expectedGold": 108 - }, - "FoCME5": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 5, - "reward": "Blessed Promethium Canister", - "expectedGold": 83 - }, - "FoCME6": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 6, - "reward": "Honourifica Imperialis", - "expectedGold": 83 - }, - "FoCME7": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 7, - "reward": "Psyk-Conductive Material", - "expectedGold": 83 - }, - "FoCME8": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 8, - "reward": "Angrax", - "expectedGold": 83 - }, - "FoCME9": { - "campaign": "Fall of Cadia Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 9, - "reward": "Weapon Parts", - "expectedGold": 91.5 - }, - "OME1": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 1, - "reward": "Fine Purity Seal", - "expectedGold": 83 - }, - "OME10": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 10, - "reward": "Adrenal Glands", - "expectedGold": 91.5 - }, - "OME11": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 11, - "reward": "Wolf Tail Talisman", - "expectedGold": 91.5 - }, - "OME12": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 12, - "reward": "Key of Ignorance", - "expectedGold": 91.5 - }, - "OME13": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 13, - "reward": "The Iron Phoenix", - "expectedGold": 91.5 - }, - "OME14": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 14, - "reward": "Terminator Honours", - "expectedGold": 91.5 - }, - "OME15": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 15, - "reward": "Archeotech Bionics", - "expectedGold": 91.5 - }, - "OME16": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 16, - "reward": "Gibbascrapz", - "expectedGold": 91.5 - }, - "OME17": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 17, - "reward": "Toxin Sacs", - "expectedGold": 101 - }, - "OME18": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 18, - "reward": "Wolf Tooth Necklace", - "expectedGold": 101 - }, - "OME19": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 19, - "reward": "Chapter Pendant", - "expectedGold": 101 - }, - "OME2": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 2, - "reward": "Righteous Candle", - "expectedGold": 83 - }, - "OME20": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 20, - "reward": "Canister of Chemicals", - "expectedGold": 101 - }, - "OME21": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 21, - "reward": "Lesser Reliquary of Protection", - "expectedGold": 101 - }, - "OME22": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 22, - "reward": "Reinforced Chitin", - "expectedGold": 101 - }, - "OME23": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 23, - "reward": "Beast Hide", - "expectedGold": 101 - }, - "OME24": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 24, - "reward": "Snotflogga", - "expectedGold": 101 - }, - "OME25": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 25, - "reward": "Dark Hood", - "expectedGold": 108 - }, - "OME26": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 26, - "reward": "Nano Swarm", - "expectedGold": 108 - }, - "OME27": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 27, - "reward": "Canister of Chemicals", - "expectedGold": 108 - }, - "OME28": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 28, - "reward": "Synaptic Augmentation", - "expectedGold": 108 - }, - "OME29": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 29, - "reward": "Mjod", - "expectedGold": 108 - }, - "OME3": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 3, - "reward": "Chain of Zeal", - "expectedGold": 83 - }, - "OME30": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 30, - "reward": "Stone Guardian Fragment", - "expectedGold": 108 - }, - "OME31": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 31, - "reward": "Round of Ammo", - "expectedGold": 108 - }, - "OME32": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 32, - "reward": "Tanksmasha", - "expectedGold": 108 - }, - "OME33": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 33, - "reward": "Chip Damage", - "expectedGold": 108 - }, - "OME34": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 34, - "reward": "Bad Moon Teef", - "expectedGold": 108 - }, - "OME35": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 35, - "reward": "Iron Jaw", - "expectedGold": 108 - }, - "OME36": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 36, - "reward": "Ard Plate", - "expectedGold": 108 - }, - "OME37": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 37, - "reward": "Kustom Gubbinz", - "expectedGold": 108 - }, - "OME38": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 38, - "reward": "Purity Seal of the Primarch", - "expectedGold": 108 - }, - "OME39": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 39, - "reward": "Archeotech Bionics", - "expectedGold": 108 - }, - "OME4": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 4, - "reward": "Blessed Tabbard", - "expectedGold": 83 - }, - "OME40": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 40, - "reward": "Boss Gulgortz", - "expectedGold": 108 - }, - "OME5": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 5, - "reward": "Special Issue Ammo", - "expectedGold": 83 - }, - "OME6": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 6, - "reward": "Bones of the Paragons", - "expectedGold": 83 - }, - "OME7": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 7, - "reward": "Purity Seal of the Primarch", - "expectedGold": 83 - }, - "OME8": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 8, - "reward": "Snappawrecka", - "expectedGold": 83 - }, - "OME9": { - "campaign": "Octarius Mirror Elite", - "campaignType": "Elite", - "nodeNumber": 9, - "reward": "Weapon Anointment Oils", - "expectedGold": 91.5 - } + "I15": { + "campaign": "Indomitus", + "campaignType": "Early", + "nodeNumber": 15, + "reward": "Makhotep", + "expectedGold": 12.5 + }, + "I16": { + "campaign": "Indomitus", + "campaignType": "Early", + "nodeNumber": 16, + "reward": "The Iron Phoenix", + "expectedGold": 12.5 + }, + "I17": { + "campaign": "Indomitus", + "campaignType": "Early", + "nodeNumber": 17, + "reward": "Frag Grenade", + "expectedGold": 12.5 + }, + "I18": { + "campaign": "Indomitus", + "campaignType": "EarlyChars", + "nodeNumber": 18, + "reward": "Varro Tigurius", + "expectedGold": 12.5 + }, + "I19": { + "campaign": "Indomitus", + "campaignType": "Early", + "nodeNumber": 19, + "reward": "Purity Seal", + "expectedGold": 12.5 + }, + "I20": { + "campaign": "Indomitus", + "campaignType": "Early", + "nodeNumber": 20, + "reward": "Enriched Rations", + "expectedGold": 12.5 + }, + "I21": { + "campaign": "Indomitus", + "campaignType": "EarlyChars", + "nodeNumber": 21, + "reward": "Certus", + "expectedGold": 12.5 + }, + "I22": { + "campaign": "Indomitus", + "campaignType": "Early", + "nodeNumber": 22, + "reward": "Basic Auxiliary Core", + "expectedGold": 12.5 + }, + "I23": { + "campaign": "Indomitus", + "campaignType": "Early", + "nodeNumber": 23, + "reward": "The Gold Phoenix", + "expectedGold": 12.5 + }, + "I24": { + "campaign": "Indomitus", + "campaignType": "EarlyChars", + "nodeNumber": 24, + "reward": "Bellator", + "expectedGold": 12.5 + }, + "I25": { + "campaign": "Indomitus", + "campaignType": "Early", + "nodeNumber": 25, + "reward": "Attack Vector Data-Slate", + "expectedGold": 12.5 + }, + "I26": { + "campaign": "Indomitus", + "campaignType": "Early", + "nodeNumber": 26, + "reward": "Ceramite Lump", + "expectedGold": 12.5 + }, + "I27": { + "campaign": "Indomitus", + "campaignType": "Early", + "nodeNumber": 27, + "reward": "Incisus", + "expectedGold": 12.5 + }, + "I28": { + "campaign": "Indomitus", + "campaignType": "Early", + "nodeNumber": 28, + "reward": "Pile of Salvage", + "expectedGold": 12.5 + }, + "I29": { + "campaign": "Indomitus", + "campaignType": "EarlyChars", + "nodeNumber": 29, + "reward": "Vindicta", + "expectedGold": 12.5 + }, + "I30": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 30, + "reward": "Imospekh", + "expectedGold": 15 + }, + "I31": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 31, + "reward": "Box of Salvage", + "expectedGold": 15 + }, + "I32": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 32, + "reward": "Fine Purity Seal", + "expectedGold": 15 + }, + "I33": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 33, + "reward": "Lesser Reliquary of Protection", + "expectedGold": 15 + }, + "I34": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 34, + "reward": "The Silver Scope", + "expectedGold": 15 + }, + "I35": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 35, + "reward": "Marksman's Honour", + "expectedGold": 15 + }, + "I36": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 36, + "reward": "Locator Beacon", + "expectedGold": 15 + }, + "I37": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 37, + "reward": "Field Ration", + "expectedGold": 15 + }, + "I38": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 38, + "reward": "Round of Ammo", + "expectedGold": 15 + }, + "I39": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 39, + "reward": "Standard-Issue Tourniquet", + "expectedGold": 15 + }, + "I40": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 40, + "reward": "Oath Seal", + "expectedGold": 15 + }, + "I41": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 41, + "reward": "Reliquary of Vengeance", + "expectedGold": 15 + }, + "I42": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 42, + "reward": "Plasma Cell", + "expectedGold": 15 + }, + "I43": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 43, + "reward": "Fine Micro-Generator", + "expectedGold": 15 + }, + "I44": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 44, + "reward": "Wires", + "expectedGold": 15 + }, + "I45": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 45, + "reward": "Aleph-Null", + "expectedGold": 17.5 + }, + "I46": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 46, + "reward": "Canister of Chemicals", + "expectedGold": 17.5 + }, + "I47": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 47, + "reward": "Ballistics Data", + "expectedGold": 17.5 + }, + "I48": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 48, + "reward": "Adamantium Ore", + "expectedGold": 17.5 + }, + "I49": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 49, + "reward": "Minor Bionic Enhancement", + "expectedGold": 17.5 + }, + "I50": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 50, + "reward": "Can of Promethium", + "expectedGold": 17.5 + }, + "I51": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 51, + "reward": "Lesser Reliquary of Vengeance", + "expectedGold": 17.5 + }, + "I52": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 52, + "reward": "Weapon Anointment Oils", + "expectedGold": 17.5 + }, + "I53": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 53, + "reward": "Healing Ointment", + "expectedGold": 17.5 + }, + "I54": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 54, + "reward": "Barrel of Promethium", + "expectedGold": 17.5 + }, + "I55": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 55, + "reward": "Single Power Pack", + "expectedGold": 17.5 + }, + "I56": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 56, + "reward": "Otherworldly Energy", + "expectedGold": 17.5 + }, + "I57": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 57, + "reward": "Sophisticated Material", + "expectedGold": 17.5 + }, + "I58": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 58, + "reward": "Reliquary of Protection", + "expectedGold": 17.5 + }, + "I59": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 59, + "reward": "Adamantium Filaments", + "expectedGold": 17.5 + }, + "I60": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 60, + "reward": "Thutmose", + "expectedGold": 20 + }, + "I61": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 61, + "reward": "Advanced Filaments", + "expectedGold": 20 + }, + "I62": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 62, + "reward": "Tank of Promethium", + "expectedGold": 20 + }, + "I63": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 63, + "reward": "Reconstitution Protocols", + "expectedGold": 20 + }, + "I64": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 64, + "reward": "Mutation: Tough Skin", + "expectedGold": 20 + }, + "I65": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 65, + "reward": "Mutation: Warped Lungs", + "expectedGold": 20 + }, + "I66": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 66, + "reward": "Mutation: Scaly Skin", + "expectedGold": 20 + }, + "I67": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 67, + "reward": "Nano Swarm", + "expectedGold": 20 + }, + "I68": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 68, + "reward": "Advanced Rebreather", + "expectedGold": 20 + }, + "I69": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 69, + "reward": "The Silver Eagle with Swords", + "expectedGold": 20 + }, + "I70": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 70, + "reward": "Krak Grenade", + "expectedGold": 20 + }, + "I71": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 71, + "reward": "Metal Decorative Skull", + "expectedGold": 20 + }, + "I72": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 72, + "reward": "Targeting Link", + "expectedGold": 20 + }, + "I73": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 73, + "reward": "Duplicate Organ", + "expectedGold": 20 + }, + "I74": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 74, + "reward": "Engrammatic Entangler", + "expectedGold": 20 + }, + "I75": { + "campaign": "Indomitus", + "campaignType": "Normal", + "nodeNumber": 75, + "reward": "Anuphet", + "expectedGold": 50 + }, + "FoC1": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 1, + "reward": "Mutation: Warped Muscles", + "expectedGold": 53 + }, + "FoC10": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 10, + "reward": "Minor Bionic Enhancement", + "expectedGold": 53 + }, + "FoC11": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 11, + "reward": "Crate of Salvage", + "expectedGold": 53 + }, + "FoC12": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 12, + "reward": "Standard-Issue Tourniquet", + "expectedGold": 53 + }, + "FoC13": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 13, + "reward": "Weapon Parts", + "expectedGold": 53 + }, + "FoC14": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 14, + "reward": "Adamantium Ore", + "expectedGold": 53 + }, + "FoC15": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 15, + "reward": "Kut Skoden", + "expectedGold": 59 + }, + "FoC16": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 16, + "reward": "Pile of Salvage", + "expectedGold": 59 + }, + "FoC17": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 17, + "reward": "Kill Count", + "expectedGold": 59 + }, + "FoC18": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 18, + "reward": "Healing Ointment", + "expectedGold": 59 + }, + "FoC19": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 19, + "reward": "Auspex", + "expectedGold": 59 + }, + "FoC2": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 2, + "reward": "Nasty Spikes", + "expectedGold": 53 + }, + "FoC20": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 20, + "reward": "Round of Ammo", + "expectedGold": 59 + }, + "FoC21": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 21, + "reward": "Targeting Link", + "expectedGold": 59 + }, + "FoC22": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 22, + "reward": "Battle Scar", + "expectedGold": 59 + }, + "FoC23": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 23, + "reward": "Blessed Tasset Plate", + "expectedGold": 59 + }, + "FoC24": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 24, + "reward": "Canister of Chemicals", + "expectedGold": 59 + }, + "FoC25": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 25, + "reward": "Scrolls", + "expectedGold": 59 + }, + "FoC26": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 26, + "reward": "Metal Joints", + "expectedGold": 59 + }, + "FoC27": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 27, + "reward": "Lesser Reliquary of Protection", + "expectedGold": 59 + }, + "FoC28": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 28, + "reward": "Box of Salvage", + "expectedGold": 59 + }, + "FoC29": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 29, + "reward": "Frag Grenade", + "expectedGold": 59 + }, + "FoC3": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 3, + "reward": "Wires", + "expectedGold": 53 + }, + "FoC30": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 30, + "reward": "Sibyll Devine", + "expectedGold": 65 + }, + "FoC31": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 31, + "reward": "Fine Micro-Generator", + "expectedGold": 65 + }, + "FoC32": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 32, + "reward": "Basic Auxiliary Core", + "expectedGold": 65 + }, + "FoC33": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 33, + "reward": "Barrel of Promethium", + "expectedGold": 65 + }, + "FoC34": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 34, + "reward": "Plasma Cell", + "expectedGold": 65 + }, + "FoC35": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 35, + "reward": "Attack Vector Data-Slate", + "expectedGold": 65 + }, + "FoC36": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 36, + "reward": "Mutation: Warped Lungs", + "expectedGold": 65 + }, + "FoC37": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 37, + "reward": "Cloak", + "expectedGold": 65 + }, + "FoC38": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 38, + "reward": "Artificial Vertebrae", + "expectedGold": 65 + }, + "FoC39": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 39, + "reward": "Mutation: Scaly Skin", + "expectedGold": 65 + }, + "FoC4": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 4, + "reward": "Satchel", + "expectedGold": 53 + }, + "FoC40": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 40, + "reward": "Reinforced Cables", + "expectedGold": 65 + }, + "FoC41": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 41, + "reward": "Helmet Trophy", + "expectedGold": 65 + }, + "FoC42": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 42, + "reward": "Writings", + "expectedGold": 65 + }, + "FoC43": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 43, + "reward": "Mission Objective", + "expectedGold": 65 + }, + "FoC44": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 44, + "reward": "Weapon Anointment Oils", + "expectedGold": 65 + }, + "FoC45": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 45, + "reward": "Thaddeus Noble", + "expectedGold": 71 + }, + "FoC46": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 46, + "reward": "Purity Seal", + "expectedGold": 71 + }, + "FoC47": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 47, + "reward": "Can of Promethium", + "expectedGold": 71 + }, + "FoC48": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 48, + "reward": "Thick Skin", + "expectedGold": 71 + }, + "FoC49": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 49, + "reward": "The Silver Aquila", + "expectedGold": 71 + }, + "FoC5": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 5, + "reward": "Ropes and Chains", + "expectedGold": 53 + }, + "FoC50": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 50, + "reward": "Field Ration", + "expectedGold": 71 + }, + "FoC51": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 51, + "reward": "Beast Hide", + "expectedGold": 71 + }, + "FoC52": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 52, + "reward": "Mission Assignment", + "expectedGold": 71 + }, + "FoC53": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 53, + "reward": "Entrenching Tool", + "expectedGold": 71 + }, + "FoC54": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 54, + "reward": "Icon of Vengeance", + "expectedGold": 71 + }, + "FoC55": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 55, + "reward": "Ballistics Data", + "expectedGold": 71 + }, + "FoC56": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 56, + "reward": "Eye of Horus", + "expectedGold": 71 + }, + "FoC57": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 57, + "reward": "Hymn of Martyrs", + "expectedGold": 71 + }, + "FoC58": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 58, + "reward": "Combat Stimms", + "expectedGold": 71 + }, + "FoC59": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 59, + "reward": "Unnatural Vapour Dispenser", + "expectedGold": 71 + }, + "FoC6": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 6, + "reward": "Chip Damage", + "expectedGold": 53 + }, + "FoC60": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 60, + "reward": "Celestine", + "expectedGold": 77 + }, + "FoC61": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 61, + "reward": "Secret Agenda", + "expectedGold": 77 + }, + "FoC62": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 62, + "reward": "Classified Data-Slate", + "expectedGold": 77 + }, + "FoC63": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 63, + "reward": "Air Purificator", + "expectedGold": 77 + }, + "FoC64": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 64, + "reward": "The Phoenix Ascendant", + "expectedGold": 77 + }, + "FoC65": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 65, + "reward": "Blasphemous Armor Trim", + "expectedGold": 77 + }, + "FoC66": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 66, + "reward": "Repair-Kit", + "expectedGold": 77 + }, + "FoC67": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 67, + "reward": "Zeidos Ribbon", + "expectedGold": 77 + }, + "FoC68": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 68, + "reward": "Plague Bell", + "expectedGold": 77 + }, + "FoC69": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 69, + "reward": "Bionic Eye", + "expectedGold": 77 + }, + "FoC7": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 7, + "reward": "Armor Trim", + "expectedGold": 53 + }, + "FoC70": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 70, + "reward": "Flak Plates", + "expectedGold": 77 + }, + "FoC71": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 71, + "reward": "Wraithbone Plate", + "expectedGold": 77 + }, + "FoC72": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 72, + "reward": "Golden Ornamental Skull", + "expectedGold": 77 + }, + "FoC73": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 73, + "reward": "Blessed Promethium Canister", + "expectedGold": 77 + }, + "FoC74": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 74, + "reward": "Revered Talisman", + "expectedGold": 77 + }, + "FoC75": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 75, + "reward": "Castellan Creed", + "expectedGold": 83 + }, + "FoC8": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 8, + "reward": "Vox-Caster", + "expectedGold": 53 + }, + "FoC9": { + "campaign": "Fall of Cadia", + "campaignType": "Normal", + "nodeNumber": 9, + "reward": "Mutation: Tough Skin", + "expectedGold": 53 + }, + "O1": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 1, + "reward": "Ropes and Chains", + "expectedGold": 53 + }, + "O10": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 10, + "reward": "Cloak", + "expectedGold": 53 + }, + "O11": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 11, + "reward": "Armor Trim", + "expectedGold": 53 + }, + "O12": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 12, + "reward": "Reinforced Scale-Plates", + "expectedGold": 53 + }, + "O13": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 13, + "reward": "Mission Assignment", + "expectedGold": 53 + }, + "O14": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 14, + "reward": "Vox-Caster", + "expectedGold": 53 + }, + "O15": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 15, + "reward": "Brother Burchard", + "expectedGold": 59 + }, + "O16": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 16, + "reward": "Scrolls", + "expectedGold": 59 + }, + "O17": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 17, + "reward": "Rebreather", + "expectedGold": 59 + }, + "O18": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 18, + "reward": "Satchel", + "expectedGold": 59 + }, + "O19": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 19, + "reward": "Slicing Claws", + "expectedGold": 59 + }, + "O2": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 2, + "reward": "Wires", + "expectedGold": 53 + }, + "O20": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 20, + "reward": "Ceramite Lump", + "expectedGold": 59 + }, + "O21": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 21, + "reward": "Reliquary of Protection", + "expectedGold": 59 + }, + "O22": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 22, + "reward": "Bladesman's Honour", + "expectedGold": 59 + }, + "O23": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 23, + "reward": "Mesh Weave", + "expectedGold": 59 + }, + "O24": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 24, + "reward": "Writings", + "expectedGold": 59 + }, + "O25": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 25, + "reward": "Mission Objective", + "expectedGold": 59 + }, + "O26": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 26, + "reward": "Oath Seal", + "expectedGold": 59 + }, + "O27": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 27, + "reward": "Reinforced Cables", + "expectedGold": 59 + }, + "O28": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 28, + "reward": "The Gold Phoenix", + "expectedGold": 59 + }, + "O29": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 29, + "reward": "Subdermal Plating", + "expectedGold": 59 + }, + "O3": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 3, + "reward": "Chip Damage", + "expectedGold": 53 + }, + "O30": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 30, + "reward": "Sword Brother Godswyl", + "expectedGold": 65 + }, + "O31": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 31, + "reward": "Helmet Trophy", + "expectedGold": 65 + }, + "O32": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 32, + "reward": "Ancient Runes", + "expectedGold": 65 + }, + "O33": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 33, + "reward": "Advanced Rebreather", + "expectedGold": 65 + }, + "O34": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 34, + "reward": "Kill Count", + "expectedGold": 65 + }, + "O35": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 35, + "reward": "Iron Jaw", + "expectedGold": 65 + }, + "O36": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 36, + "reward": "Metal Decorative Skull", + "expectedGold": 65 + }, + "O37": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 37, + "reward": "Artificer Tasset Plate", + "expectedGold": 65 + }, + "O38": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 38, + "reward": "Sigil of Decay", + "expectedGold": 65 + }, + "O39": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 39, + "reward": "Krak Grenade", + "expectedGold": 65 + }, + "O4": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 4, + "reward": "Nasty Spikes", + "expectedGold": 53 + }, + "O40": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 40, + "reward": "Special Issue Ammo", + "expectedGold": 65 + }, + "O41": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 41, + "reward": "Chain of Zeal", + "expectedGold": 65 + }, + "O42": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 42, + "reward": "Terminator Honours", + "expectedGold": 65 + }, + "O43": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 43, + "reward": "Bionic Neural Pathways", + "expectedGold": 65 + }, + "O44": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 44, + "reward": "Adrenal Glands", + "expectedGold": 65 + }, + "O45": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 45, + "reward": "Ancient Thoread", + "expectedGold": 71 + }, + "O46": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 46, + "reward": "Bad Moon Teef", + "expectedGold": 71 + }, + "O47": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 47, + "reward": "Righteous Candle", + "expectedGold": 71 + }, + "O48": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 48, + "reward": "Rose of Martyrs", + "expectedGold": 71 + }, + "O49": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 49, + "reward": "Mutation: Warped Heart", + "expectedGold": 71 + }, + "O5": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 5, + "reward": "Thick Skin", + "expectedGold": 53 + }, + "O50": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 50, + "reward": "Blessed Corset Armor", + "expectedGold": 71 + }, + "O51": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 51, + "reward": "Ard Plate", + "expectedGold": 71 + }, + "O52": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 52, + "reward": "Toxin Sacs", + "expectedGold": 71 + }, + "O53": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 53, + "reward": "Basic Auxiliary Core", + "expectedGold": 71 + }, + "O54": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 54, + "reward": "Blessed Tabbard", + "expectedGold": 71 + }, + "O55": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 55, + "reward": "Plasma Cell", + "expectedGold": 71 + }, + "O56": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 56, + "reward": "Barrel of Promethium", + "expectedGold": 71 + }, + "O57": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 57, + "reward": "Pile of Salvage", + "expectedGold": 71 + }, + "O58": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 58, + "reward": "Box of Salvage", + "expectedGold": 71 + }, + "O59": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 59, + "reward": "Standard-Issue Tourniquet", + "expectedGold": 71 + }, + "O6": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 6, + "reward": "Metal Joints", + "expectedGold": 53 + }, + "O60": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 60, + "reward": "Brother Jaeger", + "expectedGold": 77 + }, + "O61": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 61, + "reward": "Canister of Chemicals", + "expectedGold": 77 + }, + "O62": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 62, + "reward": "Minor Bionic Enhancement", + "expectedGold": 77 + }, + "O63": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 63, + "reward": "The Silver Aquila", + "expectedGold": 77 + }, + "O64": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 64, + "reward": "Auspex", + "expectedGold": 77 + }, + "O65": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 65, + "reward": "Weapon Anointment Oils", + "expectedGold": 77 + }, + "O66": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 66, + "reward": "Purity Seal", + "expectedGold": 77 + }, + "O67": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 67, + "reward": "Lesser Reliquary of Protection", + "expectedGold": 77 + }, + "O68": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 68, + "reward": "Single Power Pack", + "expectedGold": 77 + }, + "O69": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 69, + "reward": "Fine Micro-Generator", + "expectedGold": 77 + }, + "O7": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 7, + "reward": "Adamantium Filaments", + "expectedGold": 53 + }, + "O70": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 70, + "reward": "Attack Vector Data-Slate", + "expectedGold": 77 + }, + "O71": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 71, + "reward": "Adamantium Ore", + "expectedGold": 77 + }, + "O72": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 72, + "reward": "Locator Beacon", + "expectedGold": 77 + }, + "O73": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 73, + "reward": "Unyielding Rivets", + "expectedGold": 77 + }, + "O74": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 74, + "reward": "Battle Scar", + "expectedGold": 77 + }, + "O75": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 75, + "reward": "High Marshal Helbrecht", + "expectedGold": 83 + }, + "O8": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 8, + "reward": "Weapon Parts", + "expectedGold": 53 + }, + "O9": { + "campaign": "Octarius", + "campaignType": "Normal", + "nodeNumber": 9, + "reward": "Combat Stimms", + "expectedGold": 53 + }, + "SH1": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 1, + "reward": "Adamantium Filaments", + "expectedGold": 53 + }, + "SH10": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 10, + "reward": "Can of Promethium", + "expectedGold": 53 + }, + "SH11": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 11, + "reward": "Mutation: Tough Skin", + "expectedGold": 53 + }, + "SH12": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 12, + "reward": "Adamantium Ore", + "expectedGold": 53 + }, + "SH13": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 13, + "reward": "Mission Assignment", + "expectedGold": 53 + }, + "SH14": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 14, + "reward": "Mission Objective", + "expectedGold": 53 + }, + "SH15": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 15, + "reward": "Toth", + "expectedGold": 59 + }, + "SH16": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 16, + "reward": "Locator Beacon", + "expectedGold": 59 + }, + "SH17": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 17, + "reward": "Box of Salvage", + "expectedGold": 59 + }, + "SH18": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 18, + "reward": "Advanced Filaments", + "expectedGold": 59 + }, + "SH19": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 19, + "reward": "Lesser Reliquary of Protection", + "expectedGold": 59 + }, + "SH2": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 2, + "reward": "Scrolls", + "expectedGold": 53 + }, + "SH20": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 20, + "reward": "Mesh Weave", + "expectedGold": 59 + }, + "SH21": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 21, + "reward": "Weapon Anointment Oils", + "expectedGold": 59 + }, + "SH22": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 22, + "reward": "Cloak", + "expectedGold": 59 + }, + "SH23": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 23, + "reward": "Fine Micro-Generator", + "expectedGold": 59 + }, + "SH24": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 24, + "reward": "Writings", + "expectedGold": 59 + }, + "SH25": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 25, + "reward": "Fine Purity Seal", + "expectedGold": 59 + }, + "SH26": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 26, + "reward": "Mutation: Warped Lungs", + "expectedGold": 59 + }, + "SH27": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 27, + "reward": "Satchel", + "expectedGold": 59 + }, + "SH28": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 28, + "reward": "Plasma Cell", + "expectedGold": 59 + }, + "SH29": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 29, + "reward": "Kill Count", + "expectedGold": 59 + }, + "SH3": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 3, + "reward": "Targeting Link", + "expectedGold": 53 + }, + "SH30": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 30, + "reward": "Abraxas", + "expectedGold": 65 + }, + "SH31": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 31, + "reward": "Ritual Implements", + "expectedGold": 65 + }, + "SH32": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 32, + "reward": "Waystone", + "expectedGold": 65 + }, + "SH33": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 33, + "reward": "Crate of Salvage", + "expectedGold": 65 + }, + "SH34": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 34, + "reward": "Reliquary of Protection", + "expectedGold": 65 + }, + "SH35": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 35, + "reward": "Blessed Tasset Plate", + "expectedGold": 65 + }, + "SH36": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 36, + "reward": "Artificial Vertebrae", + "expectedGold": 65 + }, + "SH37": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 37, + "reward": "Key of Ignorance", + "expectedGold": 65 + }, + "SH38": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 38, + "reward": "Wolf Tail Talisman", + "expectedGold": 65 + }, + "SH39": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 39, + "reward": "Ancient Runes", + "expectedGold": 65 + }, + "SH4": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 4, + "reward": "Vox-Caster", + "expectedGold": 53 + }, + "SH40": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 40, + "reward": "Repair-Kit", + "expectedGold": 65 + }, + "SH41": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 41, + "reward": "Inferno Bolts", + "expectedGold": 65 + }, + "SH42": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 42, + "reward": "Classified Data-Slate", + "expectedGold": 65 + }, + "SH43": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 43, + "reward": "Reliquary of Vengeance", + "expectedGold": 65 + }, + "SH44": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 44, + "reward": "Psytronome", + "expectedGold": 65 + }, + "SH45": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 45, + "reward": "Yazaghor", + "expectedGold": 71 + }, + "SH46": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 46, + "reward": "Chapter Pendant", + "expectedGold": 71 + }, + "SH47": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 47, + "reward": "Field Ration", + "expectedGold": 71 + }, + "SH48": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 48, + "reward": "Bionic Eye", + "expectedGold": 71 + }, + "SH49": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 49, + "reward": "Healing Ointment", + "expectedGold": 71 + }, + "SH5": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 5, + "reward": "Armor Trim", + "expectedGold": 53 + }, + "SH50": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 50, + "reward": "Wolf Tooth Necklace", + "expectedGold": 71 + }, + "SH51": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 51, + "reward": "Otherworldly Energy", + "expectedGold": 71 + }, + "SH52": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 52, + "reward": "Bladesman's Honour", + "expectedGold": 71 + }, + "SH53": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 53, + "reward": "Slicing Claws", + "expectedGold": 71 + }, + "SH54": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 54, + "reward": "Artificer Tasset Plate", + "expectedGold": 71 + }, + "SH55": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 55, + "reward": "Enriched Rations", + "expectedGold": 71 + }, + "SH56": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 56, + "reward": "Dark Hood", + "expectedGold": 71 + }, + "SH57": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 57, + "reward": "Tainted Text", + "expectedGold": 71 + }, + "SH58": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 58, + "reward": "Wraithbone Plate", + "expectedGold": 71 + }, + "SH59": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 59, + "reward": "Hypermaterial Shifter", + "expectedGold": 71 + }, + "SH6": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 6, + "reward": "Sophisticated Material", + "expectedGold": 53 + }, + "SH60": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 60, + "reward": "Thaumachus", + "expectedGold": 77 + }, + "SH61": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 61, + "reward": "Nano Swarm", + "expectedGold": 77 + }, + "SH62": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 62, + "reward": "Beast Hide", + "expectedGold": 77 + }, + "SH63": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 63, + "reward": "Artificial Vertebrae", + "expectedGold": 77 + }, + "SH64": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 64, + "reward": "Mutation: Warped Lungs", + "expectedGold": 77 + }, + "SH65": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 65, + "reward": "Air Purificator", + "expectedGold": 77 + }, + "SH66": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 66, + "reward": "Rebreather", + "expectedGold": 77 + }, + "SH67": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 67, + "reward": "Warp Locus", + "expectedGold": 77 + }, + "SH68": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 68, + "reward": "Enriched Rations", + "expectedGold": 77 + }, + "SH69": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 69, + "reward": "Purity Seal", + "expectedGold": 77 + }, + "SH7": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 7, + "reward": "Mutation: Warped Muscles", + "expectedGold": 53 + }, + "SH70": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 70, + "reward": "Blessed Tasset Plate", + "expectedGold": 77 + }, + "SH71": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 71, + "reward": "Mutation: Warped Heart", + "expectedGold": 77 + }, + "SH72": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 72, + "reward": "Mutation: Scaly Skin", + "expectedGold": 77 + }, + "SH73": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 73, + "reward": "Golden Ornamental Skull", + "expectedGold": 77 + }, + "SH74": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 74, + "reward": "Advanced Rebreather", + "expectedGold": 77 + }, + "SH75": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 75, + "reward": "Ahriman", + "expectedGold": 83 + }, + "SH8": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 8, + "reward": "Ropes and Chains", + "expectedGold": 53 + }, + "SH9": { + "campaign": "Saim-Hann", + "campaignType": "Normal", + "nodeNumber": 9, + "reward": "Nasty Spikes", + "expectedGold": 53 + }, + "IM1": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 1, + "reward": "Rebreather", + "expectedGold": 53 + }, + "IM10": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 10, + "reward": "Blessed Tasset Plate", + "expectedGold": 53 + }, + "IM11": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 11, + "reward": "Artificial Vertebrae", + "expectedGold": 53 + }, + "IM12": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 12, + "reward": "Crate of Salvage", + "expectedGold": 53 + }, + "IM13": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 13, + "reward": "Classified Data-Slate", + "expectedGold": 53 + }, + "IM14": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 14, + "reward": "Kill Count", + "expectedGold": 53 + }, + "IM15": { + "campaign": "Indomitus Mirror", + "campaignType": "EarlyMirrorChars", + "nodeNumber": 15, + "reward": "Vindicta", + "expectedGold": 59 + }, + "IM16": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 16, + "reward": "Zeidos Ribbon", + "expectedGold": 59 + }, + "IM17": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 17, + "reward": "Mutation: Warped Heart", + "expectedGold": 59 + }, + "IM18": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 18, + "reward": "Artificer Tasset Plate", + "expectedGold": 59 + }, + "IM19": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 19, + "reward": "Bionic Eye", + "expectedGold": 59 + }, + "IM2": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 2, + "reward": "Weapon Parts", + "expectedGold": 53 + }, + "IM20": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 20, + "reward": "The Phoenix Ascendant", + "expectedGold": 59 + }, + "IM21": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 21, + "reward": "Nano Swarm", + "expectedGold": 59 + }, + "IM22": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 22, + "reward": "Viridian Energy Tesseract", + "expectedGold": 59 + }, + "IM23": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 23, + "reward": "Ancient Runes", + "expectedGold": 59 + }, + "IM24": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 24, + "reward": "Chip Damage", + "expectedGold": 59 + }, + "IM25": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 25, + "reward": "Greater Reliquary of Vengeance", + "expectedGold": 59 + }, + "IM26": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 26, + "reward": "Blessed Promethium Canister", + "expectedGold": 59 + }, + "IM27": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 27, + "reward": "Standard-Issue Tourniquet", + "expectedGold": 59 + }, + "IM28": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 28, + "reward": "Special Issue Ammo", + "expectedGold": 59 + }, + "IM29": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 29, + "reward": "Ropes and Chains", + "expectedGold": 59 + }, + "IM3": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 3, + "reward": "Mutation: Warped Muscles", + "expectedGold": 53 + }, + "IM30": { + "campaign": "Indomitus Mirror", + "campaignType": "EarlyMirrorChars", + "nodeNumber": 30, + "reward": "Bellator", + "expectedGold": 65 + }, + "IM31": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 31, + "reward": "Terminator Honours", + "expectedGold": 65 + }, + "IM32": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 32, + "reward": "Psytronome", + "expectedGold": 65 + }, + "IM33": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 33, + "reward": "Hymn of Martyrs", + "expectedGold": 65 + }, + "IM34": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 34, + "reward": "Motive Force Capacitator", + "expectedGold": 65 + }, + "IM35": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 35, + "reward": "Metal Decorative Skull", + "expectedGold": 65 + }, + "IM36": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 36, + "reward": "Krak Grenade", + "expectedGold": 65 + }, + "IM37": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 37, + "reward": "Slicing Claws", + "expectedGold": 65 + }, + "IM38": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 38, + "reward": "Stimm Injector", + "expectedGold": 65 + }, + "IM39": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 39, + "reward": "Sensor Suite", + "expectedGold": 65 + }, + "IM4": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 4, + "reward": "Wires", + "expectedGold": 53 + }, + "IM40": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 40, + "reward": "Mutation: Scaly Skin", + "expectedGold": 65 + }, + "IM41": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 41, + "reward": "Mutation: Warped Lungs", + "expectedGold": 65 + }, + "IM42": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 42, + "reward": "Mutation: Tough Skin", + "expectedGold": 65 + }, + "IM43": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 43, + "reward": "Reconstitution Protocols", + "expectedGold": 65 + }, + "IM44": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 44, + "reward": "Tank of Promethium", + "expectedGold": 65 + }, + "IM45": { + "campaign": "Indomitus Mirror", + "campaignType": "EarlyMirrorChars", + "nodeNumber": 45, + "reward": "Certus", + "expectedGold": 71 + }, + "IM46": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 46, + "reward": "Advanced Filaments", + "expectedGold": 71 + }, + "IM47": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 47, + "reward": "Adamantium Filaments", + "expectedGold": 71 + }, + "IM48": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 48, + "reward": "Reliquary of Protection", + "expectedGold": 71 + }, + "IM49": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 49, + "reward": "Sophisticated Material", + "expectedGold": 71 + }, + "IM5": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 5, + "reward": "Helmet Trophy", + "expectedGold": 53 + }, + "IM50": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 50, + "reward": "Otherworldly Energy", + "expectedGold": 71 + }, + "IM51": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 51, + "reward": "Single Power Pack", + "expectedGold": 71 + }, + "IM52": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 52, + "reward": "Barrel of Promethium", + "expectedGold": 71 + }, + "IM53": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 53, + "reward": "Healing Ointment", + "expectedGold": 71 + }, + "IM54": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 54, + "reward": "Weapon Anointment Oils", + "expectedGold": 71 + }, + "IM55": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 55, + "reward": "Lesser Reliquary of Vengeance", + "expectedGold": 71 + }, + "IM56": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 56, + "reward": "Can of Promethium", + "expectedGold": 71 + }, + "IM57": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 57, + "reward": "Minor Bionic Enhancement", + "expectedGold": 71 + }, + "IM58": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 58, + "reward": "Adamantium Ore", + "expectedGold": 71 + }, + "IM59": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 59, + "reward": "Auspex", + "expectedGold": 71 + }, + "IM6": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 6, + "reward": "Combat Stimms", + "expectedGold": 53 + }, + "IM60": { + "campaign": "Indomitus Mirror", + "campaignType": "EarlyMirrorChars", + "nodeNumber": 60, + "reward": "Varro Tigurius", + "expectedGold": 77 + }, + "IM61": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 61, + "reward": "Ballistics Data", + "expectedGold": 77 + }, + "IM62": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 62, + "reward": "Canister of Chemicals", + "expectedGold": 77 + }, + "IM63": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 63, + "reward": "Divinator Class Auspex", + "expectedGold": 77 + }, + "IM64": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 64, + "reward": "Fine Micro-Generator", + "expectedGold": 77 + }, + "IM65": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 65, + "reward": "Plasma Cell", + "expectedGold": 77 + }, + "IM66": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 66, + "reward": "The Silver Aquila", + "expectedGold": 77 + }, + "IM67": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 67, + "reward": "Reliquary of Vengeance", + "expectedGold": 77 + }, + "IM68": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 68, + "reward": "Oath Seal", + "expectedGold": 77 + }, + "IM69": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 69, + "reward": "Blessed Cogitator", + "expectedGold": 77 + }, + "IM7": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 7, + "reward": "Reinforced Cables", + "expectedGold": 53 + }, + "IM70": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 70, + "reward": "Codex Astartes Page", + "expectedGold": 77 + }, + "IM71": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 71, + "reward": "Engrammatic Entangler", + "expectedGold": 77 + }, + "IM72": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 72, + "reward": "Holy Chaplet", + "expectedGold": 77 + }, + "IM73": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 73, + "reward": "Rose of Martyrs", + "expectedGold": 77 + }, + "IM74": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 74, + "reward": "Hypermaterial Shifter", + "expectedGold": 77 + }, + "IM75": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 75, + "reward": "Marneus Calgar", + "expectedGold": 83 + }, + "IM8": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 8, + "reward": "Reinforced Scale-Plates", + "expectedGold": 53 + }, + "IM9": { + "campaign": "Indomitus Mirror", + "campaignType": "Mirror", + "nodeNumber": 9, + "reward": "Air Purificator", + "expectedGold": 53 + }, + "FoCM1": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 1, + "reward": "Round of Ammo", + "expectedGold": 53 + }, + "FoCM10": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 10, + "reward": "Ceramite Lump", + "expectedGold": 53 + }, + "FoCM11": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 11, + "reward": "Attack Vector Data-Slate", + "expectedGold": 53 + }, + "FoCM12": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 12, + "reward": "The Gold Phoenix", + "expectedGold": 53 + }, + "FoCM13": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 13, + "reward": "Scrolls", + "expectedGold": 53 + }, + "FoCM14": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 14, + "reward": "Enriched Rations", + "expectedGold": 53 + }, + "FoCM15": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 15, + "reward": "Angrax", + "expectedGold": 59 + }, + "FoCM16": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 16, + "reward": "Purity Seal", + "expectedGold": 59 + }, + "FoCM17": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 17, + "reward": "Frag Grenade", + "expectedGold": 59 + }, + "FoCM18": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 18, + "reward": "The Iron Phoenix", + "expectedGold": 59 + }, + "FoCM19": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 19, + "reward": "Basic Auxiliary Core", + "expectedGold": 59 + }, + "FoCM2": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 2, + "reward": "Field Ration", + "expectedGold": 53 + }, + "FoCM20": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 20, + "reward": "Targeting Link", + "expectedGold": 59 + }, + "FoCM21": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 21, + "reward": "Nasty Spikes", + "expectedGold": 59 + }, + "FoCM22": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 22, + "reward": "Rebreather", + "expectedGold": 59 + }, + "FoCM23": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 23, + "reward": "Weapon Parts", + "expectedGold": 59 + }, + "FoCM24": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 24, + "reward": "Mutation: Warped Muscles", + "expectedGold": 59 + }, + "FoCM25": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 25, + "reward": "Warp Locus", + "expectedGold": 59 + }, + "FoCM26": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 26, + "reward": "Blessed Promethium Canister", + "expectedGold": 59 + }, + "FoCM27": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 27, + "reward": "Golden Ornamental Skull", + "expectedGold": 59 + }, + "FoCM28": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 28, + "reward": "Relic Hilt", + "expectedGold": 59 + }, + "FoCM29": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 29, + "reward": "Bionic Neural Pathways", + "expectedGold": 59 + }, + "FoCM3": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 3, + "reward": "Locator Beacon", + "expectedGold": 53 + }, + "FoCM30": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 30, + "reward": "Archimatos", + "expectedGold": 65 + }, + "FoCM31": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 31, + "reward": "Terminator Honours", + "expectedGold": 65 + }, + "FoCM32": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 32, + "reward": "Bionic Eye", + "expectedGold": 65 + }, + "FoCM33": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 33, + "reward": "Waystone", + "expectedGold": 65 + }, + "FoCM34": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 34, + "reward": "Mission Objective", + "expectedGold": 65 + }, + "FoCM35": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 35, + "reward": "Mesh Weave", + "expectedGold": 65 + }, + "FoCM36": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 36, + "reward": "Special Issue Ammo", + "expectedGold": 65 + }, + "FoCM37": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 37, + "reward": "Cogwheel Crest", + "expectedGold": 65 + }, + "FoCM38": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 38, + "reward": "Valuable Fabric", + "expectedGold": 65 + }, + "FoCM39": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 39, + "reward": "Satchel", + "expectedGold": 65 + }, + "FoCM4": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 4, + "reward": "Slicing Claws", + "expectedGold": 53 + }, + "FoCM40": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 40, + "reward": "Crate of Salvage", + "expectedGold": 65 + }, + "FoCM41": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 41, + "reward": "Classified Data-Slate", + "expectedGold": 65 + }, + "FoCM42": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 42, + "reward": "Battle Scar", + "expectedGold": 65 + }, + "FoCM43": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 43, + "reward": "Zeidos Ribbon", + "expectedGold": 65 + }, + "FoCM44": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 44, + "reward": "Icon of Vengeance", + "expectedGold": 65 + }, + "FoCM45": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 45, + "reward": "Volk", + "expectedGold": 71 + }, + "FoCM46": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 46, + "reward": "Mutation: Warped Heart", + "expectedGold": 71 + }, + "FoCM47": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 47, + "reward": "Artificer Tasset Plate", + "expectedGold": 71 + }, + "FoCM48": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 48, + "reward": "Wraithbone Plate", + "expectedGold": 71 + }, + "FoCM49": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 49, + "reward": "The Phoenix Ascendant", + "expectedGold": 71 + }, + "FoCM5": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 5, + "reward": "Mutation: Scaly Skin", + "expectedGold": 53 + }, + "FoCM50": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 50, + "reward": "Drone Controller", + "expectedGold": 71 + }, + "FoCM51": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 51, + "reward": "Viridian Energy Tesseract", + "expectedGold": 71 + }, + "FoCM52": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 52, + "reward": "Ancient Runes", + "expectedGold": 71 + }, + "FoCM53": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 53, + "reward": "Unnatural Vapour Dispenser", + "expectedGold": 71 + }, + "FoCM54": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 54, + "reward": "Helmet Trophy", + "expectedGold": 71 + }, + "FoCM55": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 55, + "reward": "Eye of Horus", + "expectedGold": 71 + }, + "FoCM56": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 56, + "reward": "Combat Stimms", + "expectedGold": 71 + }, + "FoCM57": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 57, + "reward": "Reinforced Cables", + "expectedGold": 71 + }, + "FoCM58": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 58, + "reward": "Reinforced Scale-Plates", + "expectedGold": 71 + }, + "FoCM59": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 59, + "reward": "Entrenching Tool", + "expectedGold": 71 + }, + "FoCM6": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 6, + "reward": "Lesser Reliquary of Protection", + "expectedGold": 53 + }, + "FoCM60": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 60, + "reward": "Haarken Worldclaimer", + "expectedGold": 77 + }, + "FoCM61": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 61, + "reward": "Air Purificator", + "expectedGold": 77 + }, + "FoCM62": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 62, + "reward": "Engram Neurochip", + "expectedGold": 77 + }, + "FoCM63": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 63, + "reward": "Artificial Vertebrae", + "expectedGold": 77 + }, + "FoCM64": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 64, + "reward": "Sigil of Decay", + "expectedGold": 77 + }, + "FoCM65": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 65, + "reward": "Blasphemous Armor Trim", + "expectedGold": 77 + }, + "FoCM66": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 66, + "reward": "Honourifica Imperialis", + "expectedGold": 77 + }, + "FoCM67": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 67, + "reward": "Blessed Corset Armor", + "expectedGold": 77 + }, + "FoCM68": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 68, + "reward": "Mutation: Warped Lungs", + "expectedGold": 77 + }, + "FoCM69": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 69, + "reward": "Nasty Spikes", + "expectedGold": 77 + }, + "FoCM7": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 7, + "reward": "Fine Purity Seal", + "expectedGold": 53 + }, + "FoCM70": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 70, + "reward": "Flak Plates", + "expectedGold": 77 + }, + "FoCM71": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 71, + "reward": "Blessing of the Dark Gods", + "expectedGold": 77 + }, + "FoCM72": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 72, + "reward": "Blessing of Nurgle", + "expectedGold": 77 + }, + "FoCM73": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 73, + "reward": "Weathering", + "expectedGold": 77 + }, + "FoCM74": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 74, + "reward": "Greater Reliquary of Vengeance", + "expectedGold": 77 + }, + "FoCM75": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 75, + "reward": "Abaddon The Despoiler", + "expectedGold": 83 + }, + "FoCM8": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 8, + "reward": "Box of Salvage", + "expectedGold": 53 + }, + "FoCM9": { + "campaign": "Fall of Cadia Mirror", + "campaignType": "Mirror", + "nodeNumber": 9, + "reward": "Pile of Salvage", + "expectedGold": 53 + }, + "OM1": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 1, + "reward": "Purity Seal", + "expectedGold": 53 + }, + "OM10": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 10, + "reward": "Weapon Anointment Oils", + "expectedGold": 53 + }, + "OM11": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 11, + "reward": "Minor Bionic Enhancement", + "expectedGold": 53 + }, + "OM12": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 12, + "reward": "Mission Assignment", + "expectedGold": 53 + }, + "OM13": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 13, + "reward": "Ropes and Chains", + "expectedGold": 53 + }, + "OM14": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 14, + "reward": "Basic Auxiliary Core", + "expectedGold": 53 + }, + "OM15": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 15, + "reward": "Snappawrecka", + "expectedGold": 59 + }, + "OM16": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 16, + "reward": "Chip Damage", + "expectedGold": 59 + }, + "OM17": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 17, + "reward": "Field Ration", + "expectedGold": 59 + }, + "OM18": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 18, + "reward": "Pile of Salvage", + "expectedGold": 59 + }, + "OM19": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 19, + "reward": "Auspex", + "expectedGold": 59 + }, + "OM2": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 2, + "reward": "Canister of Chemicals", + "expectedGold": 53 + }, + "OM20": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 20, + "reward": "Lesser Reliquary of Protection", + "expectedGold": 59 + }, + "OM21": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 21, + "reward": "Vox-Caster", + "expectedGold": 59 + }, + "OM22": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 22, + "reward": "Armor Trim", + "expectedGold": 59 + }, + "OM23": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 23, + "reward": "Mesh Weave", + "expectedGold": 59 + }, + "OM24": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 24, + "reward": "Blessed Tasset Plate", + "expectedGold": 59 + }, + "OM25": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 25, + "reward": "Reinforced Scale-Plates", + "expectedGold": 59 + }, + "OM26": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 26, + "reward": "Round of Ammo", + "expectedGold": 59 + }, + "OM27": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 27, + "reward": "Adamantium Ore", + "expectedGold": 59 + }, + "OM28": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 28, + "reward": "Barrel of Promethium", + "expectedGold": 59 + }, + "OM29": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 29, + "reward": "Fine Micro-Generator", + "expectedGold": 59 + }, + "OM3": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 3, + "reward": "Weapon Parts", + "expectedGold": 53 + }, + "OM30": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 30, + "reward": "Gibbascrapz", + "expectedGold": 65 + }, + "OM31": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 31, + "reward": "Fine Purity Seal", + "expectedGold": 65 + }, + "OM32": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 32, + "reward": "Can of Promethium", + "expectedGold": 65 + }, + "OM33": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 33, + "reward": "Writings", + "expectedGold": 65 + }, + "OM34": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 34, + "reward": "Cloak", + "expectedGold": 65 + }, + "OM35": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 35, + "reward": "Metal Joints", + "expectedGold": 65 + }, + "OM36": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 36, + "reward": "Plasma Cell", + "expectedGold": 65 + }, + "OM37": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 37, + "reward": "The Phoenix Ascendant", + "expectedGold": 65 + }, + "OM38": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 38, + "reward": "Kill Count", + "expectedGold": 65 + }, + "OM39": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 39, + "reward": "Ceramite Lump", + "expectedGold": 65 + }, + "OM4": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 4, + "reward": "Frag Grenade", + "expectedGold": 53 + }, + "OM40": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 40, + "reward": "Oath Seal", + "expectedGold": 65 + }, + "OM41": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 41, + "reward": "Bladesman's Honour", + "expectedGold": 65 + }, + "OM42": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 42, + "reward": "Satchel", + "expectedGold": 65 + }, + "OM43": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 43, + "reward": "Locator Beacon", + "expectedGold": 65 + }, + "OM44": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 44, + "reward": "Reliquary of Protection", + "expectedGold": 65 + }, + "OM45": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 45, + "reward": "Snotflogga", + "expectedGold": 71 + }, + "OM46": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 46, + "reward": "Ballistics Data", + "expectedGold": 71 + }, + "OM47": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 47, + "reward": "Mission Objective", + "expectedGold": 71 + }, + "OM48": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 48, + "reward": "Tank of Promethium", + "expectedGold": 71 + }, + "OM49": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 49, + "reward": "Artificer Tasset Plate", + "expectedGold": 71 + }, + "OM5": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 5, + "reward": "Standard-Issue Tourniquet", + "expectedGold": 53 + }, + "OM50": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 50, + "reward": "Classified Data-Slate", + "expectedGold": 71 + }, + "OM51": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 51, + "reward": "The Gold Phoenix", + "expectedGold": 71 + }, + "OM52": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 52, + "reward": "Metal Decorative Skull", + "expectedGold": 71 + }, + "OM53": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 53, + "reward": "Iron Jaw", + "expectedGold": 71 + }, + "OM54": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 54, + "reward": "Wolf Tail Talisman", + "expectedGold": 71 + }, + "OM55": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 55, + "reward": "Krak Grenade", + "expectedGold": 71 + }, + "OM56": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 56, + "reward": "Reinforced Chitin", + "expectedGold": 71 + }, + "OM57": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 57, + "reward": "Battle Scar", + "expectedGold": 71 + }, + "OM58": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 58, + "reward": "Advanced Filaments", + "expectedGold": 71 + }, + "OM59": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 59, + "reward": "Chain of Zeal", + "expectedGold": 71 + }, + "OM6": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 6, + "reward": "Healing Ointment", + "expectedGold": 53 + }, + "OM60": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 60, + "reward": "Tanksmasha", + "expectedGold": 77 + }, + "OM61": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 61, + "reward": "Bad Moon Teef", + "expectedGold": 77 + }, + "OM62": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 62, + "reward": "Enriched Rations", + "expectedGold": 77 + }, + "OM63": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 63, + "reward": "Righteous Candle", + "expectedGold": 77 + }, + "OM64": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 64, + "reward": "Wolf Tooth Necklace", + "expectedGold": 77 + }, + "OM65": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 65, + "reward": "Targeting Link", + "expectedGold": 77 + }, + "OM66": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 66, + "reward": "Blessed Tabbard", + "expectedGold": 77 + }, + "OM67": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 67, + "reward": "Plague Bell", + "expectedGold": 77 + }, + "OM68": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 68, + "reward": "Synaptic Augmentation", + "expectedGold": 77 + }, + "OM69": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 69, + "reward": "Ard Plate", + "expectedGold": 77 + }, + "OM7": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 7, + "reward": "Rebreather", + "expectedGold": 53 + }, + "OM70": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 70, + "reward": "Bones of the Paragons", + "expectedGold": 77 + }, + "OM71": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 71, + "reward": "Mjod", + "expectedGold": 77 + }, + "OM72": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 72, + "reward": "Kustom Gubbinz", + "expectedGold": 77 + }, + "OM73": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 73, + "reward": "Duplicate Organ", + "expectedGold": 77 + }, + "OM74": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 74, + "reward": "Runes of Fate", + "expectedGold": 77 + }, + "OM75": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 75, + "reward": "Boss Gulgortz", + "expectedGold": 83 + }, + "OM8": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 8, + "reward": "Wires", + "expectedGold": 53 + }, + "OM9": { + "campaign": "Octarius Mirror", + "campaignType": "Mirror", + "nodeNumber": 9, + "reward": "Single Power Pack", + "expectedGold": 53 + }, + "IE1": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 1, + "reward": "Adamantium Ore", + "expectedGold": 83 + }, + "IE10": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 10, + "reward": "Fine Purity Seal", + "expectedGold": 91.5 + }, + "IE11": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 11, + "reward": "Round of Ammo", + "expectedGold": 91.5 + }, + "IE12": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 12, + "reward": "Writings", + "expectedGold": 91.5 + }, + "IE13": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 13, + "reward": "Oath Seal", + "expectedGold": 91.5 + }, + "IE14": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 14, + "reward": "Reliquary of Vengeance", + "expectedGold": 91.5 + }, + "IE15": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 15, + "reward": "Repair-Kit", + "expectedGold": 91.5 + }, + "IE16": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 16, + "reward": "Imospekh", + "expectedGold": 91.5 + }, + "IE17": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 17, + "reward": "Hymn of Martyrs", + "expectedGold": 101 + }, + "IE18": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 18, + "reward": "Sensor Suite", + "expectedGold": 101 + }, + "IE19": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 19, + "reward": "Rose of Martyrs", + "expectedGold": 101 + }, + "IE2": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 2, + "reward": "Minor Bionic Enhancement", + "expectedGold": 83 + }, + "IE20": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 20, + "reward": "Stimm Injector", + "expectedGold": 101 + }, + "IE21": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 21, + "reward": "Blessed Corset Armor", + "expectedGold": 101 + }, + "IE22": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 22, + "reward": "Drone Controller", + "expectedGold": 101 + }, + "IE23": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 23, + "reward": "Codex Astartes Page", + "expectedGold": 101 + }, + "IE24": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 24, + "reward": "Aleph-Null", + "expectedGold": 101 + }, + "IE25": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 25, + "reward": "Classified Data-Slate", + "expectedGold": 108 + }, + "IE26": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 26, + "reward": "Viridian Energy Tesseract", + "expectedGold": 108 + }, + "IE27": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 27, + "reward": "Greater Reliquary of Vengeance", + "expectedGold": 108 + }, + "IE28": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 28, + "reward": "Engrammatic Entangler", + "expectedGold": 108 + }, + "IE29": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 29, + "reward": "Holy Chaplet", + "expectedGold": 108 + }, + "IE3": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 3, + "reward": "Purity Seal", + "expectedGold": 83 + }, + "IE30": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 30, + "reward": "Engram Neurochip", + "expectedGold": 108 + }, + "IE31": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 31, + "reward": "Terminator Honours", + "expectedGold": 108 + }, + "IE32": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 32, + "reward": "Thutmose", + "expectedGold": 108 + }, + "IE33": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 33, + "reward": "Sophisticated Material", + "expectedGold": 108 + }, + "IE34": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 34, + "reward": "Blessed Tasset Plate", + "expectedGold": 108 + }, + "IE35": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 35, + "reward": "Ceramite Lump", + "expectedGold": 108 + }, + "IE36": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 36, + "reward": "Krak Grenade", + "expectedGold": 108 + }, + "IE37": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 37, + "reward": "Special Issue Ammo", + "expectedGold": 108 + }, + "IE38": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 38, + "reward": "Codex Astartes Page", + "expectedGold": 108 + }, + "IE39": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 39, + "reward": "Blessed Cogitator", + "expectedGold": 108 + }, + "IE4": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 4, + "reward": "Enriched Rations", + "expectedGold": 83 + }, + "IE40": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 40, + "reward": "Anuphet", + "expectedGold": 108 + }, + "IE5": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 5, + "reward": "Basic Auxiliary Core", + "expectedGold": 83 + }, + "IE6": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 6, + "reward": "The Gold Phoenix", + "expectedGold": 83 + }, + "IE7": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 7, + "reward": "The Phoenix Ascendant", + "expectedGold": 83 + }, + "IE8": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 8, + "reward": "Makhotep", + "expectedGold": 83 + }, + "IE9": { + "campaign": "Indomitus Elite", + "campaignType": "Elite", + "nodeNumber": 9, + "reward": "Weapon Anointment Oils", + "expectedGold": 91.5 + }, + "FoCE1": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 1, + "reward": "Armor Trim", + "expectedGold": 83 + }, + "FoCE10": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 10, + "reward": "Mutation: Warped Muscles", + "expectedGold": 91.5 + }, + "FoCE11": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 11, + "reward": "Canister of Chemicals", + "expectedGold": 91.5 + }, + "FoCE12": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 12, + "reward": "Helmet Trophy", + "expectedGold": 91.5 + }, + "FoCE13": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 13, + "reward": "Mutation: Scaly Skin", + "expectedGold": 91.5 + }, + "FoCE14": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 14, + "reward": "Fine Micro-Generator", + "expectedGold": 91.5 + }, + "FoCE15": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 15, + "reward": "Kill Count", + "expectedGold": 91.5 + }, + "FoCE16": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 16, + "reward": "Sibyll Devine", + "expectedGold": 91.5 + }, + "FoCE17": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 17, + "reward": "Icon of Vengeance", + "expectedGold": 101 + }, + "FoCE18": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 18, + "reward": "Sigil of Decay", + "expectedGold": 101 + }, + "FoCE19": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 19, + "reward": "Eye of Horus", + "expectedGold": 101 + }, + "FoCE2": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 2, + "reward": "Scrolls", + "expectedGold": 83 + }, + "FoCE20": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 20, + "reward": "Plague Bell", + "expectedGold": 101 + }, + "FoCE21": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 21, + "reward": "Blasphemous Armor Trim", + "expectedGold": 101 + }, + "FoCE22": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 22, + "reward": "Unnatural Vapour Dispenser", + "expectedGold": 101 + }, + "FoCE23": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 23, + "reward": "Blessing of the Dark Gods", + "expectedGold": 101 + }, + "FoCE24": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 24, + "reward": "Thaddeus Noble", + "expectedGold": 101 + }, + "FoCE25": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 25, + "reward": "Entrenching Tool", + "expectedGold": 108 + }, + "FoCE26": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 26, + "reward": "Zeidos Ribbon", + "expectedGold": 108 + }, + "FoCE27": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 27, + "reward": "Flak Plates", + "expectedGold": 108 + }, + "FoCE28": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 28, + "reward": "Honourifica Imperialis", + "expectedGold": 108 + }, + "FoCE29": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 29, + "reward": "Blessing of Nurgle", + "expectedGold": 108 + }, + "FoCE3": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 3, + "reward": "Mutation: Tough Skin", + "expectedGold": 83 + }, + "FoCE30": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 30, + "reward": "Metal Decorative Skull", + "expectedGold": 108 + }, + "FoCE31": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 31, + "reward": "Warp Locus", + "expectedGold": 108 + }, + "FoCE32": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 32, + "reward": "Celestine", + "expectedGold": 108 + }, + "FoCE33": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 33, + "reward": "Mission Assignment", + "expectedGold": 108 + }, + "FoCE34": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 34, + "reward": "Locator Beacon", + "expectedGold": 108 + }, + "FoCE35": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 35, + "reward": "Artificial Vertebrae", + "expectedGold": 108 + }, + "FoCE36": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 36, + "reward": "Artificer Tasset Plate", + "expectedGold": 108 + }, + "FoCE37": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 37, + "reward": "Golden Ornamental Skull", + "expectedGold": 108 + }, + "FoCE38": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 38, + "reward": "Blessing of the Dark Gods", + "expectedGold": 108 + }, + "FoCE39": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 39, + "reward": "Blessing of Nurgle", + "expectedGold": 108 + }, + "FoCE4": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 4, + "reward": "Cloak", + "expectedGold": 83 + }, + "FoCE40": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 40, + "reward": "Castellan Creed", + "expectedGold": 108 + }, + "FoCE5": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 5, + "reward": "Single Power Pack", + "expectedGold": 83 + }, + "FoCE6": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 6, + "reward": "Mutation: Warped Lungs", + "expectedGold": 83 + }, + "FoCE7": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 7, + "reward": "Mutation: Warped Heart", + "expectedGold": 83 + }, + "FoCE8": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 8, + "reward": "Kut Skoden", + "expectedGold": 83 + }, + "FoCE9": { + "campaign": "Fall of Cadia Elite", + "campaignType": "Elite", + "nodeNumber": 9, + "reward": "Nasty Spikes", + "expectedGold": 91.5 + }, + "OE1": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 1, + "reward": "Pile of Salvage", + "expectedGold": 83 + }, + "OE10": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 10, + "reward": "Standard-Issue Tourniquet", + "expectedGold": 91.5 + }, + "OE11": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 11, + "reward": "Adamantium Filaments", + "expectedGold": 91.5 + }, + "OE12": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 12, + "reward": "Reinforced Cables", + "expectedGold": 91.5 + }, + "OE13": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 13, + "reward": "Reinforced Scale-Plates", + "expectedGold": 91.5 + }, + "OE14": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 14, + "reward": "Plasma Cell", + "expectedGold": 91.5 + }, + "OE15": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 15, + "reward": "Crate of Salvage", + "expectedGold": 91.5 + }, + "OE16": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 16, + "reward": "Sword Brother Godswyl", + "expectedGold": 91.5 + }, + "OE17": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 17, + "reward": "Iron Jaw", + "expectedGold": 101 + }, + "OE18": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 18, + "reward": "Wolf Tooth Necklace", + "expectedGold": 101 + }, + "OE19": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 19, + "reward": "Bad Moon Teef", + "expectedGold": 101 + }, + "OE2": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 2, + "reward": "Chip Damage", + "expectedGold": 83 + }, + "OE20": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 20, + "reward": "Wolf Tail Talisman", + "expectedGold": 101 + }, + "OE21": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 21, + "reward": "Ard Plate", + "expectedGold": 101 + }, + "OE22": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 22, + "reward": "Beast Hide", + "expectedGold": 101 + }, + "OE23": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 23, + "reward": "Kustom Gubbinz", + "expectedGold": 101 + }, + "OE24": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 24, + "reward": "Ancient Thoread", + "expectedGold": 101 + }, + "OE25": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 25, + "reward": "Chain of Zeal", + "expectedGold": 108 + }, + "OE26": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 26, + "reward": "Righteous Candle", + "expectedGold": 108 + }, + "OE27": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 27, + "reward": "Blessed Tabbard", + "expectedGold": 108 + }, + "OE28": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 28, + "reward": "Bones of the Paragons", + "expectedGold": 108 + }, + "OE29": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 29, + "reward": "Runes of Fate", + "expectedGold": 108 + }, + "OE3": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 3, + "reward": "Ballistics Data", + "expectedGold": 83 + }, + "OE30": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 30, + "reward": "Battle Scar", + "expectedGold": 108 + }, + "OE31": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 31, + "reward": "Relic Hilt", + "expectedGold": 108 + }, + "OE32": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 32, + "reward": "Brother Jaeger", + "expectedGold": 108 + }, + "OE33": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 33, + "reward": "Weapon Parts", + "expectedGold": 108 + }, + "OE34": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 34, + "reward": "Enriched Rations", + "expectedGold": 108 + }, + "OE35": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 35, + "reward": "Unyielding Rivets", + "expectedGold": 108 + }, + "OE36": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 36, + "reward": "Bionic Eye", + "expectedGold": 108 + }, + "OE37": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 37, + "reward": "Bionic Neural Pathways", + "expectedGold": 108 + }, + "OE38": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 38, + "reward": "Kustom Gubbinz", + "expectedGold": 108 + }, + "OE39": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 39, + "reward": "Mjod", + "expectedGold": 108 + }, + "OE4": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 4, + "reward": "Box of Salvage", + "expectedGold": 83 + }, + "OE40": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 40, + "reward": "High Marshal Helbrecht", + "expectedGold": 108 + }, + "OE5": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 5, + "reward": "Thick Skin", + "expectedGold": 83 + }, + "OE6": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 6, + "reward": "Advanced Filaments", + "expectedGold": 83 + }, + "OE7": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 7, + "reward": "Ancient Runes", + "expectedGold": 83 + }, + "OE8": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 8, + "reward": "Brother Burchard", + "expectedGold": 83 + }, + "OE9": { + "campaign": "Octarius Elite", + "campaignType": "Elite", + "nodeNumber": 9, + "reward": "Targeting Link", + "expectedGold": 91.5 + }, + "IME1": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 1, + "reward": "Sophisticated Material", + "expectedGold": 83 + }, + "IME10": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 10, + "reward": "Tainted Text", + "expectedGold": 91.5 + }, + "IME11": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 11, + "reward": "Inferno Bolts", + "expectedGold": 91.5 + }, + "IME12": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 12, + "reward": "Ritual Implements", + "expectedGold": 91.5 + }, + "IME13": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 13, + "reward": "Secret Agenda", + "expectedGold": 91.5 + }, + "IME14": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 14, + "reward": "Blessing of Tzeentch", + "expectedGold": 91.5 + }, + "IME15": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 15, + "reward": "Master-Crafted Ammo", + "expectedGold": 91.5 + }, + "IME16": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 16, + "reward": "Bellator", + "expectedGold": 91.5 + }, + "IME17": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 17, + "reward": "Minor Bionic Enhancement", + "expectedGold": 101 + }, + "IME18": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 18, + "reward": "Waystone", + "expectedGold": 101 + }, + "IME19": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 19, + "reward": "Psytronome", + "expectedGold": 101 + }, + "IME2": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 2, + "reward": "Reconstitution Protocols", + "expectedGold": 83 + }, + "IME20": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 20, + "reward": "Wraithbone Plate", + "expectedGold": 101 + }, + "IME21": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 21, + "reward": "Warp Locus", + "expectedGold": 101 + }, + "IME22": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 22, + "reward": "Runes of Fate", + "expectedGold": 101 + }, + "IME23": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 23, + "reward": "Codex Astartes Page", + "expectedGold": 101 + }, + "IME24": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 24, + "reward": "Certus", + "expectedGold": 101 + }, + "IME25": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 25, + "reward": "Reinforced Scale-Plates", + "expectedGold": 108 + }, + "IME26": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 26, + "reward": "Basic Auxiliary Core", + "expectedGold": 108 + }, + "IME27": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 27, + "reward": "Nasty Spikes", + "expectedGold": 108 + }, + "IME28": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 28, + "reward": "Targeting Link", + "expectedGold": 108 + }, + "IME29": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 29, + "reward": "Key of Ignorance", + "expectedGold": 108 + }, + "IME3": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 3, + "reward": "Viridian Energy Tesseract", + "expectedGold": 83 + }, + "IME30": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 30, + "reward": "Stone Guardian Fragment", + "expectedGold": 108 + }, + "IME31": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 31, + "reward": "Engram Neurochip", + "expectedGold": 108 + }, + "IME32": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 32, + "reward": "Varro Tigurius", + "expectedGold": 108 + }, + "IME33": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 33, + "reward": "Chapter Pendant", + "expectedGold": 108 + }, + "IME34": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 34, + "reward": "Dark Hood", + "expectedGold": 108 + }, + "IME35": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 35, + "reward": "Stimm Injector", + "expectedGold": 108 + }, + "IME36": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 36, + "reward": "Sensor Suite", + "expectedGold": 108 + }, + "IME37": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 37, + "reward": "Drone Controller", + "expectedGold": 108 + }, + "IME38": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 38, + "reward": "Archeo-Tech Remnant", + "expectedGold": 108 + }, + "IME39": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 39, + "reward": "Master-Crafted Ammo", + "expectedGold": 108 + }, + "IME4": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 4, + "reward": "Nano Swarm", + "expectedGold": 83 + }, + "IME40": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 40, + "reward": "Marneus Calgar", + "expectedGold": 108 + }, + "IME5": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 5, + "reward": "Hypermaterial Shifter", + "expectedGold": 83 + }, + "IME6": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 6, + "reward": "Engrammatic Entangler", + "expectedGold": 83 + }, + "IME7": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 7, + "reward": "Psychic Force Conduit", + "expectedGold": 83 + }, + "IME8": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 8, + "reward": "Vindicta", + "expectedGold": 83 + }, + "IME9": { + "campaign": "Indomitus Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 9, + "reward": "Weapon Anointment Oils", + "expectedGold": 91.5 + }, + "FoCME1": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 1, + "reward": "Pile of Salvage", + "expectedGold": 83 + }, + "FoCME10": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 10, + "reward": "Rose of Martyrs", + "expectedGold": 91.5 + }, + "FoCME11": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 11, + "reward": "Key of Ignorance", + "expectedGold": 91.5 + }, + "FoCME12": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 12, + "reward": "Standard-Issue Tourniquet", + "expectedGold": 91.5 + }, + "FoCME13": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 13, + "reward": "Plague Bell", + "expectedGold": 91.5 + }, + "FoCME14": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 14, + "reward": "Golden Ornamental Skull", + "expectedGold": 91.5 + }, + "FoCME15": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 15, + "reward": "Relic Hilt", + "expectedGold": 91.5 + }, + "FoCME16": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 16, + "reward": "Archimatos", + "expectedGold": 91.5 + }, + "FoCME17": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 17, + "reward": "Hymn of Martyrs", + "expectedGold": 101 + }, + "FoCME18": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 18, + "reward": "Chapter Pendant", + "expectedGold": 101 + }, + "FoCME19": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 19, + "reward": "Ballistics Data", + "expectedGold": 101 + }, + "FoCME2": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 2, + "reward": "Zeidos Ribbon", + "expectedGold": 83 + }, + "FoCME20": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 20, + "reward": "Sigil of Decay", + "expectedGold": 101 + }, + "FoCME21": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 21, + "reward": "The Iron Phoenix", + "expectedGold": 101 + }, + "FoCME22": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 22, + "reward": "Blessed Corset Armor", + "expectedGold": 101 + }, + "FoCME23": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 23, + "reward": "Dark Hood", + "expectedGold": 101 + }, + "FoCME24": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 24, + "reward": "Volk", + "expectedGold": 101 + }, + "FoCME25": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 25, + "reward": "Satchel", + "expectedGold": 108 + }, + "FoCME26": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 26, + "reward": "Unnatural Vapour Dispenser", + "expectedGold": 108 + }, + "FoCME27": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 27, + "reward": "Single Power Pack", + "expectedGold": 108 + }, + "FoCME28": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 28, + "reward": "Holy Chaplet", + "expectedGold": 108 + }, + "FoCME29": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 29, + "reward": "Stone Guardian Fragment", + "expectedGold": 108 + }, + "FoCME3": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 3, + "reward": "Entrenching Tool", + "expectedGold": 83 + }, + "FoCME30": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 30, + "reward": "The Silver Scope", + "expectedGold": 108 + }, + "FoCME31": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 31, + "reward": "Blessing of Nurgle", + "expectedGold": 108 + }, + "FoCME32": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 32, + "reward": "Haarken Worldclaimer", + "expectedGold": 108 + }, + "FoCME33": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 33, + "reward": "Minor Bionic Enhancement", + "expectedGold": 108 + }, + "FoCME34": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 34, + "reward": "Eye of Horus", + "expectedGold": 108 + }, + "FoCME35": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 35, + "reward": "Icon of Vengeance", + "expectedGold": 108 + }, + "FoCME36": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 36, + "reward": "Blasphemous Armor Trim", + "expectedGold": 108 + }, + "FoCME37": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 37, + "reward": "Blessing of the Dark Gods", + "expectedGold": 108 + }, + "FoCME38": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 38, + "reward": "Psyk-Conductive Material", + "expectedGold": 108 + }, + "FoCME39": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 39, + "reward": "Relic Hilt", + "expectedGold": 108 + }, + "FoCME4": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 4, + "reward": "Flak Plates", + "expectedGold": 83 + }, + "FoCME40": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 40, + "reward": "Abaddon The Despoiler", + "expectedGold": 108 + }, + "FoCME5": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 5, + "reward": "Blessed Promethium Canister", + "expectedGold": 83 + }, + "FoCME6": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 6, + "reward": "Honourifica Imperialis", + "expectedGold": 83 + }, + "FoCME7": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 7, + "reward": "Psyk-Conductive Material", + "expectedGold": 83 + }, + "FoCME8": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 8, + "reward": "Angrax", + "expectedGold": 83 + }, + "FoCME9": { + "campaign": "Fall of Cadia Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 9, + "reward": "Weapon Parts", + "expectedGold": 91.5 + }, + "OME1": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 1, + "reward": "Fine Purity Seal", + "expectedGold": 83 + }, + "OME10": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 10, + "reward": "Adrenal Glands", + "expectedGold": 91.5 + }, + "OME11": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 11, + "reward": "Wolf Tail Talisman", + "expectedGold": 91.5 + }, + "OME12": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 12, + "reward": "Key of Ignorance", + "expectedGold": 91.5 + }, + "OME13": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 13, + "reward": "The Iron Phoenix", + "expectedGold": 91.5 + }, + "OME14": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 14, + "reward": "Terminator Honours", + "expectedGold": 91.5 + }, + "OME15": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 15, + "reward": "Archeotech Bionics", + "expectedGold": 91.5 + }, + "OME16": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 16, + "reward": "Gibbascrapz", + "expectedGold": 91.5 + }, + "OME17": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 17, + "reward": "Toxin Sacs", + "expectedGold": 101 + }, + "OME18": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 18, + "reward": "Wolf Tooth Necklace", + "expectedGold": 101 + }, + "OME19": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 19, + "reward": "Chapter Pendant", + "expectedGold": 101 + }, + "OME2": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 2, + "reward": "Righteous Candle", + "expectedGold": 83 + }, + "OME20": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 20, + "reward": "Canister of Chemicals", + "expectedGold": 101 + }, + "OME21": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 21, + "reward": "Lesser Reliquary of Protection", + "expectedGold": 101 + }, + "OME22": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 22, + "reward": "Reinforced Chitin", + "expectedGold": 101 + }, + "OME23": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 23, + "reward": "Beast Hide", + "expectedGold": 101 + }, + "OME24": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 24, + "reward": "Snotflogga", + "expectedGold": 101 + }, + "OME25": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 25, + "reward": "Dark Hood", + "expectedGold": 108 + }, + "OME26": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 26, + "reward": "Nano Swarm", + "expectedGold": 108 + }, + "OME27": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 27, + "reward": "Canister of Chemicals", + "expectedGold": 108 + }, + "OME28": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 28, + "reward": "Synaptic Augmentation", + "expectedGold": 108 + }, + "OME29": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 29, + "reward": "Mjod", + "expectedGold": 108 + }, + "OME3": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 3, + "reward": "Chain of Zeal", + "expectedGold": 83 + }, + "OME30": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 30, + "reward": "Stone Guardian Fragment", + "expectedGold": 108 + }, + "OME31": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 31, + "reward": "Round of Ammo", + "expectedGold": 108 + }, + "OME32": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 32, + "reward": "Tanksmasha", + "expectedGold": 108 + }, + "OME33": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 33, + "reward": "Chip Damage", + "expectedGold": 108 + }, + "OME34": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 34, + "reward": "Bad Moon Teef", + "expectedGold": 108 + }, + "OME35": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 35, + "reward": "Iron Jaw", + "expectedGold": 108 + }, + "OME36": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 36, + "reward": "Ard Plate", + "expectedGold": 108 + }, + "OME37": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 37, + "reward": "Kustom Gubbinz", + "expectedGold": 108 + }, + "OME38": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 38, + "reward": "Purity Seal of the Primarch", + "expectedGold": 108 + }, + "OME39": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 39, + "reward": "Archeotech Bionics", + "expectedGold": 108 + }, + "OME4": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 4, + "reward": "Blessed Tabbard", + "expectedGold": 83 + }, + "OME40": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 40, + "reward": "Boss Gulgortz", + "expectedGold": 108 + }, + "OME5": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 5, + "reward": "Special Issue Ammo", + "expectedGold": 83 + }, + "OME6": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 6, + "reward": "Bones of the Paragons", + "expectedGold": 83 + }, + "OME7": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 7, + "reward": "Purity Seal of the Primarch", + "expectedGold": 83 + }, + "OME8": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 8, + "reward": "Snappawrecka", + "expectedGold": 83 + }, + "OME9": { + "campaign": "Octarius Mirror Elite", + "campaignType": "Elite", + "nodeNumber": 9, + "reward": "Weapon Anointment Oils", + "expectedGold": 91.5 + } } diff --git a/src/assets/campaignConfigs.json b/src/assets/campaignConfigs.json index e55e0a97..543bdb0d 100644 --- a/src/assets/campaignConfigs.json +++ b/src/assets/campaignConfigs.json @@ -1,80 +1,80 @@ { - "Early": { - "type": "Early", - "energyCost": 5, - "dailyBattleCount": 10, - "dropRate": { - "common": 0.75, - "uncommon": 0.60, - "rare": 0.33, - "epic": 0.25, - "legendary": 0.12, - "shard": 0.33 + "Early": { + "type": "Early", + "energyCost": 5, + "dailyBattleCount": 10, + "dropRate": { + "common": 0.75, + "uncommon": 0.6, + "rare": 0.33, + "epic": 0.25, + "legendary": 0.12, + "shard": 0.33 + } + }, + "EarlyChars": { + "type": "EarlyChars", + "energyCost": 5, + "dailyBattleCount": 7, + "dropRate": { + "common": 0.75, + "uncommon": 0.6, + "rare": 0.33, + "epic": 0.25, + "legendary": 0.12, + "shard": 0.33 + } + }, + "EarlyMirrorChars": { + "type": "EarlyMirrorChars", + "energyCost": 6, + "dailyBattleCount": 3, + "dropRate": { + "common": 0.83, + "uncommon": 0.71, + "rare": 0.4, + "epic": 0.33, + "legendary": 0.17, + "shard": 0.33 + } + }, + "Normal": { + "type": "Normal", + "energyCost": 6, + "dailyBattleCount": 10, + "dropRate": { + "common": 0.75, + "uncommon": 0.6, + "rare": 0.33, + "epic": 0.25, + "legendary": 0.12, + "shard": 0.33 + } + }, + "Mirror": { + "type": "Mirror", + "energyCost": 6, + "dailyBattleCount": 10, + "dropRate": { + "common": 0.83, + "uncommon": 0.71, + "rare": 0.4, + "epic": 0.33, + "legendary": 0.17, + "shard": 0.33 + } + }, + "Elite": { + "type": "Elite", + "energyCost": 10, + "dailyBattleCount": 3, + "dropRate": { + "common": 1.5, + "uncommon": 1.25, + "rare": 1.11, + "epic": 0.67, + "legendary": 0.4, + "shard": 1.04 + } } - }, - "EarlyChars": { - "type": "EarlyChars", - "energyCost": 5, - "dailyBattleCount": 7, - "dropRate": { - "common": 0.75, - "uncommon": 0.60, - "rare": 0.33, - "epic": 0.25, - "legendary": 0.12, - "shard": 0.33 - } - }, - "EarlyMirrorChars": { - "type": "EarlyMirrorChars", - "energyCost": 6, - "dailyBattleCount": 3, - "dropRate": { - "common": 0.83, - "uncommon": 0.71, - "rare": 0.40, - "epic": 0.33, - "legendary": 0.17, - "shard": 0.33 - } - }, - "Normal": { - "type": "Normal", - "energyCost": 6, - "dailyBattleCount": 10, - "dropRate": { - "common": 0.75, - "uncommon": 0.60, - "rare": 0.33, - "epic": 0.25, - "legendary": 0.12, - "shard": 0.33 - } - }, - "Mirror": { - "type": "Mirror", - "energyCost": 6, - "dailyBattleCount": 10, - "dropRate": { - "common": 0.83, - "uncommon": 0.71, - "rare": 0.40, - "epic": 0.33, - "legendary": 0.17, - "shard": 0.33 - } - }, - "Elite": { - "type": "Elite", - "energyCost": 10, - "dailyBattleCount": 3, - "dropRate": { - "common": 1.50, - "uncommon": 1.25, - "rare": 1.11, - "epic": 0.67, - "legendary": 0.40, - "shard": 1.04 - } - } -} \ No newline at end of file +} diff --git a/src/assets/contributors/contentCreators.json b/src/assets/contributors/contentCreators.json index 0b147f56..5a6f8f9d 100644 --- a/src/assets/contributors/contentCreators.json +++ b/src/assets/contributors/contentCreators.json @@ -1,26 +1,26 @@ [ - { - "name": "Nandi", - "youtubeLink": "https://www.youtube.com/@Nandi40k", - "thankYou": "Thank you for posting decent vids and promoting the app", - "avatarIcon": "nandi.jpg", - "resourceIcon": "nandi_vid.jpg", - "resourceLink": "https://www.youtube.com/watch?v=nPnMxrm0tHs&ab_channel=Nandi" - }, - { - "name": "NoxTempest", - "youtubeLink": "https://www.youtube.com/@noxtempest", - "thankYou": "Thank you for promoting the app", - "avatarIcon": "nox.jpg", - "resourceIcon": "nox_vid.jpg", - "resourceLink": "https://www.youtube.com/watch?v=8VPI8I0A4Xc" - }, - { - "name": "DB Preacher: Tacticus", - "youtubeLink": "https://www.youtube.com/@DBPreacherTacticus", - "thankYou": "Thank you for content that inspired me for creating this web app", - "avatarIcon": "db.jpg", - "resourceIcon": "db_vid.jpg", - "resourceLink": "https://www.youtube.com/watch?v=aD2ky2BxX_g" - } -] \ No newline at end of file + { + "name": "Nandi", + "youtubeLink": "https://www.youtube.com/@Nandi40k", + "thankYou": "Thank you for posting decent vids and promoting the app", + "avatarIcon": "nandi.jpg", + "resourceIcon": "nandi_vid.jpg", + "resourceLink": "https://www.youtube.com/watch?v=nPnMxrm0tHs&ab_channel=Nandi" + }, + { + "name": "NoxTempest", + "youtubeLink": "https://www.youtube.com/@noxtempest", + "thankYou": "Thank you for promoting the app", + "avatarIcon": "nox.jpg", + "resourceIcon": "nox_vid.jpg", + "resourceLink": "https://www.youtube.com/watch?v=8VPI8I0A4Xc" + }, + { + "name": "DB Preacher: Tacticus", + "youtubeLink": "https://www.youtube.com/@DBPreacherTacticus", + "thankYou": "Thank you for content that inspired me for creating this web app", + "avatarIcon": "db.jpg", + "resourceIcon": "db_vid.jpg", + "resourceLink": "https://www.youtube.com/watch?v=aD2ky2BxX_g" + } +] diff --git a/src/assets/contributors/thankYou.json b/src/assets/contributors/thankYou.json index 86136a54..32ce2b2e 100644 --- a/src/assets/contributors/thankYou.json +++ b/src/assets/contributors/thankYou.json @@ -1,42 +1,42 @@ [ - { - "name": "sonsonVallano", - "type": "Contributor", - "thankYou": "Thank you for providing decent feedback and being Alpha,Beta,Gamma QA :)", - "resourceDescription": "Public Upgrade Calc", - "resourceLink": "https://docs.google.com/spreadsheets/d/1wq-CjAXkTkEKAtkI7lnpf3Yliv8qpoANW43YE21hlgg/edit", - "avatarIcon": "none.png" - }, - { - "name": "Towen", - "type": "Contributor", - "thankYou": "Thank you for sharing Characters images", - "resourceDescription": "EN Labs T.A.C.T.I.C.U.S.", - "resourceLink": "https://docs.google.com/spreadsheets/u/0/d/1al2IWwvTP3QOhHtfr6P8stdlA48ED4JFrtK8wDKznrk/htmlview", - "avatarIcon": "towen.webp" - }, - { - "name": "Un/Lucky☆SirEldricIV", - "type": "Contributor", - "thankYou": "Thank you for sharing Ranks images", - "resourceDescription": "Tacticus Wiki", - "resourceLink": "https://tacticus.fandom.com/wiki/Tacticus_Wiki", - "avatarIcon": "lucky.webp" - }, - { - "name": "YourAdHere", - "type": "Contributor", - "thankYou": "Thank you for contributing into Tacticus Planner", - "resourceDescription": "", - "resourceLink": "", - "avatarIcon": "yourAdHere.webp" - }, - { - "name": "Lëonaica", - "type": "Contributor", - "thankYou": "Thank you for contributing into Tacticus Planner", - "resourceDescription": "", - "resourceLink": "", - "avatarIcon": "leonaica.webp" - } -] \ No newline at end of file + { + "name": "sonsonVallano", + "type": "Contributor", + "thankYou": "Thank you for providing decent feedback and being Alpha,Beta,Gamma QA :)", + "resourceDescription": "Public Upgrade Calc", + "resourceLink": "https://docs.google.com/spreadsheets/d/1wq-CjAXkTkEKAtkI7lnpf3Yliv8qpoANW43YE21hlgg/edit", + "avatarIcon": "none.png" + }, + { + "name": "Towen", + "type": "Contributor", + "thankYou": "Thank you for sharing Characters images", + "resourceDescription": "EN Labs T.A.C.T.I.C.U.S.", + "resourceLink": "https://docs.google.com/spreadsheets/u/0/d/1al2IWwvTP3QOhHtfr6P8stdlA48ED4JFrtK8wDKznrk/htmlview", + "avatarIcon": "towen.webp" + }, + { + "name": "Un/Lucky☆SirEldricIV", + "type": "Contributor", + "thankYou": "Thank you for sharing Ranks images", + "resourceDescription": "Tacticus Wiki", + "resourceLink": "https://tacticus.fandom.com/wiki/Tacticus_Wiki", + "avatarIcon": "lucky.webp" + }, + { + "name": "YourAdHere", + "type": "Contributor", + "thankYou": "Thank you for contributing into Tacticus Planner", + "resourceDescription": "", + "resourceLink": "", + "avatarIcon": "yourAdHere.webp" + }, + { + "name": "Lëonaica", + "type": "Contributor", + "thankYou": "Thank you for contributing into Tacticus Planner", + "resourceDescription": "", + "resourceLink": "", + "avatarIcon": "leonaica.webp" + } +] diff --git a/src/assets/legendary-events/Aunshi.json b/src/assets/legendary-events/Aunshi.json index 50ebf9f2..941b96b5 100644 --- a/src/assets/legendary-events/Aunshi.json +++ b/src/assets/legendary-events/Aunshi.json @@ -1,381 +1,381 @@ { - "id": 2, - "name": "Aun'Shi", - "wikiLink": "https://tacticus.fandom.com/wiki/LE-Aun%27Shi", - "eventStage": 3, - "nextEventDate": "January 28", - "regularMissions": [ - "Play one Philosophy of War Battle, Deal 1000 damage", - "Defeat 30 Orks", - "Defeat 75 Black Templars", - "Defeat 100 Death Guard", - "Use abilities 15 times with Chaos units, Deal 10k damage with Abilities", - "Use abilities 20 times with Xenos units, Deal 15k damage with Abilities", - "Use abilities 25 times with Imperial units, Deal 20k damage with Abilities", - "Play 3 Philosophy of War Battles, Deal 25k Piercing damage", - "Play 3 Philosophy of War Battles, Deal 25k Flame damage", - "Play 3 Philosophy of War Battles, Deal 25k Physical damage" - ], - "premiumMissions": [ - "Win 1 battle without Summoning any units", - "Defeat 30 enemies with Chaos units", - "Defeat 75 enemies with Xenos units", - "Defeat 100 enemies with Imperial units", - "Win 5 battles without deploying any Big Target characters", - "Win 5 battles without deploying any Parry characters", - "Win 5 battles without deploying any Contagions of Nurgle characters", - "Defeat 75 enemies with Piercing Damage", - "Defeat 75 enemies with Flame Damage", - "Defeat 75 enemies with Physical Damage" - ], - "alpha": { - "name": "Alpha (No Orks)", - "killPoints": 27, - "battlesPoints": [38, 40, 58, 58, 40, 41, 62, 43, 47, 49, 64, 48] - }, - "beta": { - "name": "Beta (No Imperials)", - "killPoints": 53, - "battlesPoints": [29, 35, 28, 39, 35, 34, 34, 38, 43, 29, 39, 49] - }, - "gamma": { - "name": "Gamma (No Chaos)", - "killPoints": 40, - "battlesPoints": [36, 36, 34, 42, 40, 43, 41, 49, 44, 40, 49, 56] - }, - "pointsMilestones": [ - { - "milestone": 1, - "cumulativePoints": 100, - "engramPayout": 25 - }, - { - "milestone": 2, - "cumulativePoints": 250, - "engramPayout": 30 - }, - { - "milestone": 3, - "cumulativePoints": 500, - "engramPayout": 35 - }, - { - "milestone": 4, - "cumulativePoints": 1000, - "engramPayout": 40 - }, - { - "milestone": 5, - "cumulativePoints": 1500, - "engramPayout": 45 - }, - { - "milestone": 6, - "cumulativePoints": 2000, - "engramPayout": 50 - }, - { - "milestone": 7, - "cumulativePoints": 2500, - "engramPayout": 55 - }, - { - "milestone": 8, - "cumulativePoints": 3000, - "engramPayout": 60 - }, - { - "milestone": 9, - "cumulativePoints": 3500, - "engramPayout": 65 - }, - { - "milestone": 10, - "cumulativePoints": 4000, - "engramPayout": 70 - }, - { - "milestone": 11, - "cumulativePoints": 4500, - "engramPayout": 75 - }, - { - "milestone": 12, - "cumulativePoints": 5000, - "engramPayout": 80 - }, - { - "milestone": 13, - "cumulativePoints": 5500, - "engramPayout": 85 - }, - { - "milestone": 14, - "cumulativePoints": 6000, - "engramPayout": 90 - }, - { - "milestone": 15, - "cumulativePoints": 6500, - "engramPayout": 95 - }, - { - "milestone": 16, - "cumulativePoints": 7000, - "engramPayout": 100 - }, - { - "milestone": 17, - "cumulativePoints": 7500, - "engramPayout": 110 - }, - { - "milestone": 18, - "cumulativePoints": 8000, - "engramPayout": 120 - }, - { - "milestone": 19, - "cumulativePoints": 8500, - "engramPayout": 130 - }, - { - "milestone": 20, - "cumulativePoints": 9000, - "engramPayout": 150 - }, - { - "milestone": 21, - "cumulativePoints": 9500, - "engramPayout": 175 - }, - { - "milestone": 22, - "cumulativePoints": 10000, - "engramPayout": 200 - }, - { - "milestone": 23, - "cumulativePoints": 10500, - "engramPayout": 225 - }, - { - "milestone": 24, - "cumulativePoints": 11000, - "engramPayout": 250 - }, - { - "milestone": 25, - "cumulativePoints": 11500, - "engramPayout": 275 - }, - { - "milestone": 26, - "cumulativePoints": 12000, - "engramPayout": 300 - }, - { - "milestone": 27, - "cumulativePoints": 12500, - "engramPayout": 325 - }, - { - "milestone": 28, - "cumulativePoints": 13000, - "engramPayout": 350 - }, - { - "milestone": 29, - "cumulativePoints": 13500, - "engramPayout": 375 - }, - { - "milestone": 30, - "cumulativePoints": 14000, - "engramPayout": 400 - }, - { - "milestone": 31, - "cumulativePoints": 14550, - "engramPayout": 435 - }, - { - "milestone": 32, - "cumulativePoints": 15150, - "engramPayout": 500 - }, - { - "milestone": 33, - "cumulativePoints": 15800, - "engramPayout": 650 - }, - { - "milestone": 34, - "cumulativePoints": 16500, - "engramPayout": 800 - }, - { - "milestone": 35, - "cumulativePoints": 17250, - "engramPayout": 1000 - }, - { - "milestone": 36, - "cumulativePoints": 18000, - "engramPayout": 2000 - } - ], - "chestsMilestones": [ - { - "chestLevel": 1, - "engramCost": 60 - }, - { - "chestLevel": 2, - "engramCost": 80 - }, - { - "chestLevel": 3, - "engramCost": 100 - }, - { - "chestLevel": 4, - "engramCost": 120 - }, - { - "chestLevel": 5, - "engramCost": 140 - }, - { - "chestLevel": 6, - "engramCost": 160 - }, - { - "chestLevel": 7, - "engramCost": 180 - }, - { - "chestLevel": 8, - "engramCost": 200 - }, - { - "chestLevel": 9, - "engramCost": 220 - }, - { - "chestLevel": 10, - "engramCost": 240 - }, - { - "chestLevel": 11, - "engramCost": 260 - }, - { - "chestLevel": 12, - "engramCost": 280 - }, - { - "chestLevel": 13, - "engramCost": 300 - }, - { - "chestLevel": 14, - "engramCost": 320 - }, - { - "chestLevel": 15, - "engramCost": 340 - }, - { - "chestLevel": 16, - "engramCost": 350 - }, - { - "chestLevel": 17, - "engramCost": 350 - }, - { - "chestLevel": 18, - "engramCost": 350 - }, - { - "chestLevel": 19, - "engramCost": 350 - }, - { - "chestLevel": 20, - "engramCost": 350 - }, - { - "chestLevel": 21, - "engramCost": 350 - }, - { - "chestLevel": 22, - "engramCost": 350 - }, - { - "chestLevel": 23, - "engramCost": 350 - }, - { - "chestLevel": 24, - "engramCost": 350 - }, - { - "chestLevel": 25, - "engramCost": 350 - }, - { - "chestLevel": 26, - "engramCost": 350 - }, - { - "chestLevel": 27, - "engramCost": 350 - }, - { - "chestLevel": 28, - "engramCost": 350 - }, - { - "chestLevel": 29, - "engramCost": 350 - }, - { - "chestLevel": 30, - "engramCost": 350 - }, - { - "chestLevel": 31, - "engramCost": 350 - }, - { - "chestLevel": 32, - "engramCost": 350 - }, - { - "chestLevel": 33, - "engramCost": 350 - }, - { - "chestLevel": 34, - "engramCost": 350 - }, - { - "chestLevel": 35, - "engramCost": 350 - }, - { - "chestLevel": 36, - "engramCost": 350 + "id": 2, + "name": "Aun'Shi", + "wikiLink": "https://tacticus.fandom.com/wiki/LE-Aun%27Shi", + "eventStage": 3, + "nextEventDate": "January 28", + "regularMissions": [ + "Play one Philosophy of War Battle, Deal 1000 damage", + "Defeat 30 Orks", + "Defeat 75 Black Templars", + "Defeat 100 Death Guard", + "Use abilities 15 times with Chaos units, Deal 10k damage with Abilities", + "Use abilities 20 times with Xenos units, Deal 15k damage with Abilities", + "Use abilities 25 times with Imperial units, Deal 20k damage with Abilities", + "Play 3 Philosophy of War Battles, Deal 25k Piercing damage", + "Play 3 Philosophy of War Battles, Deal 25k Flame damage", + "Play 3 Philosophy of War Battles, Deal 25k Physical damage" + ], + "premiumMissions": [ + "Win 1 battle without Summoning any units", + "Defeat 30 enemies with Chaos units", + "Defeat 75 enemies with Xenos units", + "Defeat 100 enemies with Imperial units", + "Win 5 battles without deploying any Big Target characters", + "Win 5 battles without deploying any Parry characters", + "Win 5 battles without deploying any Contagions of Nurgle characters", + "Defeat 75 enemies with Piercing Damage", + "Defeat 75 enemies with Flame Damage", + "Defeat 75 enemies with Physical Damage" + ], + "alpha": { + "name": "Alpha (No Orks)", + "killPoints": 27, + "battlesPoints": [38, 40, 58, 58, 40, 41, 62, 43, 47, 49, 64, 48] + }, + "beta": { + "name": "Beta (No Imperials)", + "killPoints": 53, + "battlesPoints": [29, 35, 28, 39, 35, 34, 34, 38, 43, 29, 39, 49] + }, + "gamma": { + "name": "Gamma (No Chaos)", + "killPoints": 40, + "battlesPoints": [36, 36, 34, 42, 40, 43, 41, 49, 44, 40, 49, 56] + }, + "pointsMilestones": [ + { + "milestone": 1, + "cumulativePoints": 100, + "engramPayout": 25 + }, + { + "milestone": 2, + "cumulativePoints": 250, + "engramPayout": 30 + }, + { + "milestone": 3, + "cumulativePoints": 500, + "engramPayout": 35 + }, + { + "milestone": 4, + "cumulativePoints": 1000, + "engramPayout": 40 + }, + { + "milestone": 5, + "cumulativePoints": 1500, + "engramPayout": 45 + }, + { + "milestone": 6, + "cumulativePoints": 2000, + "engramPayout": 50 + }, + { + "milestone": 7, + "cumulativePoints": 2500, + "engramPayout": 55 + }, + { + "milestone": 8, + "cumulativePoints": 3000, + "engramPayout": 60 + }, + { + "milestone": 9, + "cumulativePoints": 3500, + "engramPayout": 65 + }, + { + "milestone": 10, + "cumulativePoints": 4000, + "engramPayout": 70 + }, + { + "milestone": 11, + "cumulativePoints": 4500, + "engramPayout": 75 + }, + { + "milestone": 12, + "cumulativePoints": 5000, + "engramPayout": 80 + }, + { + "milestone": 13, + "cumulativePoints": 5500, + "engramPayout": 85 + }, + { + "milestone": 14, + "cumulativePoints": 6000, + "engramPayout": 90 + }, + { + "milestone": 15, + "cumulativePoints": 6500, + "engramPayout": 95 + }, + { + "milestone": 16, + "cumulativePoints": 7000, + "engramPayout": 100 + }, + { + "milestone": 17, + "cumulativePoints": 7500, + "engramPayout": 110 + }, + { + "milestone": 18, + "cumulativePoints": 8000, + "engramPayout": 120 + }, + { + "milestone": 19, + "cumulativePoints": 8500, + "engramPayout": 130 + }, + { + "milestone": 20, + "cumulativePoints": 9000, + "engramPayout": 150 + }, + { + "milestone": 21, + "cumulativePoints": 9500, + "engramPayout": 175 + }, + { + "milestone": 22, + "cumulativePoints": 10000, + "engramPayout": 200 + }, + { + "milestone": 23, + "cumulativePoints": 10500, + "engramPayout": 225 + }, + { + "milestone": 24, + "cumulativePoints": 11000, + "engramPayout": 250 + }, + { + "milestone": 25, + "cumulativePoints": 11500, + "engramPayout": 275 + }, + { + "milestone": 26, + "cumulativePoints": 12000, + "engramPayout": 300 + }, + { + "milestone": 27, + "cumulativePoints": 12500, + "engramPayout": 325 + }, + { + "milestone": 28, + "cumulativePoints": 13000, + "engramPayout": 350 + }, + { + "milestone": 29, + "cumulativePoints": 13500, + "engramPayout": 375 + }, + { + "milestone": 30, + "cumulativePoints": 14000, + "engramPayout": 400 + }, + { + "milestone": 31, + "cumulativePoints": 14550, + "engramPayout": 435 + }, + { + "milestone": 32, + "cumulativePoints": 15150, + "engramPayout": 500 + }, + { + "milestone": 33, + "cumulativePoints": 15800, + "engramPayout": 650 + }, + { + "milestone": 34, + "cumulativePoints": 16500, + "engramPayout": 800 + }, + { + "milestone": 35, + "cumulativePoints": 17250, + "engramPayout": 1000 + }, + { + "milestone": 36, + "cumulativePoints": 18000, + "engramPayout": 2000 + } + ], + "chestsMilestones": [ + { + "chestLevel": 1, + "engramCost": 60 + }, + { + "chestLevel": 2, + "engramCost": 80 + }, + { + "chestLevel": 3, + "engramCost": 100 + }, + { + "chestLevel": 4, + "engramCost": 120 + }, + { + "chestLevel": 5, + "engramCost": 140 + }, + { + "chestLevel": 6, + "engramCost": 160 + }, + { + "chestLevel": 7, + "engramCost": 180 + }, + { + "chestLevel": 8, + "engramCost": 200 + }, + { + "chestLevel": 9, + "engramCost": 220 + }, + { + "chestLevel": 10, + "engramCost": 240 + }, + { + "chestLevel": 11, + "engramCost": 260 + }, + { + "chestLevel": 12, + "engramCost": 280 + }, + { + "chestLevel": 13, + "engramCost": 300 + }, + { + "chestLevel": 14, + "engramCost": 320 + }, + { + "chestLevel": 15, + "engramCost": 340 + }, + { + "chestLevel": 16, + "engramCost": 350 + }, + { + "chestLevel": 17, + "engramCost": 350 + }, + { + "chestLevel": 18, + "engramCost": 350 + }, + { + "chestLevel": 19, + "engramCost": 350 + }, + { + "chestLevel": 20, + "engramCost": 350 + }, + { + "chestLevel": 21, + "engramCost": 350 + }, + { + "chestLevel": 22, + "engramCost": 350 + }, + { + "chestLevel": 23, + "engramCost": 350 + }, + { + "chestLevel": 24, + "engramCost": 350 + }, + { + "chestLevel": 25, + "engramCost": 350 + }, + { + "chestLevel": 26, + "engramCost": 350 + }, + { + "chestLevel": 27, + "engramCost": 350 + }, + { + "chestLevel": 28, + "engramCost": 350 + }, + { + "chestLevel": 29, + "engramCost": 350 + }, + { + "chestLevel": 30, + "engramCost": 350 + }, + { + "chestLevel": 31, + "engramCost": 350 + }, + { + "chestLevel": 32, + "engramCost": 350 + }, + { + "chestLevel": 33, + "engramCost": 350 + }, + { + "chestLevel": 34, + "engramCost": 350 + }, + { + "chestLevel": 35, + "engramCost": 350 + }, + { + "chestLevel": 36, + "engramCost": 350 + } + ], + "shardsPerChest": 10, + "progression": { + "unlock": 150, + "fourStars": 60, + "fiveStars": 70, + "blueStar": 80 } - ], - "shardsPerChest": 10, - "progression": { - "unlock": 150, - "fourStars": 60, - "fiveStars": 70, - "blueStar": 80 - } -} \ No newline at end of file +} diff --git a/src/assets/legendary-events/Ragnar.json b/src/assets/legendary-events/Ragnar.json index 1a837f73..a126a377 100644 --- a/src/assets/legendary-events/Ragnar.json +++ b/src/assets/legendary-events/Ragnar.json @@ -1,430 +1,391 @@ { - "id": 5, - "name": "Ragnar", - "wikiLink": "https://tacticus.fandom.com/wiki/LE-Ragnar", - "eventStage": 2, - "nextEventDate": "TBA", - "regularMissions": [ - "Play one Legendary Event Battle, Deal 1000 damage", - "Defeat 30 Orks", - "Defeat 75 Thousand Sons", - "Defeat 100 Black Templars", - "Use abilities 15 times with Chaos units, Deal 10k damage with Abilities", - "Use abilities 20 times with Imperial units, Deal 15k damage with Abilities", - "Use abilities 25 times with Xenos units, Deal 20k damage with Abilities", - "Play 3 Legendary Event Battles, Deal 25k Bolter damage", - "Play 3 Legendary Event Battles, Deal 25k Physical damage", - "Play 3 Legendary Event Battles, Deal 25k Piercing damage" - ], - "premiumMissions": [ - "Win 1 battle without Summoning any units", - "Defeat 30 enemies with Chaos units", - "Defeat 75 enemies with Imperial units", - "Defeat 100 enemies with Xenos units", - "Win 5 battles without deploying any Psyker characters", - "Win 5 battles without deploying any Mechanical characters", - "Win 5 battles without deploying any Flying characters", - "Defeat 75 enemies with Bolter Damage", - "Defeat 75 enemies with Physical Damage", - "Defeat 75 enemies with Piercing Damage" - ], - "alpha": { - "name": "Alpha (No Xenos)", - "killPoints": 24, - "battlesPoints": [ - 40, - 38, - 50, - 48, - 50, - 48, - 60, - 55, - 47, - 52, - 59, - 59 - ] - }, - "beta": { - "name": "Beta (No Chaos)", - "killPoints": 30, - "battlesPoints": [ - 33, - 36, - 45, - 47, - 50, - 49, - 50, - 50, - 50, - 57, - 43, - 60 - ] - }, - "gamma": { - "name": "Gamma (No Imperials)", - "killPoints": 34, - "battlesPoints": [ - 28, - 35, - 39, - 43, - 40, - 57, - 43, - 50, - 58, - 48, - 50, - 55 - ] - }, - "pointsMilestones": [ - { - "milestone": 1, - "cumulativePoints": 100, - "engramPayout": 25 - }, - { - "milestone": 2, - "cumulativePoints": 250, - "engramPayout": 30 - }, - { - "milestone": 3, - "cumulativePoints": 500, - "engramPayout": 35 - }, - { - "milestone": 4, - "cumulativePoints": 1000, - "engramPayout": 40 - }, - { - "milestone": 5, - "cumulativePoints": 1500, - "engramPayout": 45 - }, - { - "milestone": 6, - "cumulativePoints": 2000, - "engramPayout": 50 - }, - { - "milestone": 7, - "cumulativePoints": 2500, - "engramPayout": 55 - }, - { - "milestone": 8, - "cumulativePoints": 3000, - "engramPayout": 60 - }, - { - "milestone": 9, - "cumulativePoints": 3500, - "engramPayout": 65 - }, - { - "milestone": 10, - "cumulativePoints": 4000, - "engramPayout": 70 - }, - { - "milestone": 11, - "cumulativePoints": 4500, - "engramPayout": 75 - }, - { - "milestone": 12, - "cumulativePoints": 5000, - "engramPayout": 80 - }, - { - "milestone": 13, - "cumulativePoints": 5500, - "engramPayout": 85 - }, - { - "milestone": 14, - "cumulativePoints": 6000, - "engramPayout": 90 - }, - { - "milestone": 15, - "cumulativePoints": 6500, - "engramPayout": 95 - }, - { - "milestone": 16, - "cumulativePoints": 7000, - "engramPayout": 100 - }, - { - "milestone": 17, - "cumulativePoints": 7500, - "engramPayout": 110 - }, - { - "milestone": 18, - "cumulativePoints": 8000, - "engramPayout": 120 - }, - { - "milestone": 19, - "cumulativePoints": 8500, - "engramPayout": 140 - }, - { - "milestone": 20, - "cumulativePoints": 9000, - "engramPayout": 160 - }, - { - "milestone": 21, - "cumulativePoints": 9500, - "engramPayout": 180 - }, - { - "milestone": 22, - "cumulativePoints": 10000, - "engramPayout": 200 - }, - { - "milestone": 23, - "cumulativePoints": 10500, - "engramPayout": 220 - }, - { - "milestone": 24, - "cumulativePoints": 11000, - "engramPayout": 240 - }, - { - "milestone": 25, - "cumulativePoints": 11500, - "engramPayout": 260 - }, - { - "milestone": 26, - "cumulativePoints": 12000, - "engramPayout": 280 - }, - { - "milestone": 27, - "cumulativePoints": 12500, - "engramPayout": 300 - }, - { - "milestone": 28, - "cumulativePoints": 13000, - "engramPayout": 350 - }, - { - "milestone": 29, - "cumulativePoints": 13500, - "engramPayout": 400 - }, - { - "milestone": 30, - "cumulativePoints": 14000, - "engramPayout": 450 - }, - { - "milestone": 31, - "cumulativePoints": 14500, - "engramPayout": 500 - }, - { - "milestone": 32, - "cumulativePoints": 15000, - "engramPayout": 550 - }, - { - "milestone": 33, - "cumulativePoints": 15500, - "engramPayout": 600 - }, - { - "milestone": 34, - "cumulativePoints": 16000, - "engramPayout": 650 - }, - { - "milestone": 35, - "cumulativePoints": 16500, - "engramPayout": 700 - }, - { - "milestone": 36, - "cumulativePoints": 17000, - "engramPayout": 800 - }, - { - "milestone": 37, - "cumulativePoints": 17500, - "engramPayout": 1000 - }, - { - "milestone": 38, - "cumulativePoints": 18000, - "engramPayout": 1300 - } - ], - "chestsMilestones": [ - { - "chestLevel": 1, - "engramCost": 60 - }, - { - "chestLevel": 2, - "engramCost": 80 - }, - { - "chestLevel": 3, - "engramCost": 100 - }, - { - "chestLevel": 4, - "engramCost": 120 - }, - { - "chestLevel": 5, - "engramCost": 140 - }, - { - "chestLevel": 6, - "engramCost": 160 - }, - { - "chestLevel": 7, - "engramCost": 180 - }, - { - "chestLevel": 8, - "engramCost": 200 - }, - { - "chestLevel": 9, - "engramCost": 220 - }, - { - "chestLevel": 10, - "engramCost": 240 - }, - { - "chestLevel": 11, - "engramCost": 260 - }, - { - "chestLevel": 12, - "engramCost": 280 - }, - { - "chestLevel": 13, - "engramCost": 300 - }, - { - "chestLevel": 14, - "engramCost": 320 - }, - { - "chestLevel": 15, - "engramCost": 340 - }, - { - "chestLevel": 16, - "engramCost": 350 - }, - { - "chestLevel": 17, - "engramCost": 360 - }, - { - "chestLevel": 18, - "engramCost": 370 - }, - { - "chestLevel": 19, - "engramCost": 380 - }, - { - "chestLevel": 20, - "engramCost": 390 - }, - { - "chestLevel": 21, - "engramCost": 400 - }, - { - "chestLevel": 22, - "engramCost": 400 - }, - { - "chestLevel": 23, - "engramCost": 400 - }, - { - "chestLevel": 24, - "engramCost": 400 - }, - { - "chestLevel": 25, - "engramCost": 400 - }, - { - "chestLevel": 26, - "engramCost": 400 - }, - { - "chestLevel": 27, - "engramCost": 400 - }, - { - "chestLevel": 28, - "engramCost": 400 - }, - { - "chestLevel": 29, - "engramCost": 400 - }, - { - "chestLevel": 30, - "engramCost": 400 - }, - { - "chestLevel": 31, - "engramCost": 400 - }, - { - "chestLevel": 32, - "engramCost": 400 - }, - { - "chestLevel": 33, - "engramCost": 400 - }, - { - "chestLevel": 34, - "engramCost": 400 - }, - { - "chestLevel": 35, - "engramCost": 400 - }, - { - "chestLevel": 36, - "engramCost": 400 + "id": 5, + "name": "Ragnar", + "wikiLink": "https://tacticus.fandom.com/wiki/LE-Ragnar", + "eventStage": 2, + "nextEventDate": "TBA", + "regularMissions": [ + "Play one Legendary Event Battle, Deal 1000 damage", + "Defeat 30 Orks", + "Defeat 75 Thousand Sons", + "Defeat 100 Black Templars", + "Use abilities 15 times with Chaos units, Deal 10k damage with Abilities", + "Use abilities 20 times with Imperial units, Deal 15k damage with Abilities", + "Use abilities 25 times with Xenos units, Deal 20k damage with Abilities", + "Play 3 Legendary Event Battles, Deal 25k Bolter damage", + "Play 3 Legendary Event Battles, Deal 25k Physical damage", + "Play 3 Legendary Event Battles, Deal 25k Piercing damage" + ], + "premiumMissions": [ + "Win 1 battle without Summoning any units", + "Defeat 30 enemies with Chaos units", + "Defeat 75 enemies with Imperial units", + "Defeat 100 enemies with Xenos units", + "Win 5 battles without deploying any Psyker characters", + "Win 5 battles without deploying any Mechanical characters", + "Win 5 battles without deploying any Flying characters", + "Defeat 75 enemies with Bolter Damage", + "Defeat 75 enemies with Physical Damage", + "Defeat 75 enemies with Piercing Damage" + ], + "alpha": { + "name": "Alpha (No Xenos)", + "killPoints": 24, + "battlesPoints": [40, 38, 50, 48, 50, 48, 60, 55, 47, 52, 59, 59] + }, + "beta": { + "name": "Beta (No Chaos)", + "killPoints": 30, + "battlesPoints": [33, 36, 45, 47, 50, 49, 50, 50, 50, 57, 43, 60] + }, + "gamma": { + "name": "Gamma (No Imperials)", + "killPoints": 34, + "battlesPoints": [28, 35, 39, 43, 40, 57, 43, 50, 58, 48, 50, 55] + }, + "pointsMilestones": [ + { + "milestone": 1, + "cumulativePoints": 100, + "engramPayout": 25 + }, + { + "milestone": 2, + "cumulativePoints": 250, + "engramPayout": 30 + }, + { + "milestone": 3, + "cumulativePoints": 500, + "engramPayout": 35 + }, + { + "milestone": 4, + "cumulativePoints": 1000, + "engramPayout": 40 + }, + { + "milestone": 5, + "cumulativePoints": 1500, + "engramPayout": 45 + }, + { + "milestone": 6, + "cumulativePoints": 2000, + "engramPayout": 50 + }, + { + "milestone": 7, + "cumulativePoints": 2500, + "engramPayout": 55 + }, + { + "milestone": 8, + "cumulativePoints": 3000, + "engramPayout": 60 + }, + { + "milestone": 9, + "cumulativePoints": 3500, + "engramPayout": 65 + }, + { + "milestone": 10, + "cumulativePoints": 4000, + "engramPayout": 70 + }, + { + "milestone": 11, + "cumulativePoints": 4500, + "engramPayout": 75 + }, + { + "milestone": 12, + "cumulativePoints": 5000, + "engramPayout": 80 + }, + { + "milestone": 13, + "cumulativePoints": 5500, + "engramPayout": 85 + }, + { + "milestone": 14, + "cumulativePoints": 6000, + "engramPayout": 90 + }, + { + "milestone": 15, + "cumulativePoints": 6500, + "engramPayout": 95 + }, + { + "milestone": 16, + "cumulativePoints": 7000, + "engramPayout": 100 + }, + { + "milestone": 17, + "cumulativePoints": 7500, + "engramPayout": 110 + }, + { + "milestone": 18, + "cumulativePoints": 8000, + "engramPayout": 120 + }, + { + "milestone": 19, + "cumulativePoints": 8500, + "engramPayout": 140 + }, + { + "milestone": 20, + "cumulativePoints": 9000, + "engramPayout": 160 + }, + { + "milestone": 21, + "cumulativePoints": 9500, + "engramPayout": 180 + }, + { + "milestone": 22, + "cumulativePoints": 10000, + "engramPayout": 200 + }, + { + "milestone": 23, + "cumulativePoints": 10500, + "engramPayout": 220 + }, + { + "milestone": 24, + "cumulativePoints": 11000, + "engramPayout": 240 + }, + { + "milestone": 25, + "cumulativePoints": 11500, + "engramPayout": 260 + }, + { + "milestone": 26, + "cumulativePoints": 12000, + "engramPayout": 280 + }, + { + "milestone": 27, + "cumulativePoints": 12500, + "engramPayout": 300 + }, + { + "milestone": 28, + "cumulativePoints": 13000, + "engramPayout": 350 + }, + { + "milestone": 29, + "cumulativePoints": 13500, + "engramPayout": 400 + }, + { + "milestone": 30, + "cumulativePoints": 14000, + "engramPayout": 450 + }, + { + "milestone": 31, + "cumulativePoints": 14500, + "engramPayout": 500 + }, + { + "milestone": 32, + "cumulativePoints": 15000, + "engramPayout": 550 + }, + { + "milestone": 33, + "cumulativePoints": 15500, + "engramPayout": 600 + }, + { + "milestone": 34, + "cumulativePoints": 16000, + "engramPayout": 650 + }, + { + "milestone": 35, + "cumulativePoints": 16500, + "engramPayout": 700 + }, + { + "milestone": 36, + "cumulativePoints": 17000, + "engramPayout": 800 + }, + { + "milestone": 37, + "cumulativePoints": 17500, + "engramPayout": 1000 + }, + { + "milestone": 38, + "cumulativePoints": 18000, + "engramPayout": 1300 + } + ], + "chestsMilestones": [ + { + "chestLevel": 1, + "engramCost": 60 + }, + { + "chestLevel": 2, + "engramCost": 80 + }, + { + "chestLevel": 3, + "engramCost": 100 + }, + { + "chestLevel": 4, + "engramCost": 120 + }, + { + "chestLevel": 5, + "engramCost": 140 + }, + { + "chestLevel": 6, + "engramCost": 160 + }, + { + "chestLevel": 7, + "engramCost": 180 + }, + { + "chestLevel": 8, + "engramCost": 200 + }, + { + "chestLevel": 9, + "engramCost": 220 + }, + { + "chestLevel": 10, + "engramCost": 240 + }, + { + "chestLevel": 11, + "engramCost": 260 + }, + { + "chestLevel": 12, + "engramCost": 280 + }, + { + "chestLevel": 13, + "engramCost": 300 + }, + { + "chestLevel": 14, + "engramCost": 320 + }, + { + "chestLevel": 15, + "engramCost": 340 + }, + { + "chestLevel": 16, + "engramCost": 350 + }, + { + "chestLevel": 17, + "engramCost": 360 + }, + { + "chestLevel": 18, + "engramCost": 370 + }, + { + "chestLevel": 19, + "engramCost": 380 + }, + { + "chestLevel": 20, + "engramCost": 390 + }, + { + "chestLevel": 21, + "engramCost": 400 + }, + { + "chestLevel": 22, + "engramCost": 400 + }, + { + "chestLevel": 23, + "engramCost": 400 + }, + { + "chestLevel": 24, + "engramCost": 400 + }, + { + "chestLevel": 25, + "engramCost": 400 + }, + { + "chestLevel": 26, + "engramCost": 400 + }, + { + "chestLevel": 27, + "engramCost": 400 + }, + { + "chestLevel": 28, + "engramCost": 400 + }, + { + "chestLevel": 29, + "engramCost": 400 + }, + { + "chestLevel": 30, + "engramCost": 400 + }, + { + "chestLevel": 31, + "engramCost": 400 + }, + { + "chestLevel": 32, + "engramCost": 400 + }, + { + "chestLevel": 33, + "engramCost": 400 + }, + { + "chestLevel": 34, + "engramCost": 400 + }, + { + "chestLevel": 35, + "engramCost": 400 + }, + { + "chestLevel": 36, + "engramCost": 400 + } + ], + "shardsPerChest": 25, + "progression": { + "unlock": 400, + "fourStars": 120, + "fiveStars": 180, + "blueStar": 200 } - ], - "shardsPerChest": 25, - "progression": { - "unlock": 400, - "fourStars": 120, - "fiveStars": 180, - "blueStar": 200 - } -} \ No newline at end of file +} diff --git a/src/assets/legendary-events/Shadowsun.json b/src/assets/legendary-events/Shadowsun.json index 7c290c3a..8cb8464f 100644 --- a/src/assets/legendary-events/Shadowsun.json +++ b/src/assets/legendary-events/Shadowsun.json @@ -1,420 +1,381 @@ { - "id": 4, - "name": "Shadowsun", - "wikiLink": "https://tacticus.fandom.com/wiki/LE-Shadowsun", - "eventStage": 2, - "nextEventDate": "TBA", - "regularMissions": [ - "Play one Philosophy of War Battle, Deal 1000 damage", - "Defeat 30 Necrons", - "Defeat 75 Tyranids", - "Defeat 100 Ultramarines", - "Use abilities 15 times with Xenos units, Deal 10k damage with Abilities", - "Use abilities 20 times with Imperial units, Deal 15k damage with Abilities", - "Use abilities 25 times with Chaos units, Deal 20k damage with Abilities", - "Play 3 Philosophy of War Battles, Deal 25k Bolter damage", - "Play 3 Philosophy of War Battles, Deal 25k Psychic damage", - "Play 3 Philosophy of War Battles, Deal 25k Power damage" - ], - "premiumMissions": [ - "Win 1 battle without Summoning any units", - "Defeat 30 enemies with Xenos units", - "Defeat 75 enemies with Imperial units", - "Defeat 100 enemies with Chaos units", - "Win 5 battles without deploying any Resilient characters", - "Win 5 battles without deploying any Overwatch characters", - "Win 5 battles without deploying any Living Metal characters", - "Defeat 75 enemies with Bolter Damage", - "Defeat 75 enemies with Psychic Damage", - "Defeat 75 enemies with Power Damage" - ], - "alpha": { - "name": "Alpha (No Necrons)", - "killPoints": 35, - "battlesPoints": [ - 29, - 39, - 33, - 48, - 36, - 52, - 45, - 39, - 54, - 50, - 50, - 65 - ] - }, - "beta": { - "name": "Beta (No Tyranids)", - "killPoints": 19, - "battlesPoints": [ - 34, - 40, - 57, - 59, - 49, - 58, - 55, - 50, - 54, - 58, - 59, - 63 - ] - }, - "gamma": { - "name": "Gamma (No Imperials)", - "killPoints": 18, - "battlesPoints": [ - 31, - 36, - 56, - 48, - 53, - 61, - 67, - 50, - 57, - 60, - 67, - 56 - ] - }, - "pointsMilestones": [ - { - "milestone": 1, - "cumulativePoints": 100, - "engramPayout": 25 - }, - { - "milestone": 2, - "cumulativePoints": 250, - "engramPayout": 30 - }, - { - "milestone": 3, - "cumulativePoints": 500, - "engramPayout": 35 - }, - { - "milestone": 4, - "cumulativePoints": 1000, - "engramPayout": 40 - }, - { - "milestone": 5, - "cumulativePoints": 1500, - "engramPayout": 45 - }, - { - "milestone": 6, - "cumulativePoints": 2000, - "engramPayout": 50 - }, - { - "milestone": 7, - "cumulativePoints": 2500, - "engramPayout": 55 - }, - { - "milestone": 8, - "cumulativePoints": 3000, - "engramPayout": 60 - }, - { - "milestone": 9, - "cumulativePoints": 3500, - "engramPayout": 65 - }, - { - "milestone": 10, - "cumulativePoints": 4000, - "engramPayout": 70 - }, - { - "milestone": 11, - "cumulativePoints": 4500, - "engramPayout": 75 - }, - { - "milestone": 12, - "cumulativePoints": 5000, - "engramPayout": 80 - }, - { - "milestone": 13, - "cumulativePoints": 5500, - "engramPayout": 85 - }, - { - "milestone": 14, - "cumulativePoints": 6000, - "engramPayout": 90 - }, - { - "milestone": 15, - "cumulativePoints": 6500, - "engramPayout": 95 - }, - { - "milestone": 16, - "cumulativePoints": 7000, - "engramPayout": 100 - }, - { - "milestone": 17, - "cumulativePoints": 7500, - "engramPayout": 105 - }, - { - "milestone": 18, - "cumulativePoints": 8000, - "engramPayout": 110 - }, - { - "milestone": 19, - "cumulativePoints": 8500, - "engramPayout": 115 - }, - { - "milestone": 20, - "cumulativePoints": 9000, - "engramPayout": 120 - }, - { - "milestone": 21, - "cumulativePoints": 9500, - "engramPayout": 125 - }, - { - "milestone": 22, - "cumulativePoints": 10000, - "engramPayout": 150 - }, - { - "milestone": 23, - "cumulativePoints": 10500, - "engramPayout": 175 - }, - { - "milestone": 24, - "cumulativePoints": 11000, - "engramPayout": 200 - }, - { - "milestone": 25, - "cumulativePoints": 11500, - "engramPayout": 250 - }, - { - "milestone": 26, - "cumulativePoints": 12000, - "engramPayout": 275 - }, - { - "milestone": 27, - "cumulativePoints": 12500, - "engramPayout": 300 - }, - { - "milestone": 28, - "cumulativePoints": 13000, - "engramPayout": 350 - }, - { - "milestone": 29, - "cumulativePoints": 13500, - "engramPayout": 400 - }, - { - "milestone": 30, - "cumulativePoints": 14000, - "engramPayout": 450 - }, - { - "milestone": 31, - "cumulativePoints": 14550, - "engramPayout": 500 - }, - { - "milestone": 32, - "cumulativePoints": 15150, - "engramPayout": 550 - }, - { - "milestone": 33, - "cumulativePoints": 15800, - "engramPayout": 650 - }, - { - "milestone": 34, - "cumulativePoints": 16500, - "engramPayout": 800 - }, - { - "milestone": 35, - "cumulativePoints": 17250, - "engramPayout": 1000 - }, - { - "milestone": 36, - "cumulativePoints": 18000, - "engramPayout": 2000 - } - ], - "chestsMilestones": [ - { - "chestLevel": 1, - "engramCost": 60 - }, - { - "chestLevel": 2, - "engramCost": 80 - }, - { - "chestLevel": 3, - "engramCost": 100 - }, - { - "chestLevel": 4, - "engramCost": 120 - }, - { - "chestLevel": 5, - "engramCost": 140 - }, - { - "chestLevel": 6, - "engramCost": 160 - }, - { - "chestLevel": 7, - "engramCost": 180 - }, - { - "chestLevel": 8, - "engramCost": 200 - }, - { - "chestLevel": 9, - "engramCost": 220 - }, - { - "chestLevel": 10, - "engramCost": 240 - }, - { - "chestLevel": 11, - "engramCost": 260 - }, - { - "chestLevel": 12, - "engramCost": 280 - }, - { - "chestLevel": 13, - "engramCost": 300 - }, - { - "chestLevel": 14, - "engramCost": 325 - }, - { - "chestLevel": 15, - "engramCost": 350 - }, - { - "chestLevel": 16, - "engramCost": 350 - }, - { - "chestLevel": 17, - "engramCost": 350 - }, - { - "chestLevel": 18, - "engramCost": 350 - }, - { - "chestLevel": 19, - "engramCost": 350 - }, - { - "chestLevel": 20, - "engramCost": 350 - }, - { - "chestLevel": 21, - "engramCost": 350 - }, - { - "chestLevel": 22, - "engramCost": 350 - }, - { - "chestLevel": 23, - "engramCost": 350 - }, - { - "chestLevel": 24, - "engramCost": 350 - }, - { - "chestLevel": 25, - "engramCost": 350 - }, - { - "chestLevel": 26, - "engramCost": 350 - }, - { - "chestLevel": 27, - "engramCost": 350 - }, - { - "chestLevel": 28, - "engramCost": 350 - }, - { - "chestLevel": 29, - "engramCost": 350 - }, - { - "chestLevel": 30, - "engramCost": 350 - }, - { - "chestLevel": 31, - "engramCost": 350 - }, - { - "chestLevel": 32, - "engramCost": 350 - }, - { - "chestLevel": 33, - "engramCost": 350 - }, - { - "chestLevel": 34, - "engramCost": 350 - }, - { - "chestLevel": 35, - "engramCost": 350 - }, - { - "chestLevel": 36, - "engramCost": 350 + "id": 4, + "name": "Shadowsun", + "wikiLink": "https://tacticus.fandom.com/wiki/LE-Shadowsun", + "eventStage": 2, + "nextEventDate": "TBA", + "regularMissions": [ + "Play one Philosophy of War Battle, Deal 1000 damage", + "Defeat 30 Necrons", + "Defeat 75 Tyranids", + "Defeat 100 Ultramarines", + "Use abilities 15 times with Xenos units, Deal 10k damage with Abilities", + "Use abilities 20 times with Imperial units, Deal 15k damage with Abilities", + "Use abilities 25 times with Chaos units, Deal 20k damage with Abilities", + "Play 3 Philosophy of War Battles, Deal 25k Bolter damage", + "Play 3 Philosophy of War Battles, Deal 25k Psychic damage", + "Play 3 Philosophy of War Battles, Deal 25k Power damage" + ], + "premiumMissions": [ + "Win 1 battle without Summoning any units", + "Defeat 30 enemies with Xenos units", + "Defeat 75 enemies with Imperial units", + "Defeat 100 enemies with Chaos units", + "Win 5 battles without deploying any Resilient characters", + "Win 5 battles without deploying any Overwatch characters", + "Win 5 battles without deploying any Living Metal characters", + "Defeat 75 enemies with Bolter Damage", + "Defeat 75 enemies with Psychic Damage", + "Defeat 75 enemies with Power Damage" + ], + "alpha": { + "name": "Alpha (No Necrons)", + "killPoints": 35, + "battlesPoints": [29, 39, 33, 48, 36, 52, 45, 39, 54, 50, 50, 65] + }, + "beta": { + "name": "Beta (No Tyranids)", + "killPoints": 19, + "battlesPoints": [34, 40, 57, 59, 49, 58, 55, 50, 54, 58, 59, 63] + }, + "gamma": { + "name": "Gamma (No Imperials)", + "killPoints": 18, + "battlesPoints": [31, 36, 56, 48, 53, 61, 67, 50, 57, 60, 67, 56] + }, + "pointsMilestones": [ + { + "milestone": 1, + "cumulativePoints": 100, + "engramPayout": 25 + }, + { + "milestone": 2, + "cumulativePoints": 250, + "engramPayout": 30 + }, + { + "milestone": 3, + "cumulativePoints": 500, + "engramPayout": 35 + }, + { + "milestone": 4, + "cumulativePoints": 1000, + "engramPayout": 40 + }, + { + "milestone": 5, + "cumulativePoints": 1500, + "engramPayout": 45 + }, + { + "milestone": 6, + "cumulativePoints": 2000, + "engramPayout": 50 + }, + { + "milestone": 7, + "cumulativePoints": 2500, + "engramPayout": 55 + }, + { + "milestone": 8, + "cumulativePoints": 3000, + "engramPayout": 60 + }, + { + "milestone": 9, + "cumulativePoints": 3500, + "engramPayout": 65 + }, + { + "milestone": 10, + "cumulativePoints": 4000, + "engramPayout": 70 + }, + { + "milestone": 11, + "cumulativePoints": 4500, + "engramPayout": 75 + }, + { + "milestone": 12, + "cumulativePoints": 5000, + "engramPayout": 80 + }, + { + "milestone": 13, + "cumulativePoints": 5500, + "engramPayout": 85 + }, + { + "milestone": 14, + "cumulativePoints": 6000, + "engramPayout": 90 + }, + { + "milestone": 15, + "cumulativePoints": 6500, + "engramPayout": 95 + }, + { + "milestone": 16, + "cumulativePoints": 7000, + "engramPayout": 100 + }, + { + "milestone": 17, + "cumulativePoints": 7500, + "engramPayout": 105 + }, + { + "milestone": 18, + "cumulativePoints": 8000, + "engramPayout": 110 + }, + { + "milestone": 19, + "cumulativePoints": 8500, + "engramPayout": 115 + }, + { + "milestone": 20, + "cumulativePoints": 9000, + "engramPayout": 120 + }, + { + "milestone": 21, + "cumulativePoints": 9500, + "engramPayout": 125 + }, + { + "milestone": 22, + "cumulativePoints": 10000, + "engramPayout": 150 + }, + { + "milestone": 23, + "cumulativePoints": 10500, + "engramPayout": 175 + }, + { + "milestone": 24, + "cumulativePoints": 11000, + "engramPayout": 200 + }, + { + "milestone": 25, + "cumulativePoints": 11500, + "engramPayout": 250 + }, + { + "milestone": 26, + "cumulativePoints": 12000, + "engramPayout": 275 + }, + { + "milestone": 27, + "cumulativePoints": 12500, + "engramPayout": 300 + }, + { + "milestone": 28, + "cumulativePoints": 13000, + "engramPayout": 350 + }, + { + "milestone": 29, + "cumulativePoints": 13500, + "engramPayout": 400 + }, + { + "milestone": 30, + "cumulativePoints": 14000, + "engramPayout": 450 + }, + { + "milestone": 31, + "cumulativePoints": 14550, + "engramPayout": 500 + }, + { + "milestone": 32, + "cumulativePoints": 15150, + "engramPayout": 550 + }, + { + "milestone": 33, + "cumulativePoints": 15800, + "engramPayout": 650 + }, + { + "milestone": 34, + "cumulativePoints": 16500, + "engramPayout": 800 + }, + { + "milestone": 35, + "cumulativePoints": 17250, + "engramPayout": 1000 + }, + { + "milestone": 36, + "cumulativePoints": 18000, + "engramPayout": 2000 + } + ], + "chestsMilestones": [ + { + "chestLevel": 1, + "engramCost": 60 + }, + { + "chestLevel": 2, + "engramCost": 80 + }, + { + "chestLevel": 3, + "engramCost": 100 + }, + { + "chestLevel": 4, + "engramCost": 120 + }, + { + "chestLevel": 5, + "engramCost": 140 + }, + { + "chestLevel": 6, + "engramCost": 160 + }, + { + "chestLevel": 7, + "engramCost": 180 + }, + { + "chestLevel": 8, + "engramCost": 200 + }, + { + "chestLevel": 9, + "engramCost": 220 + }, + { + "chestLevel": 10, + "engramCost": 240 + }, + { + "chestLevel": 11, + "engramCost": 260 + }, + { + "chestLevel": 12, + "engramCost": 280 + }, + { + "chestLevel": 13, + "engramCost": 300 + }, + { + "chestLevel": 14, + "engramCost": 325 + }, + { + "chestLevel": 15, + "engramCost": 350 + }, + { + "chestLevel": 16, + "engramCost": 350 + }, + { + "chestLevel": 17, + "engramCost": 350 + }, + { + "chestLevel": 18, + "engramCost": 350 + }, + { + "chestLevel": 19, + "engramCost": 350 + }, + { + "chestLevel": 20, + "engramCost": 350 + }, + { + "chestLevel": 21, + "engramCost": 350 + }, + { + "chestLevel": 22, + "engramCost": 350 + }, + { + "chestLevel": 23, + "engramCost": 350 + }, + { + "chestLevel": 24, + "engramCost": 350 + }, + { + "chestLevel": 25, + "engramCost": 350 + }, + { + "chestLevel": 26, + "engramCost": 350 + }, + { + "chestLevel": 27, + "engramCost": 350 + }, + { + "chestLevel": 28, + "engramCost": 350 + }, + { + "chestLevel": 29, + "engramCost": 350 + }, + { + "chestLevel": 30, + "engramCost": 350 + }, + { + "chestLevel": 31, + "engramCost": 350 + }, + { + "chestLevel": 32, + "engramCost": 350 + }, + { + "chestLevel": 33, + "engramCost": 350 + }, + { + "chestLevel": 34, + "engramCost": 350 + }, + { + "chestLevel": 35, + "engramCost": 350 + }, + { + "chestLevel": 36, + "engramCost": 350 + } + ], + "shardsPerChest": 10, + "progression": { + "unlock": 150, + "fourStars": 60, + "fiveStars": 70, + "blueStar": 80 } - ], - "shardsPerChest": 10, - "progression": { - "unlock": 150, - "fourStars": 60, - "fiveStars": 70, - "blueStar": 80 - } -} \ No newline at end of file +} diff --git a/src/assets/legendary-events/Vitruvius.json b/src/assets/legendary-events/Vitruvius.json index 53ee750d..d08cd3e6 100644 --- a/src/assets/legendary-events/Vitruvius.json +++ b/src/assets/legendary-events/Vitruvius.json @@ -1,430 +1,391 @@ { - "id": 6, - "name": "Vitruvius", - "wikiLink": "https://tacticus.fandom.com/wiki/LE-Vitruvius", - "eventStage": 1, - "nextEventDate": "December 24", - "regularMissions": [ - "Play one Legendary Event Battle, Deal 1000 damage", - "Defeat 30 Necron", - "Defeat 75 Black Legion", - "Defeat 100 Astra Militarum", - "Use abilities 15 times with Xenos units, Deal 10k damage with Abilities", - "Use abilities 20 times with Imperial units, Deal 15k damage with Abilities", - "Use abilities 25 times with Chaos units, Deal 20k damage with Abilities", - "Play 3 Legendary Event Battles, Deal 25k Flame damage", - "Play 3 Legendary Event Battles, Deal 25k Bolter damage", - "Play 3 Legendary Event Battles, Deal 25k Power damage" - ], - "premiumMissions": [ - "Win 1 battle without Summoning any units", - "Defeat 30 enemies with Xenos units", - "Defeat 75 enemies with Imperial units", - "Defeat 100 enemies with Chaos units", - "Win 5 battles without deploying any Resilient characters", - "Win 5 battles without deploying any Infiltrate characters", - "Win 5 battles without deploying any Psyker characters", - "Defeat 75 enemies with Flame Damage", - "Defeat 75 enemies with Bolter Damage", - "Defeat 75 enemies with Power Damage" - ], - "alpha": { - "name": "Alpha (No Necrons)", - "killPoints": 21, - "battlesPoints": [ - 36, - 40, - 51, - 51, - 53, - 48, - 43, - 60, - 57, - 63, - 57, - 65 - ] - }, - "beta": { - "name": "Beta (No Chaos)", - "killPoints": 21, - "battlesPoints": [ - 40, - 41, - 43, - 53, - 48, - 50, - 61, - 58, - 55, - 56, - 62, - 57 - ] - }, - "gamma": { - "name": "Gamma (No Imperials)", - "killPoints": 35, - "battlesPoints": [ - 42, - 46, - 41, - 39, - 50, - 37, - 44, - 45, - 48, - 46, - 46, - 56 - ] - }, - "pointsMilestones": [ - { - "milestone": 1, - "cumulativePoints": 100, - "engramPayout": 25 - }, - { - "milestone": 2, - "cumulativePoints": 250, - "engramPayout": 30 - }, - { - "milestone": 3, - "cumulativePoints": 500, - "engramPayout": 35 - }, - { - "milestone": 4, - "cumulativePoints": 1000, - "engramPayout": 40 - }, - { - "milestone": 5, - "cumulativePoints": 1500, - "engramPayout": 45 - }, - { - "milestone": 6, - "cumulativePoints": 2000, - "engramPayout": 50 - }, - { - "milestone": 7, - "cumulativePoints": 2500, - "engramPayout": 55 - }, - { - "milestone": 8, - "cumulativePoints": 3000, - "engramPayout": 60 - }, - { - "milestone": 9, - "cumulativePoints": 3500, - "engramPayout": 65 - }, - { - "milestone": 10, - "cumulativePoints": 4000, - "engramPayout": 70 - }, - { - "milestone": 11, - "cumulativePoints": 4500, - "engramPayout": 75 - }, - { - "milestone": 12, - "cumulativePoints": 5000, - "engramPayout": 80 - }, - { - "milestone": 13, - "cumulativePoints": 5500, - "engramPayout": 85 - }, - { - "milestone": 14, - "cumulativePoints": 6000, - "engramPayout": 90 - }, - { - "milestone": 15, - "cumulativePoints": 6500, - "engramPayout": 95 - }, - { - "milestone": 16, - "cumulativePoints": 7000, - "engramPayout": 100 - }, - { - "milestone": 17, - "cumulativePoints": 7500, - "engramPayout": 110 - }, - { - "milestone": 18, - "cumulativePoints": 8000, - "engramPayout": 120 - }, - { - "milestone": 19, - "cumulativePoints": 8500, - "engramPayout": 140 - }, - { - "milestone": 20, - "cumulativePoints": 9000, - "engramPayout": 160 - }, - { - "milestone": 21, - "cumulativePoints": 9500, - "engramPayout": 180 - }, - { - "milestone": 22, - "cumulativePoints": 10000, - "engramPayout": 200 - }, - { - "milestone": 23, - "cumulativePoints": 10500, - "engramPayout": 220 - }, - { - "milestone": 24, - "cumulativePoints": 11000, - "engramPayout": 240 - }, - { - "milestone": 25, - "cumulativePoints": 11500, - "engramPayout": 260 - }, - { - "milestone": 26, - "cumulativePoints": 12000, - "engramPayout": 280 - }, - { - "milestone": 27, - "cumulativePoints": 12500, - "engramPayout": 300 - }, - { - "milestone": 28, - "cumulativePoints": 13000, - "engramPayout": 350 - }, - { - "milestone": 29, - "cumulativePoints": 13500, - "engramPayout": 400 - }, - { - "milestone": 30, - "cumulativePoints": 14000, - "engramPayout": 450 - }, - { - "milestone": 31, - "cumulativePoints": 14500, - "engramPayout": 500 - }, - { - "milestone": 32, - "cumulativePoints": 15000, - "engramPayout": 550 - }, - { - "milestone": 33, - "cumulativePoints": 15500, - "engramPayout": 600 - }, - { - "milestone": 34, - "cumulativePoints": 16000, - "engramPayout": 650 - }, - { - "milestone": 35, - "cumulativePoints": 16500, - "engramPayout": 700 - }, - { - "milestone": 36, - "cumulativePoints": 17000, - "engramPayout": 800 - }, - { - "milestone": 37, - "cumulativePoints": 17500, - "engramPayout": 1000 - }, - { - "milestone": 38, - "cumulativePoints": 18000, - "engramPayout": 1300 - } - ], - "chestsMilestones": [ - { - "chestLevel": 1, - "engramCost": 60 - }, - { - "chestLevel": 2, - "engramCost": 80 - }, - { - "chestLevel": 3, - "engramCost": 100 - }, - { - "chestLevel": 4, - "engramCost": 120 - }, - { - "chestLevel": 5, - "engramCost": 140 - }, - { - "chestLevel": 6, - "engramCost": 160 - }, - { - "chestLevel": 7, - "engramCost": 180 - }, - { - "chestLevel": 8, - "engramCost": 200 - }, - { - "chestLevel": 9, - "engramCost": 220 - }, - { - "chestLevel": 10, - "engramCost": 240 - }, - { - "chestLevel": 11, - "engramCost": 260 - }, - { - "chestLevel": 12, - "engramCost": 280 - }, - { - "chestLevel": 13, - "engramCost": 300 - }, - { - "chestLevel": 14, - "engramCost": 320 - }, - { - "chestLevel": 15, - "engramCost": 340 - }, - { - "chestLevel": 16, - "engramCost": 350 - }, - { - "chestLevel": 17, - "engramCost": 360 - }, - { - "chestLevel": 18, - "engramCost": 370 - }, - { - "chestLevel": 19, - "engramCost": 380 - }, - { - "chestLevel": 20, - "engramCost": 390 - }, - { - "chestLevel": 21, - "engramCost": 400 - }, - { - "chestLevel": 22, - "engramCost": 400 - }, - { - "chestLevel": 23, - "engramCost": 400 - }, - { - "chestLevel": 24, - "engramCost": 400 - }, - { - "chestLevel": 25, - "engramCost": 400 - }, - { - "chestLevel": 26, - "engramCost": 400 - }, - { - "chestLevel": 27, - "engramCost": 400 - }, - { - "chestLevel": 28, - "engramCost": 400 - }, - { - "chestLevel": 29, - "engramCost": 400 - }, - { - "chestLevel": 30, - "engramCost": 400 - }, - { - "chestLevel": 31, - "engramCost": 400 - }, - { - "chestLevel": 32, - "engramCost": 400 - }, - { - "chestLevel": 33, - "engramCost": 400 - }, - { - "chestLevel": 34, - "engramCost": 400 - }, - { - "chestLevel": 35, - "engramCost": 400 - }, - { - "chestLevel": 36, - "engramCost": 400 + "id": 6, + "name": "Vitruvius", + "wikiLink": "https://tacticus.fandom.com/wiki/LE-Vitruvius", + "eventStage": 1, + "nextEventDate": "December 24", + "regularMissions": [ + "Play one Legendary Event Battle, Deal 1000 damage", + "Defeat 30 Necron", + "Defeat 75 Black Legion", + "Defeat 100 Astra Militarum", + "Use abilities 15 times with Xenos units, Deal 10k damage with Abilities", + "Use abilities 20 times with Imperial units, Deal 15k damage with Abilities", + "Use abilities 25 times with Chaos units, Deal 20k damage with Abilities", + "Play 3 Legendary Event Battles, Deal 25k Flame damage", + "Play 3 Legendary Event Battles, Deal 25k Bolter damage", + "Play 3 Legendary Event Battles, Deal 25k Power damage" + ], + "premiumMissions": [ + "Win 1 battle without Summoning any units", + "Defeat 30 enemies with Xenos units", + "Defeat 75 enemies with Imperial units", + "Defeat 100 enemies with Chaos units", + "Win 5 battles without deploying any Resilient characters", + "Win 5 battles without deploying any Infiltrate characters", + "Win 5 battles without deploying any Psyker characters", + "Defeat 75 enemies with Flame Damage", + "Defeat 75 enemies with Bolter Damage", + "Defeat 75 enemies with Power Damage" + ], + "alpha": { + "name": "Alpha (No Necrons)", + "killPoints": 21, + "battlesPoints": [36, 40, 51, 51, 53, 48, 43, 60, 57, 63, 57, 65] + }, + "beta": { + "name": "Beta (No Chaos)", + "killPoints": 21, + "battlesPoints": [40, 41, 43, 53, 48, 50, 61, 58, 55, 56, 62, 57] + }, + "gamma": { + "name": "Gamma (No Imperials)", + "killPoints": 35, + "battlesPoints": [42, 46, 41, 39, 50, 37, 44, 45, 48, 46, 46, 56] + }, + "pointsMilestones": [ + { + "milestone": 1, + "cumulativePoints": 100, + "engramPayout": 25 + }, + { + "milestone": 2, + "cumulativePoints": 250, + "engramPayout": 30 + }, + { + "milestone": 3, + "cumulativePoints": 500, + "engramPayout": 35 + }, + { + "milestone": 4, + "cumulativePoints": 1000, + "engramPayout": 40 + }, + { + "milestone": 5, + "cumulativePoints": 1500, + "engramPayout": 45 + }, + { + "milestone": 6, + "cumulativePoints": 2000, + "engramPayout": 50 + }, + { + "milestone": 7, + "cumulativePoints": 2500, + "engramPayout": 55 + }, + { + "milestone": 8, + "cumulativePoints": 3000, + "engramPayout": 60 + }, + { + "milestone": 9, + "cumulativePoints": 3500, + "engramPayout": 65 + }, + { + "milestone": 10, + "cumulativePoints": 4000, + "engramPayout": 70 + }, + { + "milestone": 11, + "cumulativePoints": 4500, + "engramPayout": 75 + }, + { + "milestone": 12, + "cumulativePoints": 5000, + "engramPayout": 80 + }, + { + "milestone": 13, + "cumulativePoints": 5500, + "engramPayout": 85 + }, + { + "milestone": 14, + "cumulativePoints": 6000, + "engramPayout": 90 + }, + { + "milestone": 15, + "cumulativePoints": 6500, + "engramPayout": 95 + }, + { + "milestone": 16, + "cumulativePoints": 7000, + "engramPayout": 100 + }, + { + "milestone": 17, + "cumulativePoints": 7500, + "engramPayout": 110 + }, + { + "milestone": 18, + "cumulativePoints": 8000, + "engramPayout": 120 + }, + { + "milestone": 19, + "cumulativePoints": 8500, + "engramPayout": 140 + }, + { + "milestone": 20, + "cumulativePoints": 9000, + "engramPayout": 160 + }, + { + "milestone": 21, + "cumulativePoints": 9500, + "engramPayout": 180 + }, + { + "milestone": 22, + "cumulativePoints": 10000, + "engramPayout": 200 + }, + { + "milestone": 23, + "cumulativePoints": 10500, + "engramPayout": 220 + }, + { + "milestone": 24, + "cumulativePoints": 11000, + "engramPayout": 240 + }, + { + "milestone": 25, + "cumulativePoints": 11500, + "engramPayout": 260 + }, + { + "milestone": 26, + "cumulativePoints": 12000, + "engramPayout": 280 + }, + { + "milestone": 27, + "cumulativePoints": 12500, + "engramPayout": 300 + }, + { + "milestone": 28, + "cumulativePoints": 13000, + "engramPayout": 350 + }, + { + "milestone": 29, + "cumulativePoints": 13500, + "engramPayout": 400 + }, + { + "milestone": 30, + "cumulativePoints": 14000, + "engramPayout": 450 + }, + { + "milestone": 31, + "cumulativePoints": 14500, + "engramPayout": 500 + }, + { + "milestone": 32, + "cumulativePoints": 15000, + "engramPayout": 550 + }, + { + "milestone": 33, + "cumulativePoints": 15500, + "engramPayout": 600 + }, + { + "milestone": 34, + "cumulativePoints": 16000, + "engramPayout": 650 + }, + { + "milestone": 35, + "cumulativePoints": 16500, + "engramPayout": 700 + }, + { + "milestone": 36, + "cumulativePoints": 17000, + "engramPayout": 800 + }, + { + "milestone": 37, + "cumulativePoints": 17500, + "engramPayout": 1000 + }, + { + "milestone": 38, + "cumulativePoints": 18000, + "engramPayout": 1300 + } + ], + "chestsMilestones": [ + { + "chestLevel": 1, + "engramCost": 60 + }, + { + "chestLevel": 2, + "engramCost": 80 + }, + { + "chestLevel": 3, + "engramCost": 100 + }, + { + "chestLevel": 4, + "engramCost": 120 + }, + { + "chestLevel": 5, + "engramCost": 140 + }, + { + "chestLevel": 6, + "engramCost": 160 + }, + { + "chestLevel": 7, + "engramCost": 180 + }, + { + "chestLevel": 8, + "engramCost": 200 + }, + { + "chestLevel": 9, + "engramCost": 220 + }, + { + "chestLevel": 10, + "engramCost": 240 + }, + { + "chestLevel": 11, + "engramCost": 260 + }, + { + "chestLevel": 12, + "engramCost": 280 + }, + { + "chestLevel": 13, + "engramCost": 300 + }, + { + "chestLevel": 14, + "engramCost": 320 + }, + { + "chestLevel": 15, + "engramCost": 340 + }, + { + "chestLevel": 16, + "engramCost": 350 + }, + { + "chestLevel": 17, + "engramCost": 360 + }, + { + "chestLevel": 18, + "engramCost": 370 + }, + { + "chestLevel": 19, + "engramCost": 380 + }, + { + "chestLevel": 20, + "engramCost": 390 + }, + { + "chestLevel": 21, + "engramCost": 400 + }, + { + "chestLevel": 22, + "engramCost": 400 + }, + { + "chestLevel": 23, + "engramCost": 400 + }, + { + "chestLevel": 24, + "engramCost": 400 + }, + { + "chestLevel": 25, + "engramCost": 400 + }, + { + "chestLevel": 26, + "engramCost": 400 + }, + { + "chestLevel": 27, + "engramCost": 400 + }, + { + "chestLevel": 28, + "engramCost": 400 + }, + { + "chestLevel": 29, + "engramCost": 400 + }, + { + "chestLevel": 30, + "engramCost": 400 + }, + { + "chestLevel": 31, + "engramCost": 400 + }, + { + "chestLevel": 32, + "engramCost": 400 + }, + { + "chestLevel": 33, + "engramCost": 400 + }, + { + "chestLevel": 34, + "engramCost": 400 + }, + { + "chestLevel": 35, + "engramCost": 400 + }, + { + "chestLevel": 36, + "engramCost": 400 + } + ], + "shardsPerChest": 25, + "progression": { + "unlock": 400, + "fourStars": 120, + "fiveStars": 180, + "blueStar": 200 } - ], - "shardsPerChest": 25, - "progression": { - "unlock": 400, - "fourStars": 120, - "fiveStars": 180, - "blueStar": 200 - } -} \ No newline at end of file +} diff --git a/src/assets/rankUpData.json b/src/assets/rankUpData.json index ffa4ccdd..6aee8645 100644 --- a/src/assets/rankUpData.json +++ b/src/assets/rankUpData.json @@ -1,8979 +1,8832 @@ { - "Vindicta": { - "Stone I": [ - "Minor Bionic Enhancement", - "Reliquary of Protection", - "Can of Promethium", - "Canister of Chemicals", - "Pile of Salvage", - "Adamantium Ore" - ], - "Stone II": [ - "The Iron Phoenix", - "Reliquary of Protection", - "Canister of Chemicals", - "Attack Vector Data-Slate", - "Pile of Salvage", - "Oath Seal" - ], - "Stone III": [ - "Field Ration", - "Metal Decorative Skull", - "Lesser Reliquary of Vengeance", - "Power Pack Bundle", - "Rebreather", - "Box of Salvage" - ], - "Iron I": [ - "First Aid Kit", - "Repair-Kit", - "Weapon Anointment Oils", - "Magazine", - "Rebreather", - "Ceramite Lump" - ], - "Iron II": [ - "The Silver Eagle with Swords", - "Box of Rations", - "Belt of Frag Grenades", - "Reliquary of Vengeance", - "Adamantium Lump", - "Ceramite Lump" - ], - "Iron III": [ - "Repair-Kit", - "Exquisite Medical Supplies", - "Round of Ammo", - "Advanced Combat Stimms", - "Box of Salvage", - "Ceramite Bar" - ], - "Bronze I": [ - "Advanced Bionics", - "Medical Supply Crate", - "Bionic Eye", - "High-Capacity Power Pack", - "Impressive Armor Trim", - "Ceramite Sheet" - ], - "Bronze II": [ - "Box of Rations", - "Medical Supply Crate", - "Special Issue Ammo", - "Anointed Auxiliary Core", - "Ceramite Bar", - "Ceramite Bar" - ], - "Bronze III": [ - "Advanced Bionics", - "Legendary Reliquary of Protection", - "Bionic Eye", - "Belt of Krak Grenades", - "Ceramite Bar", - "Ceramite Sheet" - ], - "Silver I": [ - "Exquisite Medical Supplies", - "Legendary Reliquary of Protection", - "Legendary Reliquary of Vengeance", - "Relic Micro-Generator", - "Ceramite Sheet", - "Ceramite Sheet" - ], - "Silver II": [ - "Roses of Sacrifice", - "Golden Ornamental Skull", - "Hymn of the Divine", - "Anointed Micro-Generator", - "Holy Corset Armor", - "Grand Purity Seal" - ], - "Silver III": [ - "Roses of the Divine", - "Legendary Reliquary of Protection", - "Hymn of Sacrifice", - "Digital Weapons", - "Sanctified Corset Armor", - "Divine Cloak" - ], - "Gold I": [ - "Simulacrum Sanctorum", - "Grandiose Skull Ornament", - "Hymn of the Divine", - "Blessed Promethium Tank", - "Holy Corset Armor", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Roses of the Divine", - "Grandiose Skull Ornament", - "Blessed Bolts", - "Blessed Promethium Tank", - "Sabbat-Pattern Visor", - "Ceramite Plates" - ], - "Gold III": [ - "Simulacrum Sanctorum", - "Legendary Reliquary of Protection", - "Blessed Bolts", - "Digital Weapons", - "Sabbat-Pattern Visor", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Simulacrum Sanctorum", - "Legendary Reliquary of Protection", - "Blessed Bolts", - "Blessed Promethium Tank", - "Sabbat-Pattern Visor", - "Ceramite Plates" - ] - }, - "Isabella": { - "Stone I": [ - "Standard-Issue Tourniquet", - "Healing Ointment", - "Vox-Caster", - "Weapon Anointment Oils", - "Rebreather", - "Purity Seal" - ], - "Stone II": [ - "Scrolls", - "Lesser Reliquary of Protection", - "Round of Ammo", - "Barrel of Promethium", - "Armor Trim", - "Cloak" - ], - "Stone III": [ - "Scrolls", - "Lesser Reliquary of Protection", - "Magazine", - "Fine Micro-Generator", - "Rebreather", - "Cloak" - ], - "Iron I": [ - "Writings", - "The Phoenix Ascendant", - "Attack Vector Data-Slate", - "Blessed Weapon Oils", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "Satchel", - "Reliquary of Protection", - "Fine Auxiliary Core", - "Prey-Sight", - "Advanced Rebreather", - "Fine Cloak" - ], - "Iron III": [ - "Metal Decorative Skull", - "First Aid Kit", - "Hymn of Martyrs", - "Blessed Weapon Oils", - "Ceramite Lump", - "Ceramite Bar" - ], - "Bronze I": [ - "Rose of Martyrs", - "Medical Supply Crate", - "Classified Data-Slate", - "Powerful Micro-Generator", - "Impressive Armor Trim", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Roses of Sacrifice", - "Sanctified Reliquary of Protection", - "Powerful Auxiliary Core", - "Anointed Micro-Generator", - "Blessed Corset Armor", - "Fine Cloak" - ], - "Bronze III": [ - "Golden Ornamental Skull", - "Medical Supply Crate", - "Hymn of Sacrifice", - "Sanctified Weapon Oils", - "Sanctified Corset Armor", - "Grand Purity Seal" - ], - "Silver I": [ - "Roses of Sacrifice", - "Greater Reliquary of Protection", - "Hymn of Sacrifice", - "Blessed Promethium Canister", - "Sanctified Corset Armor", - "Decorated Cloak" - ], - "Silver II": [ - "Roses of Sacrifice", - "Exquisite Medical Supplies", - "Hymn of the Divine", - "Blessed Promethium Canister", - "Holy Corset Armor", - "Grand Purity Seal" - ], - "Silver III": [ - "Roses of the Divine", - "Legendary Reliquary of Protection", - "Hymn of Sacrifice", - "Digital Weapons", - "Sanctified Corset Armor", - "Divine Cloak" - ], - "Gold I": [ - "Simulacrum Sanctorum", - "Relic Bionic Enhancement", - "Hymn of the Divine", - "Blessed Promethium Tank", - "Holy Corset Armor", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Roses of the Divine", - "Grandiose Skull Ornament", - "Blessed Bolts", - "Blessed Promethium Tank", - "Sabbat-Pattern Visor", - "Divine Cloak" - ], - "Gold III": [ - "Simulacrum Sanctorum", - "Legendary Reliquary of Protection", - "Blessed Bolts", - "Digital Weapons", - "Sabbat-Pattern Visor", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Simulacrum Sanctorum", - "Legendary Reliquary of Protection", - "Blessed Bolts", - "Blessed Promethium Tank", - "Sabbat-Pattern Visor", - "Ceramite Plates" - ] - }, - "Morvenn Vahl": { - "Stone I": [ - "The Iron Phoenix", - "Minor Bionic Enhancement", - "Vox-Caster", - "Weapon Anointment Oils", - "Armor Trim", - "Purity Seal" - ], - "Stone II": [ - "Wires", - "Lesser Reliquary of Protection", - "Round of Ammo", - "Plasma Cell", - "Metal Joints", - "Cloak" - ], - "Stone III": [ - "Ropes and Chains", - "Mission Objective", - "Magazine", - "Plasma Cell", - "Armor Trim", - "Blessed Tasset Plate" - ], - "Iron I": [ - "Reinforced Cables", - "Reliquary of Protection", - "Attack Vector Data-Slate", - "Blessed Weapon Oils", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "The Silver Eagle with Swords", - "Mission Objective", - "Fine Auxiliary Core", - "Prey-Sight", - "Ceramite Lump", - "Adamantium Bar" - ], - "Iron III": [ - "Metal Decorative Skull", - "Battle Plan", - "Hymn of Martyrs", - "Blessed Weapon Oils", - "Ceramite Lump", - "Ceramite Bar" - ], - "Bronze I": [ - "Rose of Martyrs", - "Electromantic Cable Bundle", - "Classified Data-Slate", - "Plasma Cell Bundle", - "Impressive Armor Trim", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Roses of Sacrifice", - "Sanctified Reliquary of Protection", - "Powerful Auxiliary Core", - "Plasma Cell Crate", - "Blessed Corset Armor", - "Adamantium Bar" - ], - "Bronze III": [ - "Golden Ornamental Skull", - "Advanced Bionics", - "Hymn of Sacrifice", - "Sanctified Weapon Oils", - "Sanctified Corset Armor", - "Grand Purity Seal" - ], - "Silver I": [ - "Roses of Sacrifice", - "Greater Reliquary of Protection", - "Hymn of Sacrifice", - "Bionic Neural Pathways", - "Sanctified Corset Armor", - "Adamantium Sheet" - ], - "Silver II": [ - "Roses of Sacrifice", - "Mars-Pattern Bionics", - "Hymn of the Divine", - "Bionic Neural Pathways", - "Holy Corset Armor", - "Grand Purity Seal" - ], - "Silver III": [ - "Roses of the Divine", - "Legendary Reliquary of Protection", - "Hymn of Sacrifice", - "Digital Weapons", - "Sanctified Corset Armor", - "Adamantium Plates" - ], - "Gold I": [ - "Simulacrum Sanctorum", - "Relic Bionic Enhancement", - "Hymn of the Divine", - "Powered Blade", - "Holy Corset Armor", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Roses of the Divine", - "Relic Bionic Enhancement", - "Blessed Bolts", - "Powered Blade", - "Sabbat-Pattern Visor", - "Adamantium Plates" - ], - "Gold III": [ - "Simulacrum Sanctorum", - "Legendary Reliquary of Protection", - "Blessed Bolts", - "Digital Weapons", - "Sabbat-Pattern Visor", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Simulacrum Sanctorum", - "Legendary Reliquary of Protection", - "Blessed Bolts", - "Relic Micro-Generator", - "Sabbat-Pattern Visor", - "Ceramite Plates" - ] - }, - "Roswitha": { - "Stone I": [ - "The Iron Phoenix", - "Mission Assignment", - "Vox-Caster", - "Weapon Anointment Oils", - "Rebreather", - "Purity Seal" - ], - "Stone II": [ - "Standard-Issue Tourniquet", - "Lesser Reliquary of Protection", - "Frag Grenade", - "Barrel of Promethium", - "Rebreather", - "Cloak" - ], - "Stone III": [ - "Ropes and Chains", - "Reliquary of Protection", - "Belt of Frag Grenades", - "Barrel of Promethium", - "Armor Trim", - "Blessed Tasset Plate" - ], - "Iron I": [ - "Writings", - "Mission Objective", - "Attack Vector Data-Slate", - "Blessed Weapon Oils", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "The Silver Eagle with Swords", - "Reliquary of Protection", - "Fine Auxiliary Core", - "Prey-Sight", - "Ceramite Lump", - "Ceramite Bar" - ], - "Iron III": [ - "Kill Count", - "Battle Plan", - "Hymn of Martyrs", - "Blessed Weapon Oils", - "Advanced Rebreather", - "Fine Cloak" - ], - "Bronze I": [ - "Rose of Martyrs", - "Battle Plan", - "Krak Grenade", - "Powerful Micro-Generator", - "Impressive Armor Trim", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Roses of Sacrifice", - "Sanctified Reliquary of Protection", - "Belt of Krak Grenades", - "Powerful Micro-Generator", - "Blessed Corset Armor", - "Adamantium Bar" - ], - "Bronze III": [ - "Golden Ornamental Skull", - "Advanced Bionics", - "Hymn of Sacrifice", - "Sanctified Weapon Oils", - "Sanctified Corset Armor", - "Grand Purity Seal" - ], - "Silver I": [ - "Roses of Sacrifice", - "Greater Reliquary of Protection", - "Hymn of Sacrifice", - "Blessed Promethium Canister", - "Sanctified Corset Armor", - "Decorated Cloak" - ], - "Silver II": [ - "Roses of Sacrifice", - "Mars-Pattern Bionics", - "Hymn of the Divine", - "Blessed Promethium Canister", - "Holy Corset Armor", - "Grand Purity Seal" - ], - "Silver III": [ - "Roses of the Divine", - "Legendary Reliquary of Protection", - "Hymn of Sacrifice", - "Digital Weapons", - "Sanctified Corset Armor", - "Divine Cloak" - ], - "Gold I": [ - "Simulacrum Sanctorum", - "Grandiose Skull Ornament", - "Hymn of the Divine", - "Blessed Promethium Tank", - "Holy Corset Armor", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Roses of the Divine", - "Relic Bionic Enhancement", - "Blessed Bolts", - "Blessed Promethium Tank", - "Sabbat-Pattern Visor", - "Divine Cloak" - ], - "Gold III": [ - "Simulacrum Sanctorum", - "Legendary Reliquary of Protection", - "Blessed Bolts", - "Digital Weapons", - "Sabbat-Pattern Visor", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Simulacrum Sanctorum", - "Legendary Reliquary of Protection", - "Blessed Bolts", - "Blessed Promethium Tank", - "Sabbat-Pattern Visor", - "Ceramite Plates" - ] - }, - "Celestine": { - "Stone I": [ - "Scrolls", - "The Silver Aquila", - "Canister of Chemicals", - "Weapon Anointment Oils", - "Armor Trim", - "Purity Seal" - ], - "Stone II": [ - "Scrolls", - "Lesser Reliquary of Protection", - "Can of Promethium", - "Divinator Class Auspex", - "Adamantium Ore", - "Blessed Tasset Plate" - ], - "Stone III": [ - "Ropes and Chains", - "Reliquary of Protection", - "Fine Auxiliary Core", - "Fine Micro-Generator", - "Armor Trim", - "Cloak" - ], - "Iron I": [ - "Writings", - "Mission Objective", - "Barrel of Promethium", - "Blessed Weapon Oils", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "The Silver Eagle with Swords", - "Reliquary of Protection", - "Fine Auxiliary Core", - "Supernatural Sight", - "Air Purificator", - "Fine Cloak" - ], - "Iron III": [ - "Metal Decorative Skull", - "Battle Plan", - "Hymn of Martyrs", - "Blessed Weapon Oils", - "Air Purificator", - "Ceramite Bar" - ], - "Bronze I": [ - "Rose of Martyrs", - "Battle Plan", - "Tank of Promethium", - "Powerful Micro-Generator", - "Impressive Armor Trim", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Metal Decorative Skull", - "Sanctified Reliquary of Protection", - "Blessed Promethium Tank", - "Powerful Micro-Generator", - "Blessed Corset Armor", - "Fine Cloak" - ], - "Bronze III": [ - "Rose of Martyrs", - "Sanctified Reliquary of Protection", - "Hymn of Sacrifice", - "Sanctified Weapon Oils", - "Sanctified Corset Armor", - "Grand Purity Seal" - ], - "Silver I": [ - "Roses of Sacrifice", - "Greater Reliquary of Protection", - "Hymn of Sacrifice", - "Blessed Promethium Canister", - "Sanctified Corset Armor", - "Decorated Cloak" - ], - "Silver II": [ - "Roses of Sacrifice", - "Golden Ornamental Skull", - "Hymn of the Divine", - "Anointed Micro-Generator", - "Holy Corset Armor", - "Grand Purity Seal" - ], - "Silver III": [ - "Roses of the Divine", - "Legendary Reliquary of Protection", - "Hymn of Sacrifice", - "Digital Weapons", - "Sanctified Corset Armor", - "Divine Cloak" - ], - "Gold I": [ - "Simulacrum Sanctorum", - "Grandiose Skull Ornament", - "Hymn of the Divine", - "Powered Blade", - "Holy Corset Armor", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Roses of the Divine", - "Grandiose Skull Ornament", - "Blessed Bolts", - "Powered Blade", - "Sabbat-Pattern Visor", - "Divine Cloak" - ], - "Gold III": [ - "Simulacrum Sanctorum", - "Legendary Reliquary of Protection", - "Blessed Bolts", - "Digital Weapons", - "Sabbat-Pattern Visor", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Simulacrum Sanctorum", - "Legendary Reliquary of Protection", - "Blessed Bolts", - "Blessed Promethium Tank", - "Sabbat-Pattern Visor", - "Ceramite Plates" - ] - }, - "Sibyll": { - "Stone I": [ - "The Iron Phoenix", - "Healing Ointment", - "Auspex", - "Weapon Anointment Oils", - "Rebreather", - "Purity Seal" - ], - "Stone II": [ - "Scrolls", - "Lesser Reliquary of Protection", - "Single Power Pack", - "Fine Micro-Generator", - "Rebreather", - "Cloak" - ], - "Stone III": [ - "Ropes and Chains", - "Reliquary of Protection", - "Power Pack Bundle", - "Fine Micro-Generator", - "Armor Trim", - "Box of Salvage" - ], - "Iron I": [ - "Writings", - "Mission Objective", - "Divinator Class Auspex", - "Blessed Weapon Oils", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "Satchel", - "Reliquary of Protection", - "Fine Auxiliary Core", - "High-Capacity Power Pack", - "Advanced Rebreather", - "Fine Cloak" - ], - "Iron III": [ - "Metal Decorative Skull", - "Advanced Bionics", - "Entrenching Tool", - "Blessed Weapon Oils", - "Advanced Rebreather", - "Fine Cloak" - ], - "Bronze I": [ - "Zeidos Ribbon", - "Medical Supply Crate", - "Classified Data-Slate", - "Powerful Micro-Generator", - "Ceramite Bar", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Epaulettes", - "Sanctified Reliquary of Protection", - "Anointed Auxiliary Core", - "Powerful Micro-Generator", - "Flak Plates", - "Fine Cloak" - ], - "Bronze III": [ - "Metal Decorative Skull", - "Battle Plan", - "Veteran's Entrenching Tool", - "Sanctified Weapon Oils", - "High-Grade Flak Plates", - "Grand Purity Seal" - ], - "Silver I": [ - "Epaulettes", - "Greater Reliquary of Protection", - "Veteran's Entrenching Tool", - "Bionic Neural Pathways", - "High-Grade Flak Plates", - "Decorated Cloak" - ], - "Silver II": [ - "Epaulettes", - "Golden Ornamental Skull", - "Heirloom Entrenching Tool", - "Anointed Micro-Generator", - "Artificer Flak Plates", - "Grand Purity Seal" - ], - "Silver III": [ - "Epaulettes of Renown", - "Legendary Reliquary of Protection", - "Veteran's Entrenching Tool", - "Digital Weapons", - "High-Grade Flak Plates", - "Divine Cloak" - ], - "Gold I": [ - "Sash of Honors", - "Tome of Arcane Knowledge", - "Heirloom Entrenching Tool", - "Relic Micro-Generator", - "Artificer Flak Plates", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Epaulettes of Renown", - "Relic Bionic Enhancement", - "Medallion Resolute", - "Relic Micro-Generator", - "Bastion Honour", - "Divine Cloak" - ], - "Gold III": [ - "Sash of Honors", - "Legendary Reliquary of Protection", - "Medallion Resolute", - "Digital Weapons", - "Bastion Honour", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Sash of Honors", - "Tome of Arcane Knowledge", - "Medallion Resolute", - "Relic Micro-Generator", - "Bastion Honour", - "Adamantium Plates" - ] - }, - "Commissar Yarrick": { - "Stone I": [ - "The Silver Aquila", - "Minor Bionic Enhancement", - "Vox-Caster", - "Weapon Anointment Oils", - "Thick Skin", - "Purity Seal" - ], - "Stone II": [ - "Ropes and Chains", - "Lesser Reliquary of Protection", - "Round of Ammo", - "Attack Vector Data-Slate", - "Metal Joints", - "Box of Salvage" - ], - "Stone III": [ - "The Iron Phoenix", - "Reliquary of Protection", - "Fine Auxiliary Core", - "Classified Data-Slate", - "Armor Trim", - "Cloak" - ], - "Iron I": [ - "The Gold Phoenix", - "Mission Objective", - "Locator Beacon", - "Blessed Weapon Oils", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "Satchel", - "Reliquary of Protection", - "Magazine", - "High-Capacity Power Pack", - "Ceramite Lump", - "Fine Cloak" - ], - "Iron III": [ - "Battle Scar", - "Advanced Bionics", - "Entrenching Tool", - "Blessed Weapon Oils", - "Ceramite Lump", - "Ceramite Bar" - ], - "Bronze I": [ - "Zeidos Ribbon", - "Battle Plan", - "Bionic Eye", - "Advanced Combat Stimms", - "Impressive Armor Trim", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Epaulettes", - "Sanctified Reliquary of Protection", - "Anointed Auxiliary Core", - "High-Capacity Power Pack", - "Flak Plates", - "Fine Cloak" - ], - "Bronze III": [ - "Battle Scar", - "Advanced Bionics", - "Veteran's Entrenching Tool", - "Sanctified Weapon Oils", - "High-Grade Flak Plates", - "Grand Purity Seal" - ], - "Silver I": [ - "Epaulettes", - "Greater Reliquary of Protection", - "Veteran's Entrenching Tool", - "Bionic Neural Pathways", - "High-Grade Flak Plates", - "Decorated Cloak" - ], - "Silver II": [ - "Epaulettes", - "Golden Ornamental Skull", - "Heirloom Entrenching Tool", - "Refined Combat Stimms", - "Artificer Flak Plates", - "Grand Purity Seal" - ], - "Silver III": [ - "Epaulettes of Renown", - "Legendary Reliquary of Protection", - "Veteran's Entrenching Tool", - "Digital Weapons", - "High-Grade Flak Plates", - "Divine Cloak" - ], - "Gold I": [ - "Sash of Honors", - "Relic Bionic Enhancement", - "Heirloom Entrenching Tool", - "Powered Blade", - "Artificer Flak Plates", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Epaulettes of Renown", - "Relic Bionic Enhancement", - "Medallion Resolute", - "Powered Blade", - "Bastion Honour", - "Divine Cloak" - ], - "Gold III": [ - "Sash of Honors", - "Legendary Reliquary of Protection", - "Medallion Resolute", - "Digital Weapons", - "Bastion Honour", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Sash of Honors", - "Grand Strategy", - "Medallion Resolute", - "Relic Micro-Generator", - "Bastion Honour", - "Relic Tasset Plate" - ] - }, - "Kut Skoden": { - "Stone I": [ - "The Iron Phoenix", - "Field Ration", - "Weapon Parts", - "Weapon Anointment Oils", - "Thick Skin", - "Purity Seal" - ], - "Stone II": [ - "The Iron Phoenix", - "Lesser Reliquary of Protection", - "Frag Grenade", - "Combat Stimms", - "Thick Skin", - "Advanced Rebreather" - ], - "Stone III": [ - "Chip Damage", - "Reliquary of Protection", - "Belt of Frag Grenades", - "Combat Stimms", - "Rebreather", - "Advanced Rebreather" - ], - "Iron I": [ - "The Silver Scope", - "Enriched Rations", - "Barrel of Promethium", - "Blessed Weapon Oils", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "The Silver Eagle with Swords", - "Reliquary of Protection", - "Belt of Frag Grenades", - "High-Capacity Power Pack", - "Air Purificator", - "Adamantium Bar" - ], - "Iron III": [ - "Battle Scar", - "Box of Rations", - "Entrenching Tool", - "Blessed Weapon Oils", - "Air Purificator", - "Adamantium Bar" - ], - "Bronze I": [ - "Zeidos Ribbon", - "Box of Rations", - "Tank of Promethium", - "Advanced Combat Stimms", - "Ceramite Bar", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Epaulettes", - "Sanctified Reliquary of Protection", - "Blessed Promethium Tank", - "Advanced Combat Stimms", - "Flak Plates", - "Adamantium Bar" - ], - "Bronze III": [ - "Battle Scar", - "Advanced Bionics", - "Veteran's Entrenching Tool", - "Sanctified Weapon Oils", - "High-Grade Flak Plates", - "Grand Purity Seal" - ], - "Silver I": [ - "Epaulettes", - "Greater Reliquary of Protection", - "Veteran's Entrenching Tool", - "Blessed Promethium Canister", - "High-Grade Flak Plates", - "Adamantium Sheet" - ], - "Silver II": [ - "Epaulettes", - "Golden Ornamental Skull", - "Heirloom Entrenching Tool", - "Refined Combat Stimms", - "Artificer Flak Plates", - "Grand Purity Seal" - ], - "Silver III": [ - "Epaulettes of Renown", - "Legendary Reliquary of Protection", - "Veteran's Entrenching Tool", - "Digital Weapons", - "High-Grade Flak Plates", - "Adamantium Plates" - ], - "Gold I": [ - "Sash of Honors", - "Relic Bionic Enhancement", - "Heirloom Entrenching Tool", - "Blessed Promethium Tank", - "Artificer Flak Plates", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Epaulettes of Renown", - "Relic Bionic Enhancement", - "Medallion Resolute", - "Powered Blade", - "Bastion Honour", - "Adamantium Plates" - ], - "Gold III": [ - "Sash of Honors", - "Legendary Reliquary of Protection", - "Medallion Resolute", - "Digital Weapons", - "Bastion Honour", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Sash of Honors", - "Grand Strategy", - "Medallion Resolute", - "Blessed Promethium Tank", - "Bastion Honour", - "Adamantium Plates" - ] - }, - "Thaddeus Noble": { - "Stone I": [ - "Ropes and Chains", - "Field Ration", - "Vox-Caster", - "Weapon Anointment Oils", - "Rebreather", - "Purity Seal" - ], - "Stone II": [ - "The Silver Aquila", - "Lesser Reliquary of Protection", - "Ballistics Data", - "Locator Beacon", - "Rebreather", - "Box of Salvage" - ], - "Stone III": [ - "The Iron Phoenix", - "Reliquary of Protection", - "Fine Auxiliary Core", - "Divinator Class Auspex", - "Armor Trim", - "Cloak" - ], - "Iron I": [ - "Satchel", - "Enriched Rations", - "Attack Vector Data-Slate", - "Blessed Weapon Oils", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "The Silver Scope", - "Reliquary of Protection", - "Fine Auxiliary Core", - "Powerful Micro-Generator", - "Advanced Rebreather", - "Fine Cloak" - ], - "Iron III": [ - "Metal Decorative Skull", - "Battle Plan", - "Entrenching Tool", - "Blessed Weapon Oils", - "Advanced Rebreather", - "Fine Cloak" - ], - "Bronze I": [ - "Zeidos Ribbon", - "Box of Rations", - "Classified Data-Slate", - "High-Capacity Power Pack", - "Impressive Armor Trim", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Epaulettes", - "Sanctified Reliquary of Protection", - "Anointed Auxiliary Core", - "High-Capacity Power Pack", - "Flak Plates", - "Fine Cloak" - ], - "Bronze III": [ - "Metal Decorative Skull", - "Battle Plan", - "Veteran's Entrenching Tool", - "Sanctified Weapon Oils", - "High-Grade Flak Plates", - "Grand Purity Seal" - ], - "Silver I": [ - "Epaulettes", - "Greater Reliquary of Protection", - "Veteran's Entrenching Tool", - "Bionic Neural Pathways", - "High-Grade Flak Plates", - "Decorated Cloak" - ], - "Silver II": [ - "Epaulettes", - "Golden Ornamental Skull", - "Heirloom Entrenching Tool", - "Relic Auxiliary Core", - "Artificer Flak Plates", - "Grand Purity Seal" - ], - "Silver III": [ - "Epaulettes of Renown", - "Legendary Reliquary of Protection", - "Veteran's Entrenching Tool", - "Digital Weapons", - "High-Grade Flak Plates", - "Divine Cloak" - ], - "Gold I": [ - "Sash of Honors", - "Grandiose Skull Ornament", - "Heirloom Entrenching Tool", - "Relic Auxiliary Core", - "Artificer Flak Plates", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Epaulettes of Renown", - "Grandiose Skull Ornament", - "Medallion Resolute", - "Relic Auxiliary Core", - "Bastion Honour", - "Divine Cloak" - ], - "Gold III": [ - "Sash of Honors", - "Legendary Reliquary of Protection", - "Medallion Resolute", - "Digital Weapons", - "Bastion Honour", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Sash of Honors", - "Grand Strategy", - "Medallion Resolute", - "Relic Micro-Generator", - "Bastion Honour", - "Relic Tasset Plate" - ] - }, - "Castellan Creed": { - "Stone I": [ - "The Iron Phoenix", - "Mission Assignment", - "Vox-Caster", - "Weapon Anointment Oils", - "Thick Skin", - "Purity Seal" - ], - "Stone II": [ - "The Silver Aquila", - "Lesser Reliquary of Protection", - "Ballistics Data", - "Locator Beacon", - "Armor Trim", - "Cloak" - ], - "Stone III": [ - "Ropes and Chains", - "Reliquary of Protection", - "Power Pack Bundle", - "Divinator Class Auspex", - "Thick Skin", - "Box of Salvage" - ], - "Iron I": [ - "The Gold Phoenix", - "Mission Objective", - "Attack Vector Data-Slate", - "Blessed Weapon Oils", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "The Silver Scope", - "Reliquary of Protection", - "Power Pack Bundle", - "High-Capacity Power Pack", - "Ceramite Lump", - "Fine Cloak" - ], - "Iron III": [ - "The Phoenix Ascendant", - "Battle Plan", - "Entrenching Tool", - "Blessed Weapon Oils", - "Ceramite Lump", - "Ceramite Bar" - ], - "Bronze I": [ - "Zeidos Ribbon", - "Electromantic Cable Bundle", - "Classified Data-Slate", - "Powerful Micro-Generator", - "Impressive Armor Trim", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Epaulettes", - "Sanctified Reliquary of Protection", - "Anointed Auxiliary Core", - "Powerful Micro-Generator", - "Flak Plates", - "Fine Cloak" - ], - "Bronze III": [ - "Battle Scar", - "Mars-Pattern Bionics", - "Veteran's Entrenching Tool", - "Sanctified Weapon Oils", - "High-Grade Flak Plates", - "Grand Purity Seal" - ], - "Silver I": [ - "Epaulettes", - "Greater Reliquary of Protection", - "Veteran's Entrenching Tool", - "Bionic Neural Pathways", - "High-Grade Flak Plates", - "Decorated Cloak" - ], - "Silver II": [ - "Epaulettes", - "Golden Ornamental Skull", - "Heirloom Entrenching Tool", - "Anointed Micro-Generator", - "Artificer Flak Plates", - "Grand Purity Seal" - ], - "Silver III": [ - "Epaulettes of Renown", - "Legendary Reliquary of Protection", - "Veteran's Entrenching Tool", - "Digital Weapons", - "High-Grade Flak Plates", - "Divine Cloak" - ], - "Gold I": [ - "Sash of Honors", - "Grandiose Skull Ornament", - "Heirloom Entrenching Tool", - "Relic Micro-Generator", - "Artificer Flak Plates", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Epaulettes of Renown", - "Grandiose Skull Ornament", - "Medallion Resolute", - "Relic Micro-Generator", - "Bastion Honour", - "Divine Cloak" - ], - "Gold III": [ - "Sash of Honors", - "Legendary Reliquary of Protection", - "Medallion Resolute", - "Digital Weapons", - "Bastion Honour", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Sash of Honors", - "Grand Strategy", - "Medallion Resolute", - "Relic Micro-Generator", - "Bastion Honour", - "Relic Tasset Plate" - ] - }, - "Sword Brother Godswyl": { - "Stone I": [ - "Standard-Issue Tourniquet", - "Minor Bionic Enhancement", - "Vox-Caster", - "Weapon Anointment Oils", - "Rebreather", - "Purity Seal" - ], - "Stone II": [ - "Chip Damage", - "Lesser Reliquary of Protection", - "Frag Grenade", - "Fine Micro-Generator", - "Armor Trim", - "Blessed Tasset Plate" - ], - "Stone III": [ - "Ropes and Chains", - "Reliquary of Protection", - "Belt of Frag Grenades", - "Bladesman's Honour", - "Pile of Salvage", - "Blessed Tasset Plate" - ], - "Iron I": [ - "Satchel", - "The Gold Phoenix", - "Locator Beacon", - "Blessed Weapon Oils", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "The Silver Eagle with Swords", - "Reliquary of Protection", - "Fine Auxiliary Core", - "Prey-Sight", - "Advanced Rebreather", - "Ceramite Bar" - ], - "Iron III": [ - "Metal Decorative Skull", - "Battle Plan", - "Chain of Zeal", - "Blessed Weapon Oils", - "Artificer Tasset Plate", - "Adamantium Bar" - ], - "Bronze I": [ - "Righteous Candle", - "Grand Skull Trophy", - "Krak Grenade", - "Advanced Combat Stimms", - "Impressive Armor Trim", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Lights of Purgation", - "Sanctified Reliquary of Protection", - "Belt of Krak Grenades", - "Advanced Combat Stimms", - "Blessed Tabbard", - "Ceramite Bar" - ], - "Bronze III": [ - "Battle Scar", - "Mars-Pattern Bionics", - "Chain of Righteous Zeal", - "Sanctified Weapon Oils", - "Crusader's Tabbard", - "Grand Purity Seal" - ], - "Silver I": [ - "Lights of Purgation", - "Greater Reliquary of Protection", - "Chain of Righteous Zeal", - "Bionic Neural Pathways", - "Crusader's Tabbard", - "Ancient Tasset Plate" - ], - "Silver II": [ - "Lights of Purgation", - "Terminator Honours", - "Chain of Zealous Wrath", - "Refined Combat Stimms", - "Tabbard of Righteous Wrath", - "Grand Purity Seal" - ], - "Silver III": [ - "Candelabrum of Burning Wrath", - "Legendary Reliquary of Protection", - "Chain of Righteous Zeal", - "Digital Weapons", - "Crusader's Tabbard", - "Relic Tasset Plate" - ], - "Gold I": [ - "Tannhauser's Bones", - "Grandiose Skull Ornament", - "Chain of Zealous Wrath", - "Powered Blade", - "Tabbard of Righteous Wrath", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Candelabrum of Burning Wrath", - "Grandiose Skull Ornament", - "Witchseeker Bolts", - "Powered Blade", - "Octarian Crusade Seal", - "Relic Tasset Plate" - ], - "Gold III": [ - "Tannhauser's Bones", - "Legendary Reliquary of Protection", - "Witchseeker Bolts", - "Digital Weapons", - "Octarian Crusade Seal", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Tannhauser's Bones", - "Legendary Reliquary of Protection", - "Witchseeker Bolts", - "Relic Auxiliary Core", - "Octarian Crusade Seal", - "Ceramite Plates" - ] - }, - "Brother Burchard": { - "Stone I": [ - "The Iron Phoenix", - "Minor Bionic Enhancement", - "Round of Ammo", - "Weapon Anointment Oils", - "Rebreather", - "Purity Seal" - ], - "Stone II": [ - "Ropes and Chains", - "Lesser Reliquary of Protection", - "Frag Grenade", - "Barrel of Promethium", - "Adamantium Ore", - "Blessed Tasset Plate" - ], - "Stone III": [ - "Wires", - "Reliquary of Protection", - "Belt of Frag Grenades", - "Marksman's Honour", - "Armor Trim", - "Ceramite Lump" - ], - "Iron I": [ - "The Silver Scope", - "Reinforced Cables", - "Barrel of Promethium", - "Blessed Weapon Oils", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "Reinforced Cables", - "Reliquary of Protection", - "Magazine", - "Prey-Sight", - "Advanced Rebreather", - "Adamantium Bar" - ], - "Iron III": [ - "Kill Count", - "Electromantic Cable Bundle", - "Chain of Zeal", - "Blessed Weapon Oils", - "Advanced Rebreather", - "Ceramite Bar" - ], - "Bronze I": [ - "Righteous Candle", - "Electromantic Cable Bundle", - "Box of Ammo", - "Tank of Promethium", - "Ceramite Bar", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Lights of Purgation", - "Sanctified Reliquary of Protection", - "Plasma Cell Crate", - "Plasma Cell Bundle", - "Blessed Tabbard", - "Adamantium Bar" - ], - "Bronze III": [ - "Kill Count", - "Mars-Pattern Bionics", - "Chain of Righteous Zeal", - "Sanctified Weapon Oils", - "Crusader's Tabbard", - "Grand Purity Seal" - ], - "Silver I": [ - "Lights of Purgation", - "Greater Reliquary of Protection", - "Chain of Righteous Zeal", - "Bionic Neural Pathways", - "Crusader's Tabbard", - "Ancient Tasset Plate" - ], - "Silver II": [ - "Lights of Purgation", - "Golden Ornamental Skull", - "Chain of Zealous Wrath", - "Plasma Cell Crate", - "Tabbard of Righteous Wrath", - "Grand Purity Seal" - ], - "Silver III": [ - "Candelabrum of Burning Wrath", - "Legendary Reliquary of Protection", - "Chain of Righteous Zeal", - "Digital Weapons", - "Crusader's Tabbard", - "Relic Tasset Plate" - ], - "Gold I": [ - "Tannhauser's Bones", - "Relic Bionic Enhancement", - "Chain of Zealous Wrath", - "Autoloader", - "Tabbard of Righteous Wrath", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Candelabrum of Burning Wrath", - "Relic Bionic Enhancement", - "Witchseeker Bolts", - "Autoloader", - "Octarian Crusade Seal", - "Relic Tasset Plate" - ], - "Gold III": [ - "Tannhauser's Bones", - "Legendary Reliquary of Protection", - "Witchseeker Bolts", - "Digital Weapons", - "Octarian Crusade Seal", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Tannhauser's Bones", - "Grand Strategy", - "Witchseeker Bolts", - "Blessed Promethium Tank", - "Octarian Crusade Seal", - "Ceramite Plates" - ] - }, - "Ancient Thoread": { - "Stone I": [ - "Standard-Issue Tourniquet", - "The Silver Aquila", - "Vox-Caster", - "Weapon Anointment Oils", - "Rebreather", - "Purity Seal" - ], - "Stone II": [ - "Scrolls", - "Lesser Reliquary of Protection", - "Frag Grenade", - "Barrel of Promethium", - "Armor Trim", - "Cloak" - ], - "Stone III": [ - "Ropes and Chains", - "Reliquary of Protection", - "Belt of Frag Grenades", - "Bladesman's Honour", - "Adamantium Ore", - "Blessed Tasset Plate" - ], - "Iron I": [ - "Writings", - "Helmet Trophy", - "Locator Beacon", - "Blessed Weapon Oils", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "Satchel", - "Reliquary of Protection", - "Fine Auxiliary Core", - "Prey-Sight", - "Advanced Rebreather", - "Ceramite Bar" - ], - "Iron III": [ - "Metal Decorative Skull", - "Grand Skull Trophy", - "Chain of Zeal", - "Blessed Weapon Oils", - "Artificer Tasset Plate", - "Fine Cloak" - ], - "Bronze I": [ - "Righteous Candle", - "Grand Skull Trophy", - "Krak Grenade", - "Powerful Micro-Generator", - "Impressive Armor Trim", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Lights of Purgation", - "Sanctified Reliquary of Protection", - "Belt of Krak Grenades", - "Advanced Combat Stimms", - "Blessed Tabbard", - "Fine Cloak" - ], - "Bronze III": [ - "Metal Decorative Skull", - "Grand Helmet Trophy", - "Chain of Righteous Zeal", - "Sanctified Weapon Oils", - "Crusader's Tabbard", - "Grand Purity Seal" - ], - "Silver I": [ - "Lights of Purgation", - "Greater Reliquary of Protection", - "Chain of Righteous Zeal", - "Blessed Promethium Canister", - "Crusader's Tabbard", - "Ancient Tasset Plate" - ], - "Silver II": [ - "Lights of Purgation", - "Terminator Honours", - "Chain of Zealous Wrath", - "Anointed Micro-Generator", - "Tabbard of Righteous Wrath", - "Grand Purity Seal" - ], - "Silver III": [ - "Candelabrum of Burning Wrath", - "Legendary Reliquary of Protection", - "Chain of Righteous Zeal", - "Digital Weapons", - "Crusader's Tabbard", - "Relic Tasset Plate" - ], - "Gold I": [ - "Tannhauser's Bones", - "Grandiose Skull Ornament", - "Chain of Zealous Wrath", - "Powered Blade", - "Tabbard of Righteous Wrath", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Candelabrum of Burning Wrath", - "Grandiose Skull Ornament", - "Witchseeker Bolts", - "Powered Blade", - "Octarian Crusade Seal", - "Relic Tasset Plate" - ], - "Gold III": [ - "Tannhauser's Bones", - "Legendary Reliquary of Protection", - "Witchseeker Bolts", - "Digital Weapons", - "Octarian Crusade Seal", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Tannhauser's Bones", - "Legendary Reliquary of Protection", - "Witchseeker Bolts", - "Blessed Promethium Tank", - "Octarian Crusade Seal", - "Ceramite Plates" - ] - }, - "Brother Jaeger": { - "Stone I": [ - "The Iron Phoenix", - "Mission Assignment", - "Auspex", - "Weapon Anointment Oils", - "Armor Trim", - "Purity Seal" - ], - "Stone II": [ - "Standard-Issue Tourniquet", - "Lesser Reliquary of Protection", - "Frag Grenade", - "Fine Micro-Generator", - "Rebreather", - "Ceramite Lump" - ], - "Stone III": [ - "Satchel", - "Reliquary of Protection", - "Belt of Frag Grenades", - "Bladesman's Honour", - "Adamantium Ore", - "Blessed Tasset Plate" - ], - "Iron I": [ - "The Gold Phoenix", - "Mission Objective", - "Divinator Class Auspex", - "Blessed Weapon Oils", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "Satchel", - "Reliquary of Protection", - "Fine Auxiliary Core", - "Prey-Sight", - "Advanced Rebreather", - "Ceramite Bar" - ], - "Iron III": [ - "Kill Count", - "Advanced Bionics", - "Chain of Zeal", - "Blessed Weapon Oils", - "Artificer Tasset Plate", - "Adamantium Bar" - ], - "Bronze I": [ - "Righteous Candle", - "Battle Plan", - "Krak Grenade", - "Powerful Micro-Generator", - "Impressive Armor Trim", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Lights of Purgation", - "Sanctified Reliquary of Protection", - "Belt of Krak Grenades", - "Advanced Combat Stimms", - "Blessed Tabbard", - "Ceramite Bar" - ], - "Bronze III": [ - "Kill Count", - "Mars-Pattern Bionics", - "Chain of Righteous Zeal", - "Sanctified Weapon Oils", - "Crusader's Tabbard", - "Grand Purity Seal" - ], - "Silver I": [ - "Lights of Purgation", - "Greater Reliquary of Protection", - "Chain of Righteous Zeal", - "Bionic Neural Pathways", - "Crusader's Tabbard", - "Ancient Tasset Plate" - ], - "Silver II": [ - "Lights of Purgation", - "Terminator Honours", - "Chain of Zealous Wrath", - "Anointed Micro-Generator", - "Tabbard of Righteous Wrath", - "Grand Purity Seal" - ], - "Silver III": [ - "Candelabrum of Burning Wrath", - "Legendary Reliquary of Protection", - "Chain of Righteous Zeal", - "Digital Weapons", - "Crusader's Tabbard", - "Relic Tasset Plate" - ], - "Gold I": [ - "Tannhauser's Bones", - "Relic Bionic Enhancement", - "Chain of Zealous Wrath", - "Powered Blade", - "Tabbard of Righteous Wrath", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Candelabrum of Burning Wrath", - "Relic Bionic Enhancement", - "Witchseeker Bolts", - "Powered Blade", - "Octarian Crusade Seal", - "Relic Tasset Plate" - ], - "Gold III": [ - "Tannhauser's Bones", - "Legendary Reliquary of Protection", - "Witchseeker Bolts", - "Digital Weapons", - "Octarian Crusade Seal", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Tannhauser's Bones", - "Legendary Reliquary of Protection", - "Witchseeker Bolts", - "Relic Auxiliary Core", - "Octarian Crusade Seal", - "Ceramite Plates" - ] - }, - "High Marshal Helbrecht": { - "Stone I": [ - "Ropes and Chains", - "Mission Assignment", - "Vox-Caster", - "Weapon Anointment Oils", - "Rebreather", - "Purity Seal" - ], - "Stone II": [ - "Ropes and Chains", - "Lesser Reliquary of Protection", - "Frag Grenade", - "Fine Micro-Generator", - "Armor Trim", - "Blessed Tasset Plate" - ], - "Stone III": [ - "The Iron Phoenix", - "Reliquary of Protection", - "Belt of Frag Grenades", - "Barrel of Promethium", - "Rebreather", - "Cloak" - ], - "Iron I": [ - "Satchel", - "Mission Objective", - "Bladesman's Honour", - "Blessed Weapon Oils", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "The Gold Phoenix", - "Reliquary of Protection", - "Magazine", - "Prey-Sight", - "Advanced Rebreather", - "Ceramite Bar" - ], - "Iron III": [ - "Kill Count", - "Grand Skull Trophy", - "Chain of Zeal", - "Blessed Weapon Oils", - "Artificer Tasset Plate", - "Fine Cloak" - ], - "Bronze I": [ - "Righteous Candle", - "Battle Plan", - "Krak Grenade", - "Powerful Micro-Generator", - "Impressive Armor Trim", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Lights of Purgation", - "Sanctified Reliquary of Protection", - "Belt of Krak Grenades", - "Advanced Combat Stimms", - "Blessed Tabbard", - "Ceramite Bar" - ], - "Bronze III": [ - "Kill Count", - "Grand Helmet Trophy", - "Chain of Righteous Zeal", - "Sanctified Weapon Oils", - "Crusader's Tabbard", - "Grand Purity Seal" - ], - "Silver I": [ - "Lights of Purgation", - "Greater Reliquary of Protection", - "Chain of Righteous Zeal", - "Blessed Promethium Canister", - "Crusader's Tabbard", - "Ancient Tasset Plate" - ], - "Silver II": [ - "Lights of Purgation", - "Terminator Honours", - "Chain of Zealous Wrath", - "Anointed Micro-Generator", - "Tabbard of Righteous Wrath", - "Grand Purity Seal" - ], - "Silver III": [ - "Candelabrum of Burning Wrath", - "Legendary Reliquary of Protection", - "Chain of Righteous Zeal", - "Digital Weapons", - "Crusader's Tabbard", - "Relic Tasset Plate" - ], - "Gold I": [ - "Tannhauser's Bones", - "Grandiose Skull Ornament", - "Chain of Zealous Wrath", - "Blessed Promethium Tank", - "Tabbard of Righteous Wrath", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Candelabrum of Burning Wrath", - "Grandiose Skull Ornament", - "Witchseeker Bolts", - "Powered Blade", - "Octarian Crusade Seal", - "Relic Tasset Plate" - ], - "Gold III": [ - "Tannhauser's Bones", - "Legendary Reliquary of Protection", - "Witchseeker Bolts", - "Digital Weapons", - "Octarian Crusade Seal", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Tannhauser's Bones", - "Grand Strategy", - "Witchseeker Bolts", - "Relic Auxiliary Core", - "Octarian Crusade Seal", - "Ceramite Plates" - ] - }, - "Azrael": { - "Stone I": [ - "Ropes and Chains", - "Minor Bionic Enhancement", - "Vox-Caster", - "Weapon Anointment Oils", - "Rebreather", - "Purity Seal" - ], - "Stone II": [ - "Scrolls", - "Lesser Reliquary of Protection", - "Frag Grenade", - "Plasma Cell", - "Armor Trim", - "Ceramite Lump" - ], - "Stone III": [ - "Ropes and Chains", - "Mission Objective", - "Adamantium Blades", - "Plasma Cell", - "Armor Trim", - "Cloak" - ], - "Iron I": [ - "Satchel", - "Bionic Enhancement", - "Attack Vector Data-Slate", - "Blessed Weapon Oils", - "Blessed Tasset Plate", - "Oath Seal" - ], - "Iron II": [ - "Satchel", - "Reliquary of Protection", - "Belt of Frag Grenades", - "Prey-Sight", - "Blessed Tasset Plate", - "Ceramite Bar" - ], - "Iron III": [ - "Kill Count", - "Battle Plan", - "Chapter Pendant", - "Blessed Weapon Oils", - "Artificer Tasset Plate", - "Fine Cloak" - ], - "Bronze I": [ - "Key of Ignorance", - "Battle Plan", - "Bladesman's Honour", - "Plasma Cell Bundle", - "Impressive Armor Trim", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Key of Knowledge", - "Sanctified Reliquary of Protection", - "Belt of Krak Grenades", - "Plasma Cell Bundle", - "Dark Hood", - "Ceramite Bar" - ], - "Bronze III": [ - "Battle Scar", - "Mars-Pattern Bionics", - "Bolts of Judgement", - "Sanctified Weapon Oils", - "Calibanite Hood", - "Grand Purity Seal" - ], - "Silver I": [ - "Key of Knowledge", - "Greater Reliquary of Protection", - "Bolts of Judgement", - "Relic Hilt", - "Calibanite Hood", - "Ceramite Sheet" - ], - "Silver II": [ - "Key of Knowledge", - "Golden Ornamental Skull", - "Bolts of Furious Vengeance", - "Plasma Cell Crate", - "Inner Circle Hood", - "Grand Purity Seal" - ], - "Silver III": [ - "Key of Achrabael", - "Legendary Reliquary of Protection", - "Bolts of Judgement", - "Digital Weapons", - "Calibanite Hood", - "Divine Cloak" - ], - "Gold I": [ - "Perfidious Relic of the Unforgiven", - "Relic Bionic Enhancement", - "Bolts of Furious Vengeance", - "Powered Blade", - "Inner Circle Hood", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Key of Achrabael", - "Grandiose Skull Ornament", - "Arbiter's Gaze", - "Powered Blade", - "Shroud of Heroes", - "Ceramite Plates" - ], - "Gold III": [ - "Perfidious Relic of the Unforgiven", - "Legendary Reliquary of Protection", - "Arbiter's Gaze", - "Digital Weapons", - "Shroud of Heroes", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Perfidious Relic of the Unforgiven", - "Legendary Reliquary of Protection", - "Arbiter's Gaze", - "Relic Micro-Generator", - "Shroud of Heroes", - "Ceramite Plates" - ] - }, - "Sarquael": { - "Stone I": [ - "Wires", - "Minor Bionic Enhancement", - "Vox-Caster", - "Weapon Anointment Oils", - "Rebreather", - "Purity Seal" - ], - "Stone II": [ - "Wires", - "Lesser Reliquary of Protection", - "Frag Grenade", - "Plasma Cell", - "Armor Trim", - "Ceramite Lump" - ], - "Stone III": [ - "Ropes and Chains", - "The Silver Scope", - "Fine Auxiliary Core", - "Plasma Cell", - "Armor Trim", - "Blessed Tasset Plate" - ], - "Iron I": [ - "Enriched Rations", - "Bionic Enhancement", - "Attack Vector Data-Slate", - "Blessed Weapon Oils", - "Cloak", - "Oath Seal" - ], - "Iron II": [ - "Enriched Rations", - "Reliquary of Protection", - "Belt of Frag Grenades", - "Prey-Sight", - "Cloak", - "Ceramite Bar" - ], - "Iron III": [ - "Kill Count", - "Advanced Bionics", - "Chapter Pendant", - "Blessed Weapon Oils", - "Fine Cloak", - "Artificer Tasset Plate" - ], - "Bronze I": [ - "Key of Ignorance", - "Advanced Bionics", - "Krak Grenade", - "Plasma Cell Bundle", - "Impressive Armor Trim", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Key of Knowledge", - "Sanctified Reliquary of Protection", - "Belt of Krak Grenades", - "Plasma Cell Bundle", - "Dark Hood", - "Ceramite Bar" - ], - "Bronze III": [ - "Battle Scar", - "Mars-Pattern Bionics", - "Bolts of Judgement", - "Sanctified Weapon Oils", - "Calibanite Hood", - "Grand Purity Seal" - ], - "Silver I": [ - "Key of Knowledge", - "Greater Reliquary of Protection", - "Bolts of Judgement", - "Bionic Neural Pathways", - "Calibanite Hood", - "Ceramite Sheet" - ], - "Silver II": [ - "Key of Knowledge", - "Golden Ornamental Skull", - "Bolts of Furious Vengeance", - "Plasma Cell Crate", - "Inner Circle Hood", - "Grand Purity Seal" - ], - "Silver III": [ - "Key of Achrabael", - "Legendary Reliquary of Protection", - "Bolts of Judgement", - "Digital Weapons", - "Calibanite Hood", - "Relic Tasset Plate" - ], - "Gold I": [ - "Perfidious Relic of the Unforgiven", - "Relic Bionic Enhancement", - "Bolts of Furious Vengeance", - "Relic Auxiliary Core", - "Inner Circle Hood", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Key of Achrabael", - "Grandiose Skull Ornament", - "Arbiter's Gaze", - "Relic Auxiliary Core", - "Shroud of Heroes", - "Ceramite Plates" - ], - "Gold III": [ - "Perfidious Relic of the Unforgiven", - "Legendary Reliquary of Protection", - "Arbiter's Gaze", - "Digital Weapons", - "Shroud of Heroes", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Perfidious Relic of the Unforgiven", - "Grand Strategy", - "Arbiter's Gaze", - "Blessed Promethium Tank", - "Shroud of Heroes", - "Ceramite Plates" - ] - }, - "Ulf": { - "Stone I": [ - "Ropes and Chains", - "Field Ration", - "Vox-Caster", - "Weapon Anointment Oils", - "Rebreather", - "Purity Seal" - ], - "Stone II": [ - "Chip Damage", - "Lesser Reliquary of Protection", - "Nasty Spikes", - "Combat Stimms", - "Pile of Salvage", - "Ceramite Lump" - ], - "Stone III": [ - "Ropes and Chains", - "Helmet Trophy", - "Adamantium Blades", - "Combat Stimms", - "Pile of Salvage", - "Ceramite Lump" - ], - "Iron I": [ - "Satchel", - "Enriched Rations", - "Fine Micro-Generator", - "Blessed Weapon Oils", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "Satchel", - "Reliquary of Protection", - "Adamantium Blades", - "Prey-Sight", - "Blessed Tasset Plate", - "Ceramite Bar" - ], - "Iron III": [ - "Kill Count", - "Box of Rations", - "Wolf Tooth Necklace", - "Blessed Weapon Oils", - "Artificer Tasset Plate", - "Ceramite Bar" - ], - "Bronze I": [ - "Wolf Tail Talisman", - "Grand Skull Trophy", - "Bladesman's Honour", - "Advanced Combat Stimms", - "Adamantium Bar", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Runic Talisman", - "Sanctified Reliquary of Protection", - "Powerful Micro-Generator", - "Refined Combat Stimms", - "Beast Hide", - "Ceramite Bar" - ], - "Bronze III": [ - "Battle Scar", - "Grand Helmet Trophy", - "Thunderwolf Tooth Necklace", - "Sanctified Weapon Oils", - "Ice Troll Hide", - "Grand Purity Seal" - ], - "Silver I": [ - "Runic Talisman", - "Greater Reliquary of Protection", - "Thunderwolf Tooth Necklace", - "Relic Hilt", - "Ice Troll Hide", - "Ceramite Sheet" - ], - "Silver II": [ - "Runic Talisman", - "Grand Helmet Trophy", - "Kraken Tooth Necklace", - "Relic Hilt", - "Ice Wyrm Hide", - "Grand Purity Seal" - ], - "Silver III": [ - "Talisman of Storms", - "Legendary Reliquary of Protection", - "Thunderwolf Tooth Necklace", - "Digital Weapons", - "Ice Troll Hide", - "Ceramite Plates" - ], - "Gold I": [ - "Personal Saga", - "Grandiose Skull Ornament", - "Kraken Tooth Necklace", - "Powered Blade", - "Ice Wyrm Hide", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Talisman of Storms", - "Grandiose Skull Ornament", - "Frostblade", - "Powered Blade", - "Runic Tasset Plate", - "Ceramite Plates" - ], - "Gold III": [ - "Personal Saga", - "Legendary Reliquary of Protection", - "Frostblade", - "Digital Weapons", - "Runic Tasset Plate", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Personal Saga", - "Grand Strategy", - "Frostblade", - "Relic Micro-Generator", - "Runic Tasset Plate", - "Ceramite Plates" - ] - }, - "Tjark": { - "Stone I": [ - "Ropes and Chains", - "Field Ration", - "Frag Grenade", - "Weapon Anointment Oils", - "Rebreather", - "Purity Seal" - ], - "Stone II": [ - "Chip Damage", - "Lesser Reliquary of Protection", - "Auspex", - "Fine Micro-Generator", - "Pile of Salvage", - "Ceramite Lump" - ], - "Stone III": [ - "Ropes and Chains", - "Helmet Trophy", - "Belt of Frag Grenades", - "Combat Stimms", - "Pile of Salvage", - "Ceramite Lump" - ], - "Iron I": [ - "Satchel", - "Enriched Rations", - "Divinator Class Auspex", - "Blessed Weapon Oils", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "Satchel", - "Reliquary of Protection", - "Adamantium Blades", - "Prey-Sight", - "Blessed Tasset Plate", - "Ceramite Bar" - ], - "Iron III": [ - "Kill Count", - "Box of Rations", - "Wolf Tooth Necklace", - "Blessed Weapon Oils", - "Artificer Tasset Plate", - "Ceramite Bar" - ], - "Bronze I": [ - "Wolf Tail Talisman", - "Grand Skull Trophy", - "Krak Grenade", - "Advanced Combat Stimms", - "Adamantium Bar", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Runic Talisman", - "Sanctified Reliquary of Protection", - "Belt of Krak Grenades", - "Powerful Micro-Generator", - "Beast Hide", - "Ceramite Bar" - ], - "Bronze III": [ - "Metal Decorative Skull", - "Grand Helmet Trophy", - "Thunderwolf Tooth Necklace", - "Sanctified Weapon Oils", - "Ice Troll Hide", - "Grand Purity Seal" - ], - "Silver I": [ - "Runic Talisman", - "Golden Ornamental Skull", - "Thunderwolf Tooth Necklace", - "Refined Combat Stimms", - "Ice Troll Hide", - "Ceramite Sheet" - ], - "Silver II": [ - "Runic Talisman", - "Grand Helmet Trophy", - "Kraken Tooth Necklace", - "Special Issue Ammo", - "Ice Wyrm Hide", - "Grand Purity Seal" - ], - "Silver III": [ - "Talisman of Storms", - "Legendary Reliquary of Protection", - "Thunderwolf Tooth Necklace", - "Digital Weapons", - "Ice Troll Hide", - "Ceramite Plates" - ], - "Gold I": [ - "Personal Saga", - "Grandiose Skull Ornament", - "Kraken Tooth Necklace", - "Relic Micro-Generator", - "Ice Wyrm Hide", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Talisman of Storms", - "Grandiose Skull Ornament", - "Frostblade", - "Relic Micro-Generator", - "Runic Tasset Plate", - "Ceramite Plates" - ], - "Gold III": [ - "Personal Saga", - "Legendary Reliquary of Protection", - "Frostblade", - "Digital Weapons", - "Runic Tasset Plate", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Personal Saga", - "Grand Strategy", - "Frostblade", - "Relic Micro-Generator", - "Runic Tasset Plate", - "Ceramite Plates" - ] - }, - "Arjac": { - "Stone I": [ - "Ropes and Chains", - "Field Ration", - "Basic Auxiliary Core", - "Weapon Anointment Oils", - "Rebreather", - "Purity Seal" - ], - "Stone II": [ - "Chip Damage", - "Lesser Reliquary of Protection", - "Vox-Caster", - "Fine Micro-Generator", - "Pile of Salvage", - "Ceramite Lump" - ], - "Stone III": [ - "Wires", - "Helmet Trophy", - "Fine Auxiliary Core", - "Combat Stimms", - "Pile of Salvage", - "Ceramite Lump" - ], - "Iron I": [ - "Reinforced Cables", - "Enriched Rations", - "Locator Beacon", - "Blessed Weapon Oils", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "Reinforced Cables", - "Reliquary of Protection", - "Adamantium Blades", - "Prey-Sight", - "Blessed Tasset Plate", - "Ceramite Bar" - ], - "Iron III": [ - "Kill Count", - "Box of Rations", - "Wolf Tooth Necklace", - "Blessed Weapon Oils", - "Artificer Tasset Plate", - "Ceramite Bar" - ], - "Bronze I": [ - "Wolf Tail Talisman", - "Grand Skull Trophy", - "Bladesman's Honour", - "Advanced Combat Stimms", - "Adamantium Bar", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Runic Talisman", - "Sanctified Reliquary of Protection", - "Anointed Auxiliary Core", - "Powerful Micro-Generator", - "Beast Hide", - "Ceramite Bar" - ], - "Bronze III": [ - "Battle Scar", - "Mars-Pattern Bionics", - "Thunderwolf Tooth Necklace", - "Sanctified Weapon Oils", - "Ice Troll Hide", - "Grand Purity Seal" - ], - "Silver I": [ - "Runic Talisman", - "Golden Ornamental Skull", - "Thunderwolf Tooth Necklace", - "Refined Combat Stimms", - "Ice Troll Hide", - "Ceramite Sheet" - ], - "Silver II": [ - "Runic Talisman", - "Grand Helmet Trophy", - "Kraken Tooth Necklace", - "Special Issue Ammo", - "Ice Wyrm Hide", - "Grand Purity Seal" - ], - "Silver III": [ - "Talisman of Storms", - "Legendary Reliquary of Protection", - "Thunderwolf Tooth Necklace", - "Digital Weapons", - "Ice Troll Hide", - "Ceramite Plates" - ], - "Gold I": [ - "Personal Saga", - "Relic Bionic Enhancement", - "Kraken Tooth Necklace", - "Relic Micro-Generator", - "Ice Wyrm Hide", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Talisman of Storms", - "Grandiose Skull Ornament", - "Frostblade", - "Powered Blade", - "Runic Tasset Plate", - "Ceramite Plates" - ], - "Gold III": [ - "Personal Saga", - "Legendary Reliquary of Protection", - "Frostblade", - "Digital Weapons", - "Runic Tasset Plate", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Personal Saga", - "Grand Strategy", - "Frostblade", - "Relic Micro-Generator", - "Runic Tasset Plate", - "Ceramite Plates" - ] - }, - "Njal Stormcaller": { - "Stone I": [ - "Healing Ointment", - "The Iron Phoenix", - "Auspex", - "Weapon Anointment Oils", - "Armor Trim", - "Fine Purity Seal" - ], - "Stone II": [ - "Field Ration", - "Ropes and Chains", - "Fine Micro-Generator", - "Blessed Weapon Oils", - "Rebreather", - "Purity Seal" - ], - "Stone III": [ - "Enriched Rations", - "Holster and Pockets", - "Otherworldly Energy", - "Basic Auxiliary Core", - "Blessed Tasset Plate", - "Oath Seal" - ], - "Iron I": [ - "First Aid Kit", - "Writings", - "Fine Micro-Generator", - "Locator Beacon", - "Cloak", - "Adamantium Lump" - ], - "Iron II": [ - "Enriched Rations", - "Grandiloquent Litanical", - "Otherworldly Energy Reservoir", - "Divinator Class Auspex", - "Artificer Tasset Plate", - "Oath Seal" - ], - "Iron III": [ - "Box of Rations", - "The Gold Phoenix", - "Wolf Tooth Necklace", - "Powerful Auxiliary Core", - "Adamantium Lump", - "Subdermal Plating" - ], - "Bronze I": [ - "Wolf Tail Talisman", - "The Phoenix Ascendant", - "Supernatural Sight", - "Classified Data-Slate", - "Fine Cloak", - "Ceramite Bar" - ], - "Bronze II": [ - "Runic Talisman", - "Utilitarian Belt", - "Bionic Eye", - "Anointed Auxiliary Core", - "Beast Hide", - "Blessed Purity Seal" - ], - "Bronze III": [ - "Ancient Runes", - "Grand Helmet Trophy", - "Thunderwolf Tooth Necklace", - "Sanctified Weapon Oils", - "Ice Troll Hide", - "Revered Talisman" - ], - "Silver I": [ - "Runic Talisman", - "Terminator Honours", - "Thunderwolf Tooth Necklace", - "Warp Locus", - "Ice Troll Hide", - "Ceramite Sheet" - ], - "Silver II": [ - "Mjod", - "Greater Reliquary of Protection", - "Kraken Tooth Necklace", - "Anointed Auxiliary Core", - "Ice Troll Hide", - "Grand Purity Seal" - ], - "Silver III": [ - "Runic Talisman", - "Tome of Arcane Knowledge", - "Thunderwolf Tooth Necklace", - "Digital Weapons", - "Psyk-Conductive Material", - "Ceramite Plates" - ], - "Gold I": [ - "Talisman of Storms", - "Grandiose Skull Ornament", - "Psychic Force Conduit", - "Relic Auxiliary Core", - "Ice Wyrm Hide", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Personal Saga", - "Legendary Reliquary of Protection", - "Kraken Tooth Necklace", - "Digital Weapons", - "Ice Wyrm Hide", - "Divine Cloak" - ], - "Gold III": [ - "Talisman of Storms", - "Tome of Arcane Knowledge", - "Frostblade", - "Psychic Focus", - "Runic Tasset Plate", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Personal Saga", - "Grand Strategy", - "Frostblade", - "Relic Micro-Generator", - "Runic Tasset Plate", - "Ceramite Plates" - ] - }, - "Varro Tigurius": { - "Stone I": [ - "Lesser Reliquary of Protection", - "Enriched Rations", - "Auspex", - "Basic Auxiliary Core", - "Purity Seal", - "Fine Purity Seal" - ], - "Stone II": [ - "Field Ration", - "Reliquary of Protection", - "Ballistics Data", - "Marksman's Honour", - "Fine Purity Seal", - "Box of Salvage" - ], - "Stone III": [ - "Repair-Kit", - "Bionic Enhancement", - "Single Power Pack", - "Reliquary of Vengeance", - "Pile of Salvage", - "Ceramite Lump" - ], - "Iron I": [ - "Reliquary of Protection", - "Repair-Kit", - "Power Pack Bundle", - "Locator Beacon", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "Repair-Kit", - "The Phoenix Ascendant", - "Belt of Frag Grenades", - "High-Capacity Power Pack", - "Box of Salvage", - "Blessed Purity Seal" - ], - "Iron III": [ - "Bionic Enhancement", - "Terminator Honours", - "Box of Ammo", - "Bladesman's Honour", - "Box of Salvage", - "Grand Purity Seal" - ], - "Bronze I": [ - "Box of Rations", - "Zeidos Ribbon", - "Plasma Cell Bundle", - "Bladesman's Honour", - "Blessed Purity Seal", - "Ceramite Bar" - ], - "Bronze II": [ - "The Phoenix Ascendant", - "Greater Reliquary of Protection", - "Box of Ammo", - "Anointed Auxiliary Core", - "Artificer Tasset Plate", - "Grand Purity Seal" - ], - "Bronze III": [ - "The Phoenix Ascendant", - "Mars-Pattern Bionics", - "Powerful Micro-Generator", - "Relic Micro-Generator", - "Grand Purity Seal", - "Ceramite Sheet" - ], - "Silver I": [ - "Mars-Pattern Bionics", - "Greater Reliquary of Protection", - "Belt of Krak Grenades", - "Relic Micro-Generator", - "Grand Purity Seal", - "Duplicate Organ" - ], - "Silver II": [ - "Terminator Honours", - "Mars-Pattern Bionics", - "Plasma Cell Crate", - "Legendary Reliquary of Vengeance", - "Ceramite Sheet", - "Grand Purity Seal" - ], - "Silver III": [ - "Grandiose Skull Ornament", - "Legendary Reliquary of Protection", - "Digital Weapons", - "Legendary Reliquary of Vengeance", - "Ceramite Plates", - "Divine Cloak" - ], - "Gold I": [ - "Codex Astartes", - "Tome of Arcane Knowledge", - "Relic Micro-Generator", - "Legendary Reliquary of Vengeance", - "Ceramite Plates", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Grandiose Skull Ornament", - "Tome of Arcane Knowledge", - "Relic Micro-Generator", - "Hellfury Bolts", - "Adamantine Mantle", - "Divine Cloak" - ], - "Gold III": [ - "Codex Astartes", - "Legendary Reliquary of Protection", - "Digital Weapons", - "Hellfury Bolts", - "Adamantine Mantle", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Codex Astartes", - "Tome of Arcane Knowledge", - "Hellfury Bolts", - "Relic Auxiliary Core", - "Adamantine Mantle", - "Ceramite Plates" - ] - }, - "Certus": { - "Stone I": [ - "Field Ration", - "Enriched Rations", - "Frag Grenade", - "Weapon Anointment Oils", - "Purity Seal", - "Adamantium Ore" - ], - "Stone II": [ - "Lesser Reliquary of Protection", - "The Silver Scope", - "Auspex", - "Marksman's Honour", - "Fine Purity Seal", - "Oath Seal" - ], - "Stone III": [ - "Healing Ointment", - "The Silver Scope", - "Tank of Promethium", - "Plasma Cell Bundle", - "Air Purificator", - "Air Purificator" - ], - "Iron I": [ - "Bionic Enhancement", - "First Aid Kit", - "Krak Grenade", - "Plasma Cell Bundle", - "Ceramite Lump", - "Air Purificator" - ], - "Iron II": [ - "Reliquary of Protection", - "Metal Decorative Skull", - "Plasma Cell Bundle", - "High-Capacity Power Pack", - "Ceramite Lump", - "Blessed Purity Seal" - ], - "Iron III": [ - "The Silver Scope", - "Box of Rations", - "Bionic Eye", - "Greater Reliquary of Vengeance", - "Adamantium Lump", - "Grand Purity Seal" - ], - "Bronze I": [ - "Advanced Bionics", - "Terminator Honours", - "Classified Data-Slate", - "Plasma Cell Crate", - "Ceramite Bar", - "Ceramite Sheet" - ], - "Bronze II": [ - "Mars-Pattern Bionics", - "Kill Count", - "Powerful Micro-Generator", - "Plasma Cell Crate", - "Grand Purity Seal", - "Ceramite Sheet" - ], - "Bronze III": [ - "Legendary Reliquary of Protection", - "Sanctified Reliquary of Protection", - "Classified Data-Slate", - "Relic Micro-Generator", - "Grand Purity Seal", - "Adamantium Sheet" - ], - "Silver I": [ - "Mars-Pattern Bionics", - "Exquisite Medical Supplies", - "Plasma Cell Crate", - "Relic Auxiliary Core", - "Adamantium Sheet", - "Duplicate Organ" - ], - "Silver II": [ - "Terminator Honours", - "Mars-Pattern Bionics", - "Plasma Cell Crate", - "Legendary Reliquary of Vengeance", - "Ceramite Sheet", - "Grand Purity Seal" - ], - "Silver III": [ - "Grandiose Skull Ornament", - "Legendary Reliquary of Protection", - "Digital Weapons", - "Legendary Reliquary of Vengeance", - "Ceramite Plates", - "Divine Cloak" - ], - "Gold I": [ - "Codex Astartes", - "Relic Bionic Enhancement", - "Autoloader", - "Legendary Reliquary of Vengeance", - "Ceramite Plates", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Grandiose Skull Ornament", - "Relic Bionic Enhancement", - "Autoloader", - "Hellfury Bolts", - "Adamantine Mantle", - "Divine Cloak" - ], - "Gold III": [ - "Codex Astartes", - "Legendary Reliquary of Protection", - "Digital Weapons", - "Hellfury Bolts", - "Adamantine Mantle", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Codex Astartes", - "Legendary Reliquary of Protection", - "Hellfury Bolts", - "Relic Auxiliary Core", - "Adamantine Mantle", - "Ceramite Plates" - ] - }, - "Bellator": { - "Stone I": [ - "Field Ration", - "Reliquary of Protection", - "Round of Ammo", - "Lesser Reliquary of Vengeance", - "Purity Seal", - "Pile of Salvage" - ], - "Stone II": [ - "Healing Ointment", - "The Silver Scope", - "Frag Grenade", - "Barrel of Promethium", - "Pile of Salvage", - "Box of Salvage" - ], - "Stone III": [ - "Reliquary of Protection", - "First Aid Kit", - "Round of Ammo", - "Krak Grenade", - "Ceramite Lump", - "Air Purificator" - ], - "Iron I": [ - "First Aid Kit", - "Metal Decorative Skull", - "Barrel of Promethium", - "Krak Grenade", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "The Phoenix Ascendant", - "Zeidos Ribbon", - "Power Pack Bundle", - "Fine Auxiliary Core", - "Oath Seal", - "Box of Salvage" - ], - "Iron III": [ - "Bionic Enhancement", - "Greater Reliquary of Protection", - "Bionic Eye", - "Special Issue Ammo", - "Oath Seal", - "Grand Purity Seal" - ], - "Bronze I": [ - "Box of Rations", - "Medical Supply Crate", - "Krak Grenade", - "Powerful Auxiliary Core", - "Advanced Rebreather", - "Grand Purity Seal" - ], - "Bronze II": [ - "Zeidos Ribbon", - "Mars-Pattern Bionics", - "Powerful Auxiliary Core", - "Anointed Micro-Generator", - "Blessed Purity Seal", - "Ceramite Bar" - ], - "Bronze III": [ - "The Phoenix Ascendant", - "Relic Bionic Enhancement", - "Powerful Auxiliary Core", - "Anointed Micro-Generator", - "Blessed Purity Seal", - "Ceramite Sheet" - ], - "Silver I": [ - "Greater Reliquary of Protection", - "Relic Bionic Enhancement", - "Anointed Micro-Generator", - "Legendary Reliquary of Vengeance", - "Grand Purity Seal", - "Duplicate Organ" - ], - "Silver II": [ - "Terminator Honours", - "Mars-Pattern Bionics", - "Plasma Cell Crate", - "Legendary Reliquary of Vengeance", - "Ceramite Sheet", - "Grand Purity Seal" - ], - "Silver III": [ - "Grandiose Skull Ornament", - "Legendary Reliquary of Protection", - "Digital Weapons", - "Legendary Reliquary of Vengeance", - "Ceramite Plates", - "Relic Tasset Plate" - ], - "Gold I": [ - "Codex Astartes", - "Relic Bionic Enhancement", - "Autoloader", - "Legendary Reliquary of Vengeance", - "Ceramite Plates", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Grandiose Skull Ornament", - "Relic Bionic Enhancement", - "Autoloader", - "Hellfury Bolts", - "Adamantine Mantle", - "Relic Tasset Plate" - ], - "Gold III": [ - "Codex Astartes", - "Legendary Reliquary of Protection", - "Digital Weapons", - "Hellfury Bolts", - "Adamantine Mantle", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Codex Astartes", - "Legendary Reliquary of Protection", - "Hellfury Bolts", - "Relic Auxiliary Core", - "Adamantine Mantle", - "Ceramite Plates" - ] - }, - "Incisus": { - "Stone I": [ - "The Iron Phoenix", - "Enriched Rations", - "Frag Grenade", - "Ballistics Data", - "Purity Seal", - "Fine Purity Seal" - ], - "Stone II": [ - "Standard-Issue Tourniquet", - "The Silver Scope", - "Canister of Chemicals", - "Reliquary of Vengeance", - "Fine Purity Seal", - "Box of Salvage" - ], - "Stone III": [ - "Enriched Rations", - "First Aid Kit", - "Weapon Anointment Oils", - "Tank of Promethium", - "Ceramite Lump", - "Air Purificator" - ], - "Iron I": [ - "Reliquary of Protection", - "First Aid Kit", - "Divinator Class Auspex", - "Tank of Promethium", - "Adamantium Lump", - "Advanced Rebreather" - ], - "Iron II": [ - "Bionic Enhancement", - "The Gold Phoenix", - "Marksman's Honour", - "Box of Ammo", - "Box of Salvage", - "Blessed Purity Seal" - ], - "Iron III": [ - "Reliquary of Protection", - "Terminator Honours", - "Bladesman's Honour", - "Anointed Auxiliary Core", - "Advanced Rebreather", - "Grand Purity Seal" - ], - "Bronze I": [ - "Advanced Bionics", - "Greater Reliquary of Protection", - "Belt of Krak Grenades", - "Bionic Neural Pathways", - "Blessed Purity Seal", - "Grand Purity Seal" - ], - "Bronze II": [ - "Medical Supply Crate", - "Terminator Honours", - "Box of Ammo", - "Belt of Krak Grenades", - "Grand Purity Seal", - "Ceramite Sheet" - ], - "Bronze III": [ - "Mars-Pattern Bionics", - "Terminator Honours", - "Belt of Krak Grenades", - "Relic Micro-Generator", - "Ceramite Bar", - "Adamantium Sheet" - ], - "Silver I": [ - "Terminator Honours", - "Relic Bionic Enhancement", - "Plasma Cell Crate", - "Relic Micro-Generator", - "Adamantium Sheet", - "Duplicate Organ" - ], - "Silver II": [ - "Terminator Honours", - "Mars-Pattern Bionics", - "Plasma Cell Crate", - "Legendary Reliquary of Vengeance", - "Ceramite Sheet", - "Grand Purity Seal" - ], - "Silver III": [ - "Grandiose Skull Ornament", - "Legendary Reliquary of Protection", - "Digital Weapons", - "Legendary Reliquary of Vengeance", - "Ceramite Plates", - "Relic Tasset Plate" - ], - "Gold I": [ - "Codex Astartes", - "Relic Bionic Enhancement", - "Relic Micro-Generator", - "Legendary Reliquary of Vengeance", - "Ceramite Plates", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Grandiose Skull Ornament", - "Relic Bionic Enhancement", - "Relic Micro-Generator", - "Hellfury Bolts", - "Adamantine Mantle", - "Relic Tasset Plate" - ], - "Gold III": [ - "Codex Astartes", - "Legendary Reliquary of Protection", - "Digital Weapons", - "Hellfury Bolts", - "Adamantine Mantle", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Codex Astartes", - "Legendary Reliquary of Protection", - "Hellfury Bolts", - "Blessed Promethium Tank", - "Adamantine Mantle", - "Ceramite Plates" - ] - }, - "Marneus Calgar": { - "Stone I": [ - "Ropes and Chains", - "Mission Assignment", - "Vox-Caster", - "Weapon Anointment Oils", - "Adamantium Ore", - "Purity Seal" - ], - "Stone II": [ - "Ropes and Chains", - "Lesser Reliquary of Protection", - "Basic Auxiliary Core", - "Marksman's Honour", - "Armor Trim", - "Blessed Tasset Plate" - ], - "Stone III": [ - "The Silver Aquila", - "Reliquary of Protection", - "Fine Auxiliary Core", - "Bladesman's Honour", - "Armor Trim", - "Cloak" - ], - "Iron I": [ - "The Gold Phoenix", - "Mission Objective", - "Locator Beacon", - "Blessed Weapon Oils", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "The Silver Eagle with Swords", - "Reliquary of Protection", - "Magazine", - "Prey-Sight", - "Ceramite Lump", - "Ceramite Bar" - ], - "Iron III": [ - "Kill Count", - "Electromantic Cable Bundle", - "Greater Reliquary of Vengeance", - "Blessed Weapon Oils", - "Ceramite Lump", - "Fine Cloak" - ], - "Bronze I": [ - "The Phoenix Ascendant", - "Battle Plan", - "Bionic Eye", - "Advanced Combat Stimms", - "Impressive Armor Trim", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Terminator Honours", - "Sanctified Reliquary of Protection", - "Anointed Auxiliary Core", - "Plasma Cell Bundle", - "Ceramite Bar", - "Adamantium Bar" - ], - "Bronze III": [ - "Terminator Honours", - "Advanced Bionics", - "Legendary Reliquary of Vengeance", - "Sanctified Weapon Oils", - "Ceramite Sheet", - "Grand Purity Seal" - ], - "Silver I": [ - "Grandiose Skull Ornament", - "Greater Reliquary of Protection", - "Legendary Reliquary of Vengeance", - "Bionic Neural Pathways", - "Ceramite Sheet", - "Ancient Tasset Plate" - ], - "Silver II": [ - "Grand Helmet Trophy", - "Mars-Pattern Bionics", - "Greater Reliquary of Vengeance", - "Plasma Cell Crate", - "Ceramite Sheet", - "Grand Purity Seal" - ], - "Silver III": [ - "Grandiose Skull Ornament", - "Legendary Reliquary of Protection", - "Legendary Reliquary of Vengeance", - "Digital Weapons", - "Purity Seal of the Primarch", - "Relic Tasset Plate" - ], - "Gold I": [ - "Codex Astartes", - "Grandiose Skull Ornament", - "Legendary Reliquary of Vengeance", - "Powered Blade", - "Ceramite Plates", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Grandiose Skull Ornament", - "Relic Bionic Enhancement", - "Hellfury Bolts", - "Powered Blade", - "Adamantine Mantle", - "Relic Tasset Plate" - ], - "Gold III": [ - "Codex Astartes", - "Legendary Reliquary of Protection", - "Hellfury Bolts", - "Digital Weapons", - "Adamantine Mantle", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Codex Astartes", - "Legendary Reliquary of Protection", - "Hellfury Bolts", - "Relic Auxiliary Core", - "Adamantine Mantle", - "Ceramite Plates" - ] - }, - "Calandis": { - "Stone I": [ - "Standard-Issue Tourniquet", - "Healing Ointment", - "Single Power Pack", - "Targeting Link", - "Pile of Salvage", - "Pile of Salvage" - ], - "Stone II": [ - "Ropes and Chains", - "Adamantium Filaments", - "Ballistics Data", - "Plasma Cell", - "Adamantium Ore", - "Cloak" - ], - "Stone III": [ - "Scrolls", - "Enriched Rations", - "Power Pack Bundle", - "Plasma Cell", - "Armor Trim", - "Cloak" - ], - "Iron I": [ - "Satchel", - "Advanced Filaments", - "Locator Beacon", - "Targeting Matrix", - "Adamantium Lump", - "Mesh Weave" - ], - "Iron II": [ - "Satchel", - "Enriched Rations", - "Power Pack Bundle", - "Supernatural Sight", - "Air Purificator", - "Fine Cloak" - ], - "Iron III": [ - "Advanced Bionics", - "Ancient Runes", - "Psytronome", - "Targeting Matrix", - "Box of Salvage", - "Fine Cloak" - ], - "Bronze I": [ - "Waystone", - "Medical Supply Crate", - "High-Capacity Power Pack", - "Plasma Cell Bundle", - "Crate of Salvage", - "Mesh Weave Garment" - ], - "Bronze II": [ - "Spirit Stone", - "Box of Rations", - "High-Capacity Power Pack", - "Plasma Cell Crate", - "Wraithbone Plate", - "Decorated Cloak" - ], - "Bronze III": [ - "Kill Count", - "Exquisite Medical Supplies", - "Filligrane Psytronome", - "Ratiocination Targeting", - "Filligrane Wraithbone Plate", - "Advanced Mesh Weave Garment" - ], - "Silver I": [ - "Spirit Stone", - "Ominous Xenos Glyphs", - "Filligrane Psytronome", - "Bionic Neural Pathways", - "Filligrane Wraithbone Plate", - "Decorated Cloak" - ], - "Silver II": [ - "Spirit Stone", - "Golden Ornamental Skull", - "Soul-Bonded Psytronome", - "Plasma Cell Crate", - "Soul-Bonded Wraithbone Plate", - "Advanced Mesh Weave Garment" - ], - "Silver III": [ - "Resplendent Spirit Stone", - "Portentious Xenos Glyphs", - "Filligrane Psytronome", - "Overcapacitator", - "Filligrane Wraithbone Plate", - "Divine Cloak" - ], - "Gold I": [ - "Scriptures of Fate", - "Relic Bionic Enhancement", - "Soul-Bonded Psytronome", - "Relic Micro-Generator", - "Soul-Bonded Wraithbone Plate", - "Mysterious Device" - ], - "Gold II": [ - "Resplendent Spirit Stone", - "Relic Bionic Enhancement", - "Scriptures of Battle", - "Relic Micro-Generator", - "Scriptures of Fortune", - "Divine Cloak" - ], - "Gold III": [ - "Scriptures of Fate", - "Portentious Xenos Glyphs", - "Scriptures of Battle", - "Overcapacitator", - "Scriptures of Fortune", - "Mysterious Device" - ], - "Diamond I": [ - "Scriptures of Fate", - "Grand Strategy", - "Scriptures of Battle", - "Relic Micro-Generator", - "Scriptures of Fortune", - "Sophisticated Material Plates" - ] - }, - "Aethana": { - "Stone I": [ - "Ropes and Chains", - "Mission Assignment", - "Basic Auxiliary Core", - "Targeting Link", - "Adamantium Ore", - "Adamantium Ore" - ], - "Stone II": [ - "Scrolls", - "Adamantium Filaments", - "Vox-Caster", - "Plasma Cell", - "Armor Trim", - "Cloak" - ], - "Stone III": [ - "Standard-Issue Tourniquet", - "Mission Assignment", - "Fine Auxiliary Core", - "Plasma Cell", - "Armor Trim", - "Mesh Weave" - ], - "Iron I": [ - "Satchel", - "Advanced Filaments", - "Locator Beacon", - "Targeting Matrix", - "Adamantium Lump", - "Mesh Weave" - ], - "Iron II": [ - "Writings", - "Helmet Trophy", - "Fine Auxiliary Core", - "Supernatural Sight", - "Air Purificator", - "Fine Cloak" - ], - "Iron III": [ - "Advanced Bionics", - "Ancient Runes", - "Psytronome", - "Targeting Matrix", - "Air Purificator", - "Fine Cloak" - ], - "Bronze I": [ - "Waystone", - "Battle Plan", - "Bionic Eye", - "Plasma Cell Bundle", - "Impressive Armor Trim", - "Mesh Weave Garment" - ], - "Bronze II": [ - "Spirit Stone", - "Battle Plan", - "Powerful Auxiliary Core", - "Plasma Cell Crate", - "Wraithbone Plate", - "Fine Cloak" - ], - "Bronze III": [ - "Kill Count", - "Grand Helmet Trophy", - "Filligrane Psytronome", - "Ratiocination Targeting", - "Filligrane Wraithbone Plate", - "Advanced Mesh Weave Garment" - ], - "Silver I": [ - "Spirit Stone", - "Ominous Xenos Glyphs", - "Filligrane Psytronome", - "Bionic Neural Pathways", - "Filligrane Wraithbone Plate", - "Decorated Cloak" - ], - "Silver II": [ - "Spirit Stone", - "Golden Ornamental Skull", - "Soul-Bonded Psytronome", - "Plasma Cell Crate", - "Soul-Bonded Wraithbone Plate", - "Advanced Mesh Weave Garment" - ], - "Silver III": [ - "Resplendent Spirit Stone", - "Portentious Xenos Glyphs", - "Filligrane Psytronome", - "Overcapacitator", - "Filligrane Wraithbone Plate", - "Divine Cloak" - ], - "Gold I": [ - "Scriptures of Fate", - "Relic Bionic Enhancement", - "Soul-Bonded Psytronome", - "Powered Blade", - "Soul-Bonded Wraithbone Plate", - "Mysterious Device" - ], - "Gold II": [ - "Resplendent Spirit Stone", - "Relic Bionic Enhancement", - "Scriptures of Battle", - "Powered Blade", - "Scriptures of Fortune", - "Divine Cloak" - ], - "Gold III": [ - "Scriptures of Fate", - "Portentious Xenos Glyphs", - "Scriptures of Battle", - "Overcapacitator", - "Scriptures of Fortune", - "Mysterious Device" - ], - "Diamond I": [ - "Scriptures of Fate", - "Grand Strategy", - "Scriptures of Battle", - "Relic Micro-Generator", - "Scriptures of Fortune", - "Sophisticated Material Plates" - ] - }, - "Eldryon": { - "Stone I": [ - "Mission Assignment", - "Healing Ointment", - "Basic Auxiliary Core", - "Targeting Link", - "Adamantium Ore", - "Adamantium Ore" - ], - "Stone II": [ - "Scrolls", - "Adamantium Filaments", - "Vox-Caster", - "Fine Micro-Generator", - "Armor Trim", - "Cloak" - ], - "Stone III": [ - "Scrolls", - "Satchel", - "Fine Auxiliary Core", - "Fine Micro-Generator", - "Armor Trim", - "Mesh Weave" - ], - "Iron I": [ - "Writings", - "Advanced Filaments", - "Attack Vector Data-Slate", - "Targeting Matrix", - "Adamantium Lump", - "Mesh Weave" - ], - "Iron II": [ - "Writings", - "Satchel", - "Fine Auxiliary Core", - "Supernatural Sight", - "Air Purificator", - "Fine Cloak" - ], - "Iron III": [ - "Battle Plan", - "Ancient Runes", - "Psytronome", - "Targeting Matrix", - "Air Purificator", - "Fine Cloak" - ], - "Bronze I": [ - "Waystone", - "Medical Supply Crate", - "Classified Data-Slate", - "Powerful Micro-Generator", - "Impressive Armor Trim", - "Mesh Weave Garment" - ], - "Bronze II": [ - "Spirit Stone", - "Medical Supply Crate", - "Powerful Auxiliary Core", - "Anointed Micro-Generator", - "Wraithbone Plate", - "Fine Cloak" - ], - "Bronze III": [ - "Kill Count", - "Exquisite Medical Supplies", - "Filligrane Psytronome", - "Ratiocination Targeting", - "Filligrane Wraithbone Plate", - "Advanced Mesh Weave Garment" - ], - "Silver I": [ - "Spirit Stone", - "Ominous Xenos Glyphs", - "Filligrane Psytronome", - "Bionic Neural Pathways", - "Filligrane Wraithbone Plate", - "Decorated Cloak" - ], - "Silver II": [ - "Spirit Stone", - "Golden Ornamental Skull", - "Soul-Bonded Psytronome", - "Anointed Micro-Generator", - "Soul-Bonded Wraithbone Plate", - "Advanced Mesh Weave Garment" - ], - "Silver III": [ - "Resplendent Spirit Stone", - "Portentious Xenos Glyphs", - "Filligrane Psytronome", - "Overcapacitator", - "Filligrane Wraithbone Plate", - "Divine Cloak" - ], - "Gold I": [ - "Scriptures of Fate", - "Tome of Arcane Knowledge", - "Soul-Bonded Psytronome", - "Relic Micro-Generator", - "Soul-Bonded Wraithbone Plate", - "Mysterious Device" - ], - "Gold II": [ - "Resplendent Spirit Stone", - "Tome of Arcane Knowledge", - "Scriptures of Battle", - "Relic Micro-Generator", - "Scriptures of Fortune", - "Divine Cloak" - ], - "Gold III": [ - "Scriptures of Fate", - "Portentious Xenos Glyphs", - "Scriptures of Battle", - "Overcapacitator", - "Scriptures of Fortune", - "Mysterious Device" - ], - "Diamond I": [ - "Scriptures of Fate", - "Tome of Arcane Knowledge", - "Scriptures of Battle", - "Relic Auxiliary Core", - "Scriptures of Fortune", - "Sophisticated Material Plates" - ] - }, - "Maugan Ra": { - "Stone I": [ - "Ropes and Chains", - "Wires", - "Basic Auxiliary Core", - "Targeting Link", - "Adamantium Ore", - "Adamantium Ore" - ], - "Stone II": [ - "Mission Assignment", - "Adamantium Filaments", - "Ballistics Data", - "Plasma Cell", - "Armor Trim", - "Cloak" - ], - "Stone III": [ - "Ropes and Chains", - "Artificial Vertebrae", - "Fine Auxiliary Core", - "Plasma Cell", - "Armor Trim", - "Mesh Weave" - ], - "Iron I": [ - "Mission Objective", - "Advanced Filaments", - "Locator Beacon", - "Targeting Matrix", - "Adamantium Lump", - "Mesh Weave" - ], - "Iron II": [ - "Satchel", - "Artificial Vertebrae", - "Fine Auxiliary Core", - "Supernatural Sight", - "Air Purificator", - "Fine Cloak" - ], - "Iron III": [ - "Battle Plan", - "Metal Decorative Skull", - "Psytronome", - "Targeting Matrix", - "Air Purificator", - "Fine Cloak" - ], - "Bronze I": [ - "Waystone", - "Grand Skull Trophy", - "Bionic Eye", - "Plasma Cell Bundle", - "Impressive Armor Trim", - "Mesh Weave Garment" - ], - "Bronze II": [ - "Spirit Stone", - "Grand Skull Trophy", - "Powerful Auxiliary Core", - "Plasma Cell Crate", - "Wraithbone Plate", - "Fine Cloak" - ], - "Bronze III": [ - "Kill Count", - "Exospine", - "Filligrane Psytronome", - "Ratiocination Targeting", - "Filligrane Wraithbone Plate", - "Advanced Mesh Weave Garment" - ], - "Silver I": [ - "Spirit Stone", - "Ominous Xenos Glyphs", - "Filligrane Psytronome", - "Bionic Neural Pathways", - "Filligrane Wraithbone Plate", - "Decorated Cloak" - ], - "Silver II": [ - "Spirit Stone", - "Golden Ornamental Skull", - "Soul-Bonded Psytronome", - "Plasma Cell Crate", - "Soul-Bonded Wraithbone Plate", - "Advanced Mesh Weave Garment" - ], - "Silver III": [ - "Resplendent Spirit Stone", - "Portentious Xenos Glyphs", - "Filligrane Psytronome", - "Overcapacitator", - "Filligrane Wraithbone Plate", - "Divine Cloak" - ], - "Gold I": [ - "Scriptures of Fate", - "Advanced Exospine", - "Soul-Bonded Psytronome", - "Autoloader", - "Soul-Bonded Wraithbone Plate", - "Mysterious Device" - ], - "Gold II": [ - "Resplendent Spirit Stone", - "Advanced Exospine", - "Scriptures of Battle", - "Autoloader", - "Scriptures of Fortune", - "Sophisticated Material Plates" - ], - "Gold III": [ - "Scriptures of Fate", - "Portentious Xenos Glyphs", - "Scriptures of Battle", - "Overcapacitator", - "Scriptures of Fortune", - "Mysterious Device" - ], - "Diamond I": [ - "Scriptures of Fate", - "Grand Strategy", - "Scriptures of Battle", - "Relic Micro-Generator", - "Scriptures of Fortune", - "Sophisticated Material Plates" - ] - }, - "Jain Zar": { - "Stone I": [ - "Ropes and Chains", - "Standard-Issue Tourniquet", - "Basic Auxiliary Core", - "Targeting Link", - "Sophisticated Material", - "Adamantium Ore" - ], - "Stone II": [ - "Ropes and Chains", - "Adamantium Filaments", - "Vox-Caster", - "Fine Micro-Generator", - "Metal Joints", - "Cloak" - ], - "Stone III": [ - "Ropes and Chains", - "Helmet Trophy", - "Fine Auxiliary Core", - "Combat Stimms", - "Metal Joints", - "Mesh Weave" - ], - "Iron I": [ - "Mission Objective", - "Advanced Filaments", - "Locator Beacon", - "Targeting Matrix", - "Adamantium Lump", - "Mesh Weave" - ], - "Iron II": [ - "Mission Objective", - "Helmet Trophy", - "Fine Auxiliary Core", - "Supernatural Sight", - "Air Purificator", - "Fine Cloak" - ], - "Iron III": [ - "Battle Plan", - "Ancient Runes", - "Psytronome", - "Targeting Matrix", - "Air Purificator", - "Fine Cloak" - ], - "Bronze I": [ - "Waystone", - "Advanced Bionics", - "Bionic Eye", - "Powerful Micro-Generator", - "Impressive Armor Trim", - "Mesh Weave Garment" - ], - "Bronze II": [ - "Spirit Stone", - "Advanced Bionics", - "Powerful Auxiliary Core", - "Refined Combat Stimms", - "Wraithbone Plate", - "Fine Cloak" - ], - "Bronze III": [ - "Kill Count", - "Grand Helmet Trophy", - "Filligrane Psytronome", - "Ratiocination Targeting", - "Filligrane Wraithbone Plate", - "Advanced Mesh Weave Garment" - ], - "Silver I": [ - "Spirit Stone", - "Ominous Xenos Glyphs", - "Filligrane Psytronome", - "Bionic Neural Pathways", - "Filligrane Wraithbone Plate", - "Decorated Cloak" - ], - "Silver II": [ - "Spirit Stone", - "Golden Ornamental Skull", - "Soul-Bonded Psytronome", - "Anointed Micro-Generator", - "Soul-Bonded Wraithbone Plate", - "Advanced Mesh Weave Garment" - ], - "Silver III": [ - "Resplendent Spirit Stone", - "Portentious Xenos Glyphs", - "Filligrane Psytronome", - "Overcapacitator", - "Filligrane Wraithbone Plate", - "Divine Cloak" - ], - "Gold I": [ - "Scriptures of Fate", - "Grandiose Skull Ornament", - "Soul-Bonded Psytronome", - "Powered Blade", - "Soul-Bonded Wraithbone Plate", - "Divine Cloak" - ], - "Gold II": [ - "Resplendent Spirit Stone", - "Grandiose Skull Ornament", - "Scriptures of Battle", - "Powered Blade", - "Scriptures of Fortune", - "Sophisticated Material Plates" - ], - "Gold III": [ - "Scriptures of Fate", - "Portentious Xenos Glyphs", - "Scriptures of Battle", - "Overcapacitator", - "Scriptures of Fortune", - "Mysterious Device" - ], - "Diamond I": [ - "Scriptures of Fate", - "Grand Strategy", - "Scriptures of Battle", - "Hyperstim", - "Scriptures of Fortune", - "Sophisticated Material Plates" - ] - }, - "Makhotep": { - "Stone I": [ - "Adamantium Filaments", - "Enriched Rations", - "Round of Ammo", - "Otherworldly Energy", - "Adamantium Ore", - "Pile of Salvage" - ], - "Stone II": [ - "Adamantium Filaments", - "Advanced Filaments", - "Barrel of Promethium", - "Canister of Chemicals", - "Adamantium Ore", - "Sophisticated Material" - ], - "Stone III": [ - "Advanced Filaments", - "Enriched Rations", - "Krak Grenade", - "Magazine", - "Sophisticated Material", - "Box of Salvage" - ], - "Iron I": [ - "Advanced Filaments", - "Metal Decorative Skull", - "Fine Micro-Generator", - "Krak Grenade", - "Adamantium Lump", - "Sophisticated Material Ingot" - ], - "Iron II": [ - "Regenerating Nano Swarm", - "Otherworldly Nano Swarm", - "Barrel of Promethium", - "Tank of Promethium", - "Sophisticated Material Ingot", - "Sophisticated Material Bar" - ], - "Iron III": [ - "Otherworldly Nano Swarm", - "Necrodermis Nano Scarab Swarm", - "Viridian Energy Tesseract", - "Targeting Matrix", - "Adamantium Lump", - "Sophisticated Material Bar" - ], - "Bronze I": [ - "Reconstitution Protocols", - "Otherworldly Nano Swarm", - "Viridian Energy Tesseract", - "Powerful Micro-Generator", - "Sophisticated Material Bar", - "Scale-Plate Strand" - ], - "Bronze II": [ - "Resurrection Protocols", - "Necrodermis Nano Scarab Swarm", - "Powerful Auxiliary Core", - "Plasma Cell Bundle", - "Sophisticated Material Bar", - "Crate of Salvage" - ], - "Bronze III": [ - "Engrammatic Entangler", - "Electromantic Cable Bundle", - "Anointed Auxiliary Core", - "Ratiocination Targeting", - "Sophisticated Material Sheet", - "Scale-Plate Mantle" - ], - "Silver I": [ - "Resurrection Protocols", - "Ominous Xenos Glyphs", - "Anointed Auxiliary Core", - "Anointed Micro-Generator", - "Hypermaterial Shifter", - "Adamantium Sheet" - ], - "Silver II": [ - "Resurrection Protocols", - "Exospine", - "Relic Auxiliary Core", - "Plasma Cell Crate", - "Hypermaterial Shifter", - "Scale-Plate Mantle" - ], - "Silver III": [ - "Protocol of the Eternal Guardian", - "Portentious Xenos Glyphs", - "Anointed Auxiliary Core", - "Overcapacitator", - "Sophisticated Material Sheet", - "Adamantium Plates" - ], - "Gold I": [ - "Phylacterine Hive", - "Advanced Exospine", - "Relic Auxiliary Core", - "Relic Micro-Generator", - "Sophisticated Material Plates", - "Mysterious Device" - ], - "Gold II": [ - "Protocol of the Eternal Guardian", - "Advanced Exospine", - "Molecular Vaporiser", - "Relic Micro-Generator", - "Transdimensional Sanctum", - "Adamantium Plates" - ], - "Gold III": [ - "Phylacterine Hive", - "Portentious Xenos Glyphs", - "Molecular Vaporiser", - "Overcapacitator", - "Transdimensional Sanctum", - "Mysterious Device" - ], - "Diamond I": [ - "Phylacterine Hive", - "Grand Strategy", - "Molecular Vaporiser", - "Relic Micro-Generator", - "Transdimensional Sanctum", - "Sophisticated Material Plates" - ] - }, - "Imospekh": { - "Stone I": [ - "Nano Swarm", - "Enriched Rations", - "Round of Ammo", - "Barrel of Promethium", - "Adamantium Ore", - "Box of Salvage" - ], - "Stone II": [ - "Adamantium Filaments", - "Enriched Rations", - "Barrel of Promethium", - "Can of Promethium", - "Pile of Salvage", - "Adamantium Ore" - ], - "Stone III": [ - "Adamantium Filaments", - "Metal Decorative Skull", - "Round of Ammo", - "Plasma Cell", - "Adamantium Ore", - "Adamantium Lump" - ], - "Iron I": [ - "Enriched Rations", - "Reconstitution Protocols", - "Magazine", - "Barrel of Promethium", - "Box of Salvage", - "Sophisticated Material Ingot" - ], - "Iron II": [ - "Enriched Rations", - "Regenerating Nano Swarm", - "Magazine", - "Plasma Cell", - "Box of Salvage", - "Adamantium Lump" - ], - "Iron III": [ - "Regenerating Nano Swarm", - "Metal Decorative Skull", - "Viridian Energy Tesseract", - "Targeting Matrix", - "Box of Salvage", - "Sophisticated Material Bar" - ], - "Bronze I": [ - "Reconstitution Protocols", - "Otherworldly Nano Swarm", - "Viridian Energy Tesseract", - "Powerful Micro-Generator", - "Sophisticated Material Bar", - "Scale-Plate Strand" - ], - "Bronze II": [ - "Resurrection Protocols", - "Necrodermis Nano Scarab Swarm", - "Powerful Auxiliary Core", - "Plasma Cell Bundle", - "Sophisticated Material Bar", - "Crate of Salvage" - ], - "Bronze III": [ - "Engrammatic Entangler", - "Electromantic Cable Bundle", - "Anointed Auxiliary Core", - "Ratiocination Targeting", - "Sophisticated Material Sheet", - "Scale-Plate Mantle" - ], - "Silver I": [ - "Resurrection Protocols", - "Ominous Xenos Glyphs", - "Anointed Auxiliary Core", - "Anointed Micro-Generator", - "Hypermaterial Shifter", - "Adamantium Sheet" - ], - "Silver II": [ - "Resurrection Protocols", - "Exospine", - "Relic Auxiliary Core", - "Plasma Cell Crate", - "Hypermaterial Shifter", - "Scale-Plate Mantle" - ], - "Silver III": [ - "Protocol of the Eternal Guardian", - "Portentious Xenos Glyphs", - "Anointed Auxiliary Core", - "Overcapacitator", - "Sophisticated Material Sheet", - "Adamantium Plates" - ], - "Gold I": [ - "Phylacterine Hive", - "Advanced Exospine", - "Relic Auxiliary Core", - "Relic Micro-Generator", - "Sophisticated Material Plates", - "Mysterious Device" - ], - "Gold II": [ - "Protocol of the Eternal Guardian", - "Advanced Exospine", - "Molecular Vaporiser", - "Relic Micro-Generator", - "Transdimensional Sanctum", - "Adamantium Plates" - ], - "Gold III": [ - "Phylacterine Hive", - "Portentious Xenos Glyphs", - "Molecular Vaporiser", - "Overcapacitator", - "Transdimensional Sanctum", - "Mysterious Device" - ], - "Diamond I": [ - "Phylacterine Hive", - "Grand Strategy", - "Molecular Vaporiser", - "Relic Micro-Generator", - "Transdimensional Sanctum", - "Sophisticated Material Plates" - ] - }, - "Aleph-Null": { - "Stone I": [ - "Adamantium Filaments", - "Enriched Rations", - "Barrel of Promethium", - "Can of Promethium", - "Adamantium Ore", - "Sophisticated Material" - ], - "Stone II": [ - "Adamantium Filaments", - "Advanced Filaments", - "Single Power Pack", - "Barrel of Promethium", - "Adamantium Ore", - "Sophisticated Material" - ], - "Stone III": [ - "Enriched Rations", - "Reconstitution Protocols", - "Single Power Pack", - "Plasma Cell", - "Pile of Salvage", - "Adamantium Lump" - ], - "Iron I": [ - "Enriched Rations", - "Regenerating Nano Swarm", - "Barrel of Promethium", - "Fine Micro-Generator", - "Sophisticated Material Ingot", - "Sophisticated Material Bar" - ], - "Iron II": [ - "Advanced Filaments", - "Regenerating Nano Swarm", - "Fine Micro-Generator", - "Krak Grenade", - "Adamantium Lump", - "Sophisticated Material Bar" - ], - "Iron III": [ - "Advanced Filaments", - "Otherworldly Nano Swarm", - "Viridian Energy Tesseract", - "Targeting Matrix", - "Sophisticated Material Bar", - "Adamantium Sheet" - ], - "Bronze I": [ - "Reconstitution Protocols", - "Otherworldly Nano Swarm", - "Viridian Energy Tesseract", - "Powerful Micro-Generator", - "Sophisticated Material Bar", - "Scale-Plate Strand" - ], - "Bronze II": [ - "Resurrection Protocols", - "Necrodermis Nano Scarab Swarm", - "Powerful Auxiliary Core", - "Plasma Cell Bundle", - "Sophisticated Material Bar", - "Crate of Salvage" - ], - "Bronze III": [ - "Engrammatic Entangler", - "Electromantic Cable Bundle", - "Anointed Auxiliary Core", - "Ratiocination Targeting", - "Sophisticated Material Sheet", - "Scale-Plate Mantle" - ], - "Silver I": [ - "Resurrection Protocols", - "Ominous Xenos Glyphs", - "Anointed Auxiliary Core", - "Anointed Micro-Generator", - "Hypermaterial Shifter", - "Adamantium Sheet" - ], - "Silver II": [ - "Resurrection Protocols", - "Exospine", - "Relic Auxiliary Core", - "Plasma Cell Crate", - "Hypermaterial Shifter", - "Scale-Plate Mantle" - ], - "Silver III": [ - "Protocol of the Eternal Guardian", - "Portentious Xenos Glyphs", - "Anointed Auxiliary Core", - "Overcapacitator", - "Sophisticated Material Sheet", - "Adamantium Plates" - ], - "Gold I": [ - "Phylacterine Hive", - "Advanced Exospine", - "Relic Auxiliary Core", - "Relic Micro-Generator", - "Sophisticated Material Plates", - "Mysterious Device" - ], - "Gold II": [ - "Protocol of the Eternal Guardian", - "Advanced Exospine", - "Molecular Vaporiser", - "Relic Micro-Generator", - "Transdimensional Sanctum", - "Adamantium Plates" - ], - "Gold III": [ - "Phylacterine Hive", - "Portentious Xenos Glyphs", - "Molecular Vaporiser", - "Overcapacitator", - "Transdimensional Sanctum", - "Mysterious Device" - ], - "Diamond I": [ - "Phylacterine Hive", - "Grand Strategy", - "Molecular Vaporiser", - "Relic Micro-Generator", - "Transdimensional Sanctum", - "Sophisticated Material Plates" - ] - }, - "Thutmose": { - "Stone I": [ - "Wires", - "Nano Swarm", - "Otherworldly Energy", - "Targeting Link", - "Sophisticated Material", - "Adamantium Ore" - ], - "Stone II": [ - "Wires", - "Adamantium Filaments", - "Otherworldly Energy", - "Plasma Cell", - "Metal Joints", - "Box of Salvage" - ], - "Stone III": [ - "Ropes and Chains", - "Advanced Filaments", - "Otherworldly Energy Reservoir", - "Plasma Cell", - "Metal Joints", - "Reinforced Scale-Plates" - ], - "Iron I": [ - "Reinforced Cables", - "Artificial Vertebrae", - "Attack Vector Data-Slate", - "Targeting Matrix", - "Sophisticated Material Ingot", - "Reinforced Scale-Plates" - ], - "Iron II": [ - "Reinforced Cables", - "Ancient Runes", - "Otherworldly Energy Reservoir", - "Plasma Cell Bundle", - "Crate of Salvage", - "Scale-Plate Strand" - ], - "Iron III": [ - "Metal Decorative Skull", - "Regenerating Nano Swarm", - "Viridian Energy Tesseract", - "Targeting Matrix", - "Box of Salvage", - "Adamantium Bar" - ], - "Bronze I": [ - "Reconstitution Protocols", - "Otherworldly Nano Swarm", - "Viridian Energy Tesseract", - "Plasma Cell Bundle", - "Sophisticated Material Bar", - "Scale-Plate Strand" - ], - "Bronze II": [ - "Resurrection Protocols", - "Necrodermis Nano Scarab Swarm", - "Powerful Auxiliary Core", - "Plasma Cell Bundle", - "Sophisticated Material Bar", - "Crate of Salvage" - ], - "Bronze III": [ - "Engrammatic Entangler", - "Electromantic Cable Bundle", - "Anointed Auxiliary Core", - "Ratiocination Targeting", - "Sophisticated Material Sheet", - "Scale-Plate Mantle" - ], - "Silver I": [ - "Resurrection Protocols", - "Ominous Xenos Glyphs", - "Anointed Auxiliary Core", - "Plasma Cell Crate", - "Hypermaterial Shifter", - "Adamantium Sheet" - ], - "Silver II": [ - "Resurrection Protocols", - "Exospine", - "Relic Auxiliary Core", - "Plasma Cell Crate", - "Hypermaterial Shifter", - "Scale-Plate Mantle" - ], - "Silver III": [ - "Protocol of the Eternal Guardian", - "Portentious Xenos Glyphs", - "Anointed Auxiliary Core", - "Overcapacitator", - "Sophisticated Material Sheet", - "Adamantium Plates" - ], - "Gold I": [ - "Phylacterine Hive", - "Advanced Exospine", - "Relic Auxiliary Core", - "Relic Micro-Generator", - "Sophisticated Material Plates", - "Mysterious Device" - ], - "Gold II": [ - "Protocol of the Eternal Guardian", - "Advanced Exospine", - "Molecular Vaporiser", - "Relic Micro-Generator", - "Transdimensional Sanctum", - "Adamantium Plates" - ], - "Gold III": [ - "Phylacterine Hive", - "Portentious Xenos Glyphs", - "Molecular Vaporiser", - "Overcapacitator", - "Transdimensional Sanctum", - "Mysterious Device" - ], - "Diamond I": [ - "Phylacterine Hive", - "Grand Strategy", - "Molecular Vaporiser", - "Relic Micro-Generator", - "Transdimensional Sanctum", - "Sophisticated Material Plates" - ] - }, - "Anuphet": { - "Stone I": [ - "Wires", - "Nano Swarm", - "Weapon Parts", - "Targeting Link", - "Sophisticated Material", - "Adamantium Ore" - ], - "Stone II": [ - "Ropes and Chains", - "Adamantium Filaments", - "Ballistics Data", - "Fine Micro-Generator", - "Metal Joints", - "Box of Salvage" - ], - "Stone III": [ - "Mission Assignment", - "Advanced Filaments", - "Otherworldly Energy Reservoir", - "Plasma Cell", - "Metal Joints", - "Reinforced Scale-Plates" - ], - "Iron I": [ - "Reinforced Cables", - "Artificial Vertebrae", - "Attack Vector Data-Slate", - "Targeting Matrix", - "Sophisticated Material Ingot", - "Reinforced Scale-Plates" - ], - "Iron II": [ - "Mission Objective", - "Ancient Runes", - "Otherworldly Energy Reservoir", - "Powerful Micro-Generator", - "Box of Salvage", - "Scale-Plate Strand" - ], - "Iron III": [ - "Metal Decorative Skull", - "Regenerating Nano Swarm", - "Viridian Energy Tesseract", - "Targeting Matrix", - "Box of Salvage", - "Adamantium Bar" - ], - "Bronze I": [ - "Reconstitution Protocols", - "Otherworldly Nano Swarm", - "Classified Data-Slate", - "Plasma Cell Bundle", - "Sophisticated Material Bar", - "Scale-Plate Strand" - ], - "Bronze II": [ - "Resurrection Protocols", - "Necrodermis Nano Scarab Swarm", - "Powerful Auxiliary Core", - "Plasma Cell Bundle", - "Sophisticated Material Bar", - "Crate of Salvage" - ], - "Bronze III": [ - "Engrammatic Entangler", - "Electromantic Cable Bundle", - "Anointed Auxiliary Core", - "Ratiocination Targeting", - "Sophisticated Material Sheet", - "Scale-Plate Mantle" - ], - "Silver I": [ - "Resurrection Protocols", - "Ominous Xenos Glyphs", - "Anointed Auxiliary Core", - "Plasma Cell Crate", - "Hypermaterial Shifter", - "Adamantium Sheet" - ], - "Silver II": [ - "Resurrection Protocols", - "Exospine", - "Relic Auxiliary Core", - "Anointed Micro-Generator", - "Hypermaterial Shifter", - "Scale-Plate Mantle" - ], - "Silver III": [ - "Protocol of the Eternal Guardian", - "Portentious Xenos Glyphs", - "Anointed Auxiliary Core", - "Overcapacitator", - "Sophisticated Material Sheet", - "Adamantium Plates" - ], - "Gold I": [ - "Phylacterine Hive", - "Advanced Exospine", - "Relic Auxiliary Core", - "Relic Micro-Generator", - "Sophisticated Material Plates", - "Mysterious Device" - ], - "Gold II": [ - "Protocol of the Eternal Guardian", - "Advanced Exospine", - "Molecular Vaporiser", - "Relic Micro-Generator", - "Transdimensional Sanctum", - "Adamantium Plates" - ], - "Gold III": [ - "Phylacterine Hive", - "Portentious Xenos Glyphs", - "Molecular Vaporiser", - "Overcapacitator", - "Transdimensional Sanctum", - "Mysterious Device" - ], - "Diamond I": [ - "Phylacterine Hive", - "Advanced Exospine", - "Molecular Vaporiser", - "Relic Micro-Generator", - "Transdimensional Sanctum", - "Sophisticated Material Plates" - ] - }, - "Snotflogga": { - "Stone I": [ - "Ropes and Chains", - "Field Ration", - "Weapon Parts", - "Nasty Spikes", - "Thick Skin", - "Pile of Salvage" - ], - "Stone II": [ - "Ropes and Chains", - "Adamantium Filaments", - "Round of Ammo", - "Combat Stimms", - "Thick Skin", - "Pile of Salvage" - ], - "Stone III": [ - "Chip Damage", - "Adamantium Filaments", - "Magazine", - "Combat Stimms", - "Thick Skin", - "Pile of Salvage" - ], - "Iron I": [ - "Satchel", - "Enriched Rations", - "Plasma Cell", - "Razorsharp Spikes", - "Adamantium Lump", - "Reinforced Scale-Plates" - ], - "Iron II": [ - "Satchel", - "Battle Scar", - "Fine Auxiliary Core", - "Box of Ammo", - "Cloak", - "Adamantium Bar" - ], - "Iron III": [ - "Kill Count", - "Box of Rations", - "Iron Jaw", - "Razorsharp Spikes", - "Adamantium Lump", - "Crate of Salvage" - ], - "Bronze I": [ - "Bad Moon Teef", - "Box of Rations", - "Iron Jaw", - "Advanced Combat Stimms", - "Adamantium Bar", - "Scale-Plate Strand" - ], - "Bronze II": [ - "Nob Teef", - "Grand Skull Trophy", - "Anointed Auxiliary Core", - "Advanced Combat Stimms", - "Ard Plate", - "Adamantium Bar" - ], - "Bronze III": [ - "Kill Count", - "Grand Helmet Trophy", - "Brutal Iron Jaw", - "Murderous Spikes", - "Ded 'Ard Plate", - "Scale-Plate Mantle" - ], - "Silver I": [ - "Nob Teef", - "Ominous Xenos Glyphs", - "Brutal Iron Jaw", - "Bionic Neural Pathways", - "Ded 'Ard Plate", - "Decorated Cloak" - ], - "Silver II": [ - "Nob Teef", - "Grand Helmet Trophy", - "Ded Brutal Iron Jaw", - "Bionic Neural Pathways", - "Ded Shiny 'Ard Plate", - "Scale-Plate Mantle" - ], - "Silver III": [ - "Shiny Boss Teef", - "Portentious Xenos Glyphs", - "Brutal Iron Jaw", - "Overcapacitator", - "Ded 'Ard Plate", - "Adamantium Plates" - ], - "Gold I": [ - "Cybork Body Parts", - "Relic Bionic Enhancement", - "Ded Brutal Iron Jaw", - "Powered Blade", - "Ded Shiny 'Ard Plate", - "Mysterious Device" - ], - "Gold II": [ - "Shiny Boss Teef", - "Relic Bionic Enhancement", - "Snazzy Dakka", - "Powered Blade", - "Bosspole", - "Adamantium Plates" - ], - "Gold III": [ - "Cybork Body Parts", - "Portentious Xenos Glyphs", - "Snazzy Dakka", - "Overcapacitator", - "Bosspole", - "Mysterious Device" - ], - "Diamond I": [ - "Cybork Body Parts", - "Grandiose Skull Ornament", - "Snazzy Dakka", - "Relic Auxiliary Core", - "Bosspole", - "Adamantium Plates" - ] - }, - "Gibbascrapz": { - "Stone I": [ - "Wires", - "Minor Bionic Enhancement", - "Basic Auxiliary Core", - "Nasty Spikes", - "Pile of Salvage", - "Metal Joints" - ], - "Stone II": [ - "Ropes and Chains", - "Adamantium Filaments", - "Weapon Parts", - "Plasma Cell", - "Pile of Salvage", - "Box of Salvage" - ], - "Stone III": [ - "Chip Damage", - "Adamantium Filaments", - "Magazine", - "Plasma Cell", - "Pile of Salvage", - "Box of Salvage" - ], - "Iron I": [ - "Satchel", - "Helmet Trophy", - "Fine Micro-Generator", - "Razorsharp Spikes", - "Adamantium Lump", - "Reinforced Scale-Plates" - ], - "Iron II": [ - "Reinforced Cables", - "Battle Scar", - "Fine Auxiliary Core", - "Box of Ammo", - "Box of Salvage", - "Adamantium Bar" - ], - "Iron III": [ - "Repair-Kit", - "Electromantic Cable Bundle", - "Iron Jaw", - "Razorsharp Spikes", - "Adamantium Lump", - "Crate of Salvage" - ], - "Bronze I": [ - "Bad Moon Teef", - "Electromantic Cable Bundle", - "Powerful Auxiliary Core", - "Bionic Eye", - "Adamantium Bar", - "Scale-Plate Strand" - ], - "Bronze II": [ - "Nob Teef", - "Advanced Bionics", - "Anointed Auxiliary Core", - "Plasma Cell Bundle", - "Ard Plate", - "Adamantium Bar" - ], - "Bronze III": [ - "Repair-Kit", - "Mars-Pattern Bionics", - "Brutal Iron Jaw", - "Murderous Spikes", - "Ded 'Ard Plate", - "Scale-Plate Mantle" - ], - "Silver I": [ - "Nob Teef", - "Ominous Xenos Glyphs", - "Brutal Iron Jaw", - "Bionic Neural Pathways", - "Ded 'Ard Plate", - "Adamantium Sheet" - ], - "Silver II": [ - "Nob Teef", - "Mars-Pattern Bionics", - "Ded Brutal Iron Jaw", - "Bionic Neural Pathways", - "Ded Shiny 'Ard Plate", - "Scale-Plate Mantle" - ], - "Silver III": [ - "Shiny Boss Teef", - "Portentious Xenos Glyphs", - "Brutal Iron Jaw", - "Overcapacitator", - "Ded 'Ard Plate", - "Adamantium Plates" - ], - "Gold I": [ - "Cybork Body Parts", - "Relic Bionic Enhancement", - "Ded Brutal Iron Jaw", - "Relic Auxiliary Core", - "Ded Shiny 'Ard Plate", - "Mysterious Device" - ], - "Gold II": [ - "Shiny Boss Teef", - "Relic Bionic Enhancement", - "Snazzy Dakka", - "Relic Auxiliary Core", - "Bosspole", - "Adamantium Plates" - ], - "Gold III": [ - "Cybork Body Parts", - "Portentious Xenos Glyphs", - "Snazzy Dakka", - "Overcapacitator", - "Bosspole", - "Mysterious Device" - ], - "Diamond I": [ - "Cybork Body Parts", - "Grand Strategy", - "Snazzy Dakka", - "Relic Micro-Generator", - "Bosspole", - "Adamantium Plates" - ] - }, - "Snappawrecka": { - "Stone I": [ - "Chip Damage", - "Minor Bionic Enhancement", - "Round of Ammo", - "Nasty Spikes", - "Pile of Salvage", - "Metal Joints" - ], - "Stone II": [ - "Wires", - "Adamantium Filaments", - "Weapon Parts", - "Barrel of Promethium", - "Metal Joints", - "Box of Salvage" - ], - "Stone III": [ - "Chip Damage", - "Adamantium Filaments", - "Magazine", - "Plasma Cell", - "Armor Trim", - "Box of Salvage" - ], - "Iron I": [ - "Reinforced Cables", - "Artificial Vertebrae", - "Combat Stimms", - "Razorsharp Spikes", - "Adamantium Lump", - "Reinforced Scale-Plates" - ], - "Iron II": [ - "Reinforced Cables", - "Battle Scar", - "Magazine", - "Box of Ammo", - "Air Purificator", - "Adamantium Bar" - ], - "Iron III": [ - "Metal Decorative Skull", - "Electromantic Cable Bundle", - "Iron Jaw", - "Razorsharp Spikes", - "Adamantium Lump", - "Crate of Salvage" - ], - "Bronze I": [ - "Bad Moon Teef", - "Electromantic Cable Bundle", - "Advanced Combat Stimms", - "Tank of Promethium", - "Adamantium Bar", - "Scale-Plate Strand" - ], - "Bronze II": [ - "Nob Teef", - "Advanced Bionics", - "Refined Combat Stimms", - "Plasma Cell Bundle", - "Ard Plate", - "Adamantium Bar" - ], - "Bronze III": [ - "Kill Count", - "Exospine", - "Brutal Iron Jaw", - "Murderous Spikes", - "Ded 'Ard Plate", - "Scale-Plate Mantle" - ], - "Silver I": [ - "Nob Teef", - "Ominous Xenos Glyphs", - "Brutal Iron Jaw", - "Bionic Neural Pathways", - "Ded 'Ard Plate", - "Adamantium Sheet" - ], - "Silver II": [ - "Nob Teef", - "Exospine", - "Ded Brutal Iron Jaw", - "Bionic Neural Pathways", - "Ded Shiny 'Ard Plate", - "Scale-Plate Mantle" - ], - "Silver III": [ - "Shiny Boss Teef", - "Portentious Xenos Glyphs", - "Brutal Iron Jaw", - "Overcapacitator", - "Ded 'Ard Plate", - "Adamantium Plates" - ], - "Gold I": [ - "Cybork Body Parts", - "Advanced Exospine", - "Ded Brutal Iron Jaw", - "Autoloader", - "Ded Shiny 'Ard Plate", - "Mysterious Device" - ], - "Gold II": [ - "Shiny Boss Teef", - "Advanced Exospine", - "Snazzy Dakka", - "Autoloader", - "Bosspole", - "Adamantium Plates" - ], - "Gold III": [ - "Cybork Body Parts", - "Portentious Xenos Glyphs", - "Snazzy Dakka", - "Overcapacitator", - "Bosspole", - "Mysterious Device" - ], - "Diamond I": [ - "Cybork Body Parts", - "Grand Strategy", - "Snazzy Dakka", - "Relic Micro-Generator", - "Bosspole", - "Adamantium Plates" - ] - }, - "Tanksmasha": { - "Stone I": [ - "Chip Damage", - "Minor Bionic Enhancement", - "Weapon Parts", - "Nasty Spikes", - "Pile of Salvage", - "Thick Skin" - ], - "Stone II": [ - "Chip Damage", - "Adamantium Filaments", - "Round of Ammo", - "Combat Stimms", - "Metal Joints", - "Box of Salvage" - ], - "Stone III": [ - "Ropes and Chains", - "Adamantium Filaments", - "Magazine", - "Combat Stimms", - "Thick Skin", - "Box of Salvage" - ], - "Iron I": [ - "Satchel", - "Enriched Rations", - "Barrel of Promethium", - "Razorsharp Spikes", - "Adamantium Lump", - "Reinforced Scale-Plates" - ], - "Iron II": [ - "Satchel", - "Battle Scar", - "Magazine", - "Box of Ammo", - "Box of Salvage", - "Adamantium Bar" - ], - "Iron III": [ - "Kill Count", - "Box of Rations", - "Iron Jaw", - "Razorsharp Spikes", - "Adamantium Lump", - "Crate of Salvage" - ], - "Bronze I": [ - "Bad Moon Teef", - "Advanced Bionics", - "Iron Jaw", - "Advanced Combat Stimms", - "Adamantium Bar", - "Scale-Plate Strand" - ], - "Bronze II": [ - "Nob Teef", - "Grand Skull Trophy", - "Box of Ammo", - "Refined Combat Stimms", - "Ard Plate", - "Adamantium Bar" - ], - "Bronze III": [ - "Kill Count", - "Grand Helmet Trophy", - "Brutal Iron Jaw", - "Murderous Spikes", - "Ded 'Ard Plate", - "Scale-Plate Mantle" - ], - "Silver I": [ - "Nob Teef", - "Ominous Xenos Glyphs", - "Brutal Iron Jaw", - "Bionic Neural Pathways", - "Ded 'Ard Plate", - "Adamantium Sheet" - ], - "Silver II": [ - "Nob Teef", - "Grand Helmet Trophy", - "Ded Brutal Iron Jaw", - "Bionic Neural Pathways", - "Ded Shiny 'Ard Plate", - "Scale-Plate Mantle" - ], - "Silver III": [ - "Shiny Boss Teef", - "Portentious Xenos Glyphs", - "Brutal Iron Jaw", - "Overcapacitator", - "Ded 'Ard Plate", - "Adamantium Plates" - ], - "Gold I": [ - "Cybork Body Parts", - "Relic Bionic Enhancement", - "Ded Brutal Iron Jaw", - "Powered Blade", - "Ded Shiny 'Ard Plate", - "Mysterious Device" - ], - "Gold II": [ - "Shiny Boss Teef", - "Relic Bionic Enhancement", - "Snazzy Dakka", - "Powered Blade", - "Bosspole", - "Adamantium Plates" - ], - "Gold III": [ - "Cybork Body Parts", - "Portentious Xenos Glyphs", - "Snazzy Dakka", - "Overcapacitator", - "Bosspole", - "Mysterious Device" - ], - "Diamond I": [ - "Cybork Body Parts", - "Grandiose Skull Ornament", - "Snazzy Dakka", - "Relic Auxiliary Core", - "Bosspole", - "Adamantium Plates" - ] - }, - "Boss Gulgortz": { - "Stone I": [ - "Wires", - "Minor Bionic Enhancement", - "Round of Ammo", - "Nasty Spikes", - "Pile of Salvage", - "Adamantium Ore" - ], - "Stone II": [ - "Chip Damage", - "Adamantium Filaments", - "Weapon Parts", - "Plasma Cell", - "Thick Skin", - "Box of Salvage" - ], - "Stone III": [ - "Chip Damage", - "Adamantium Filaments", - "Magazine", - "Plasma Cell", - "Metal Joints", - "Box of Salvage" - ], - "Iron I": [ - "Reinforced Cables", - "Helmet Trophy", - "Combat Stimms", - "Razorsharp Spikes", - "Adamantium Lump", - "Reinforced Scale-Plates" - ], - "Iron II": [ - "Reinforced Cables", - "Battle Scar", - "Magazine", - "Box of Ammo", - "Box of Salvage", - "Adamantium Bar" - ], - "Iron III": [ - "Kill Count", - "Grand Skull Trophy", - "Iron Jaw", - "Razorsharp Spikes", - "Adamantium Lump", - "Crate of Salvage" - ], - "Bronze I": [ - "Bad Moon Teef", - "Electromantic Cable Bundle", - "Advanced Combat Stimms", - "Bionic Eye", - "Adamantium Bar", - "Scale-Plate Strand" - ], - "Bronze II": [ - "Nob Teef", - "Advanced Bionics", - "Refined Combat Stimms", - "Plasma Cell Bundle", - "Ard Plate", - "Adamantium Bar" - ], - "Bronze III": [ - "Kill Count", - "Grand Helmet Trophy", - "Brutal Iron Jaw", - "Murderous Spikes", - "Ded 'Ard Plate", - "Scale-Plate Mantle" - ], - "Silver I": [ - "Nob Teef", - "Ominous Xenos Glyphs", - "Brutal Iron Jaw", - "Bionic Neural Pathways", - "Ded 'Ard Plate", - "Adamantium Sheet" - ], - "Silver II": [ - "Nob Teef", - "Grand Helmet Trophy", - "Ded Brutal Iron Jaw", - "Bionic Neural Pathways", - "Ded Shiny 'Ard Plate", - "Scale-Plate Mantle" - ], - "Silver III": [ - "Shiny Boss Teef", - "Portentious Xenos Glyphs", - "Brutal Iron Jaw", - "Overcapacitator", - "Ded 'Ard Plate", - "Adamantium Plates" - ], - "Gold I": [ - "Cybork Body Parts", - "Relic Bionic Enhancement", - "Ded Brutal Iron Jaw", - "Autoloader", - "Ded Shiny 'Ard Plate", - "Mysterious Device" - ], - "Gold II": [ - "Shiny Boss Teef", - "Relic Bionic Enhancement", - "Snazzy Dakka", - "Autoloader", - "Bosspole", - "Adamantium Plates" - ], - "Gold III": [ - "Cybork Body Parts", - "Portentious Xenos Glyphs", - "Snazzy Dakka", - "Overcapacitator", - "Bosspole", - "Mysterious Device" - ], - "Diamond I": [ - "Cybork Body Parts", - "Grandiose Skull Ornament", - "Snazzy Dakka", - "Relic Auxiliary Core", - "Bosspole", - "Adamantium Plates" - ] - }, - "Sho'Syl": { - "Stone I": [ - "Mission Assignment", - "Field Ration", - "Single Power Pack", - "Basic Auxiliary Core", - "Adamantium Ore", - "Sophisticated Material" - ], - "Stone II": [ - "Wires", - "Adamantium Filaments", - "Ballistics Data", - "Locator Beacon", - "Metal Joints", - "Box of Salvage" - ], - "Stone III": [ - "Wires", - "Enriched Rations", - "Power Pack Bundle", - "Locator Beacon", - "Metal Joints", - "Mesh Weave" - ], - "Iron I": [ - "Mission Assignment", - "Advanced Filaments", - "Attack Vector Data-Slate", - "Targeting Matrix", - "Adamantium Lump", - "Mesh Weave" - ], - "Iron II": [ - "Reinforced Cables", - "Artificial Vertebrae", - "Power Pack Bundle", - "Prey-Sight", - "Air Purificator", - "Sophisticated Material Bar" - ], - "Iron III": [ - "Electromantic Cable Bundle", - "Ancient Runes", - "Sensor Suite", - "Targeting Matrix", - "Air Purificator", - "Sophisticated Material Bar" - ], - "Bronze I": [ - "Stimm Injector", - "Box of Rations", - "Bionic Eye", - "Powerful Auxiliary Core", - "Adamantium Bar", - "Mesh Weave Garment" - ], - "Bronze II": [ - "Advanced Stimm Injector", - "Box of Rations", - "High-Capacity Power Pack", - "Anointed Auxiliary Core", - "Drone Controller", - "Sophisticated Material Bar" - ], - "Bronze III": [ - "Kill Count", - "Exospine", - "Advanced Sensor Suite", - "Ratiocination Targeting", - "Advanced Drone Controller", - "Advanced Mesh Weave Garment" - ], - "Silver I": [ - "Advanced Stimm Injector", - "Ominous Xenos Glyphs", - "Advanced Sensor Suite", - "Bionic Neural Pathways", - "Advanced Drone Controller", - "Sophisticated Material Sheet" - ], - "Silver II": [ - "Advanced Stimm Injector", - "Exospine", - "Multi-Spectrum Sensor Suite", - "Bionic Neural Pathways", - "Sentry AI Drone Controller", - "Advanced Mesh Weave Garment" - ], - "Silver III": [ - "Auto-Reactive Stimm Injector", - "Portentious Xenos Glyphs", - "Advanced Sensor Suite", - "Overcapacitator", - "Advanced Drone Controller", - "Sophisticated Material Plates" - ], - "Gold I": [ - "Ta'Lissera Bond", - "Advanced Exospine", - "Multi-Spectrum Sensor Suite", - "Relic Auxiliary Core", - "Sentry AI Drone Controller", - "Mysterious Device" - ], - "Gold II": [ - "Auto-Reactive Stimm Injector", - "Advanced Exospine", - "Target Lock", - "Relic Auxiliary Core", - "Iridium Plating", - "Sophisticated Material Plates" - ], - "Gold III": [ - "Ta'Lissera Bond", - "Portentious Xenos Glyphs", - "Target Lock", - "Overcapacitator", - "Iridium Plating", - "Mysterious Device" - ], - "Diamond I": [ - "Ta'Lissera Bond", - "Grand Strategy", - "Target Lock", - "Relic Auxiliary Core", - "Iridium Plating", - "Sophisticated Material Plates" - ] - }, - "Re'Vas": { - "Stone I": [ - "Mission Assignment", - "Mission Assignment", - "Basic Auxiliary Core", - "Targeting Link", - "Adamantium Ore", - "Sophisticated Material" - ], - "Stone II": [ - "Wires", - "Adamantium Filaments", - "Canister of Chemicals", - "Locator Beacon", - "Metal Joints", - "Box of Salvage" - ], - "Stone III": [ - "Wires", - "Mission Objective", - "Fine Auxiliary Core", - "Attack Vector Data-Slate", - "Metal Joints", - "Mesh Weave" - ], - "Iron I": [ - "Reinforced Cables", - "Advanced Filaments", - "Barrel of Promethium", - "Targeting Matrix", - "Adamantium Lump", - "Mesh Weave" - ], - "Iron II": [ - "Reinforced Cables", - "Artificial Vertebrae", - "Fine Auxiliary Core", - "Prey-Sight", - "Air Purificator", - "Sophisticated Material Bar" - ], - "Iron III": [ - "Electromantic Cable Bundle", - "Ancient Runes", - "Sensor Suite", - "Targeting Matrix", - "Air Purificator", - "Sophisticated Material Bar" - ], - "Bronze I": [ - "Stimm Injector", - "Battle Plan", - "Tank of Promethium", - "Powerful Auxiliary Core", - "Adamantium Bar", - "Mesh Weave Garment" - ], - "Bronze II": [ - "Advanced Stimm Injector", - "Battle Plan", - "Plasma Cell Bundle", - "Plasma Cell Crate", - "Drone Controller", - "Sophisticated Material Bar" - ], - "Bronze III": [ - "Kill Count", - "Exospine", - "Advanced Sensor Suite", - "Ratiocination Targeting", - "Advanced Drone Controller", - "Advanced Mesh Weave Garment" - ], - "Silver I": [ - "Advanced Stimm Injector", - "Ominous Xenos Glyphs", - "Advanced Sensor Suite", - "Bionic Neural Pathways", - "Advanced Drone Controller", - "Sophisticated Material Sheet" - ], - "Silver II": [ - "Advanced Stimm Injector", - "Exospine", - "Multi-Spectrum Sensor Suite", - "Bionic Neural Pathways", - "Sentry AI Drone Controller", - "Advanced Mesh Weave Garment" - ], - "Silver III": [ - "Auto-Reactive Stimm Injector", - "Portentious Xenos Glyphs", - "Advanced Sensor Suite", - "Overcapacitator", - "Advanced Drone Controller", - "Sophisticated Material Plates" - ], - "Gold I": [ - "Ta'Lissera Bond", - "Advanced Exospine", - "Multi-Spectrum Sensor Suite", - "Relic Auxiliary Core", - "Sentry AI Drone Controller", - "Mysterious Device" - ], - "Gold II": [ - "Auto-Reactive Stimm Injector", - "Advanced Exospine", - "Target Lock", - "Relic Auxiliary Core", - "Iridium Plating", - "Sophisticated Material Plates" - ], - "Gold III": [ - "Ta'Lissera Bond", - "Portentious Xenos Glyphs", - "Target Lock", - "Overcapacitator", - "Iridium Plating", - "Mysterious Device" - ], - "Diamond I": [ - "Ta'Lissera Bond", - "Advanced Exospine", - "Target Lock", - "Blessed Promethium Tank", - "Iridium Plating", - "Sophisticated Material Plates" - ] - }, - "Darkstrider": { - "Stone I": [ - "Field Ration", - "Mission Assignment", - "Single Power Pack", - "Targeting Link", - "Adamantium Ore", - "Sophisticated Material" - ], - "Stone II": [ - "Standard-Issue Tourniquet", - "Adamantium Filaments", - "Ballistics Data", - "Locator Beacon", - "Pile of Salvage", - "Box of Salvage" - ], - "Stone III": [ - "Standard-Issue Tourniquet", - "Mission Objective", - "Power Pack Bundle", - "Locator Beacon", - "Pile of Salvage", - "Mesh Weave" - ], - "Iron I": [ - "Enriched Rations", - "Advanced Filaments", - "Attack Vector Data-Slate", - "Targeting Matrix", - "Adamantium Lump", - "Mesh Weave" - ], - "Iron II": [ - "Satchel", - "Mission Objective", - "Power Pack Bundle", - "Prey-Sight", - "Air Purificator", - "Sophisticated Material Bar" - ], - "Iron III": [ - "Box of Rations", - "Ancient Runes", - "Sensor Suite", - "Targeting Matrix", - "Air Purificator", - "Sophisticated Material Bar" - ], - "Bronze I": [ - "Stimm Injector", - "Battle Plan", - "Bionic Eye", - "Powerful Auxiliary Core", - "Adamantium Bar", - "Mesh Weave Garment" - ], - "Bronze II": [ - "Advanced Stimm Injector", - "Battle Plan", - "High-Capacity Power Pack", - "Powerful Auxiliary Core", - "Drone Controller", - "Sophisticated Material Bar" - ], - "Bronze III": [ - "Kill Count", - "Exquisite Medical Supplies", - "Advanced Sensor Suite", - "Ratiocination Targeting", - "Advanced Drone Controller", - "Advanced Mesh Weave Garment" - ], - "Silver I": [ - "Advanced Stimm Injector", - "Ominous Xenos Glyphs", - "Advanced Sensor Suite", - "Bionic Neural Pathways", - "Advanced Drone Controller", - "Sophisticated Material Sheet" - ], - "Silver II": [ - "Advanced Stimm Injector", - "Mars-Pattern Bionics", - "Multi-Spectrum Sensor Suite", - "Bionic Neural Pathways", - "Sentry AI Drone Controller", - "Advanced Mesh Weave Garment" - ], - "Silver III": [ - "Auto-Reactive Stimm Injector", - "Portentious Xenos Glyphs", - "Advanced Sensor Suite", - "Overcapacitator", - "Advanced Drone Controller", - "Sophisticated Material Plates" - ], - "Gold I": [ - "Ta'Lissera Bond", - "Relic Bionic Enhancement", - "Multi-Spectrum Sensor Suite", - "Relic Auxiliary Core", - "Sentry AI Drone Controller", - "Mysterious Device" - ], - "Gold II": [ - "Auto-Reactive Stimm Injector", - "Relic Bionic Enhancement", - "Target Lock", - "Relic Auxiliary Core", - "Iridium Plating", - "Sophisticated Material Plates" - ], - "Gold III": [ - "Ta'Lissera Bond", - "Portentious Xenos Glyphs", - "Target Lock", - "Overcapacitator", - "Iridium Plating", - "Mysterious Device" - ], - "Diamond I": [ - "Ta'Lissera Bond", - "Grand Strategy", - "Target Lock", - "Relic Auxiliary Core", - "Iridium Plating", - "Sophisticated Material Plates" - ] - }, - "Aun'Shi": { - "Stone I": [ - "Field Ration", - "Healing Ointment", - "Basic Auxiliary Core", - "Targeting Link", - "Sophisticated Material", - "Pile of Salvage" - ], - "Stone II": [ - "Ropes and Chains", - "Adamantium Filaments", - "Vox-Caster", - "Fine Micro-Generator", - "Thick Skin", - "Cloak" - ], - "Stone III": [ - "Ropes and Chains", - "Writings", - "Power Pack Bundle", - "Fine Micro-Generator", - "Thick Skin", - "Cloak" - ], - "Iron I": [ - "Enriched Rations", - "Advanced Filaments", - "Attack Vector Data-Slate", - "Targeting Matrix", - "Sophisticated Material Ingot", - "Mesh Weave" - ], - "Iron II": [ - "Satchel", - "Writings", - "Power Pack Bundle", - "Supernatural Sight", - "Air Purificator", - "Fine Cloak" - ], - "Iron III": [ - "Box of Rations", - "Ancient Runes", - "Sensor Suite", - "Targeting Matrix", - "Air Purificator", - "Fine Cloak" - ], - "Bronze I": [ - "Stimm Injector", - "Medical Supply Crate", - "Classified Data-Slate", - "Powerful Micro-Generator", - "Sophisticated Material Bar", - "Mesh Weave Garment" - ], - "Bronze II": [ - "Advanced Stimm Injector", - "Medical Supply Crate", - "Powerful Micro-Generator", - "Anointed Micro-Generator", - "Drone Controller", - "Fine Cloak" - ], - "Bronze III": [ - "Battle Scar", - "Exquisite Medical Supplies", - "Advanced Sensor Suite", - "Ratiocination Targeting", - "Advanced Drone Controller", - "Advanced Mesh Weave Garment" - ], - "Silver I": [ - "Advanced Stimm Injector", - "Ominous Xenos Glyphs", - "Advanced Sensor Suite", - "Relic Hilt", - "Advanced Drone Controller", - "Decorated Cloak" - ], - "Silver II": [ - "Advanced Stimm Injector", - "Exquisite Medical Supplies", - "Multi-Spectrum Sensor Suite", - "Relic Hilt", - "Sentry AI Drone Controller", - "Advanced Mesh Weave Garment" - ], - "Silver III": [ - "Auto-Reactive Stimm Injector", - "Portentious Xenos Glyphs", - "Advanced Sensor Suite", - "Overcapacitator", - "Advanced Drone Controller", - "Divine Cloak" - ], - "Gold I": [ - "Ta'Lissera Bond", - "Relic Bionic Enhancement", - "Multi-Spectrum Sensor Suite", - "Powered Blade", - "Sentry AI Drone Controller", - "Mysterious Device" - ], - "Gold II": [ - "Auto-Reactive Stimm Injector", - "Relic Bionic Enhancement", - "Target Lock", - "Relic Micro-Generator", - "Iridium Plating", - "Sophisticated Material Plates" - ], - "Gold III": [ - "Ta'Lissera Bond", - "Portentious Xenos Glyphs", - "Target Lock", - "Overcapacitator", - "Iridium Plating", - "Mysterious Device" - ], - "Diamond I": [ - "Ta'Lissera Bond", - "Grand Strategy", - "Target Lock", - "Hyperstim", - "Iridium Plating", - "Sophisticated Material Plates" - ] - }, - "Shadowsun": { - "Stone I": [ - "Mission Assignment", - "Mission Assignment", - "Basic Auxiliary Core", - "Targeting Link", - "Adamantium Ore", - "Sophisticated Material" - ], - "Stone II": [ - "Wires", - "Adamantium Filaments", - "Canister of Chemicals", - "Locator Beacon", - "Metal Joints", - "Box of Salvage" - ], - "Stone III": [ - "Wires", - "Mission Objective", - "Fine Auxiliary Core", - "Attack Vector Data-Slate", - "Metal Joints", - "Mesh Weave" - ], - "Iron I": [ - "Reinforced Cables", - "Advanced Filaments", - "Barrel of Promethium", - "Targeting Matrix", - "Adamantium Lump", - "Mesh Weave" - ], - "Iron II": [ - "Reinforced Cables", - "Artificial Vertebrae", - "Fine Auxiliary Core", - "Prey-Sight", - "Air Purificator", - "Sophisticated Material Bar" - ], - "Iron III": [ - "Electromantic Cable Bundle", - "Ancient Runes", - "Sensor Suite", - "Targeting Matrix", - "Air Purificator", - "Sophisticated Material Bar" - ], - "Bronze I": [ - "Stimm Injector", - "Battle Plan", - "Tank of Promethium", - "Powerful Auxiliary Core", - "Adamantium Bar", - "Mesh Weave Garment" - ], - "Bronze II": [ - "Advanced Stimm Injector", - "Battle Plan", - "Plasma Cell Bundle", - "Plasma Cell Crate", - "Drone Controller", - "Sophisticated Material Bar" - ], - "Bronze III": [ - "Kill Count", - "Exospine", - "Advanced Sensor Suite", - "Ratiocination Targeting", - "Advanced Drone Controller", - "Advanced Mesh Weave Garment" - ], - "Silver I": [ - "Advanced Stimm Injector", - "Ominous Xenos Glyphs", - "Advanced Sensor Suite", - "Bionic Neural Pathways", - "Advanced Drone Controller", - "Sophisticated Material Sheet" - ], - "Silver II": [ - "Advanced Stimm Injector", - "Exospine", - "Multi-Spectrum Sensor Suite", - "Bionic Neural Pathways", - "Sentry AI Drone Controller", - "Advanced Mesh Weave Garment" - ], - "Silver III": [ - "Auto-Reactive Stimm Injector", - "Portentious Xenos Glyphs", - "Advanced Sensor Suite", - "Overcapacitator", - "Advanced Drone Controller", - "Sophisticated Material Plates" - ], - "Gold I": [ - "Ta'Lissera Bond", - "Advanced Exospine", - "Multi-Spectrum Sensor Suite", - "Relic Auxiliary Core", - "Sentry AI Drone Controller", - "Mysterious Device" - ], - "Gold II": [ - "Auto-Reactive Stimm Injector", - "Advanced Exospine", - "Target Lock", - "Relic Auxiliary Core", - "Iridium Plating", - "Sophisticated Material Plates" - ], - "Gold III": [ - "Ta'Lissera Bond", - "Portentious Xenos Glyphs", - "Target Lock", - "Overcapacitator", - "Iridium Plating", - "Mysterious Device" - ], - "Diamond I": [ - "Ta'Lissera Bond", - "Advanced Exospine", - "Target Lock", - "Relic Auxiliary Core", - "Iridium Plating", - "Sophisticated Material Plates" - ] - }, - "Neurothrope": { - "Stone I": [ - "Chip Damage", - "Mutation: Warped Muscles", - "Canister of Chemicals", - "Canister of Chemicals", - "Sophisticated Material", - "Sophisticated Material" - ], - "Stone II": [ - "Mission Assignment", - "Nano Swarm", - "Combat Stimms", - "Razorsharp Spikes", - "Sophisticated Material", - "Mutation: Tough Skin" - ], - "Stone III": [ - "Mission Objective", - "Regenerating Nano Swarm", - "Otherworldly Energy", - "Nasty Spikes", - "Mutation: Scaly Skin", - "Mutation: Tough Skin" - ], - "Iron I": [ - "Regenerating Nano Swarm", - "Mutation: Warped Lungs", - "Combat Stimms", - "Combat Stimms", - "Mutation: Scaly Skin", - "Sophisticated Material Ingot" - ], - "Iron II": [ - "Mission Objective", - "Otherworldly Nano Swarm", - "Otherworldly Energy Reservoir", - "Combat Stimms", - "Subdermal Plating", - "Mutation: Scaly Skin" - ], - "Iron III": [ - "Battle Plan", - "Mutation: Warped Lungs", - "Toxin Sacs", - "Supernatural Sight", - "Sophisticated Material Ingot", - "Subdermal Plating" - ], - "Bronze I": [ - "Adrenal Glands", - "Mutation: Warped Heart", - "Supernatural Sight", - "Classified Data-Slate", - "Sophisticated Material Bar", - "Sophisticated Material Bar" - ], - "Bronze II": [ - "Adaptive Adrenal Glands", - "Otherworldly Nano Swarm", - "Classified Data-Slate", - "Refined Combat Stimms", - "Reinforced Chitin", - "Mutation: Warped Skin" - ], - "Bronze III": [ - "Battle Scar", - "Exospine", - "Adaptive Toxin Sacs", - "Murderous Spikes", - "Adaptive Chitin Carapace", - "Hypermaterial Shifter" - ], - "Silver I": [ - "Adaptive Adrenal Glands", - "Weathering", - "Adaptive Toxin Sacs", - "Warp Locus", - "Adaptive Chitin Carapace", - "Sophisticated Material Sheet" - ], - "Silver II": [ - "Synaptic Augmentation", - "Mutation: Regenerative Blood", - "Hyper-Adaptive Toxin Sacs", - "Refined Combat Stimms", - "Adaptive Chitin Carapace", - "Mutation: Metallic Skin" - ], - "Silver III": [ - "Adaptive Adrenal Glands", - "Mutation: Otherworldly Power", - "Adaptive Toxin Sacs", - "Imposing Horns", - "Psyk-Conductive Material", - "Sophisticated Material Sheet" - ], - "Gold I": [ - "Hyper-Adaptive Adrenal Glands", - "Advanced Exospine", - "Psychic Force Conduit", - "Psychic Focus", - "Hyper-Adaptive Chitin Carapace", - "Sophisticated Material Plates" - ], - "Gold II": [ - "Hypermetabolic Acceleration", - "Mutation: Otherworldly Power", - "Hyper-Adaptive Toxin Sacs", - "Imposing Horns", - "Hyper-Adaptive Chitin Carapace", - "Mutation: Impenetrable Skin" - ], - "Gold III": [ - "Hyper-Adaptive Adrenal Glands", - "Advanced Exospine", - "Implant Attack", - "Hyperstim", - "Symbiotic Carapace", - "Mutation: Impenetrable Skin" - ], - "Diamond I": [ - "Hypermetabolic Acceleration", - "Grand Strategy", - "Implant Attack", - "Psychic Focus", - "Symbiotic Carapace", - "Sophisticated Material Plates" - ] - }, - "Tyrant Guard": { - "Stone I": [ - "Nano Swarm", - "Mutation: Warped Muscles", - "Canister of Chemicals", - "Nasty Spikes", - "Sophisticated Material", - "Sophisticated Material" - ], - "Stone II": [ - "Field Ration", - "Nano Swarm", - "Combat Stimms", - "Razorsharp Spikes", - "Mutation: Tough Skin", - "Mutation: Tough Skin" - ], - "Stone III": [ - "Enriched Rations", - "Regenerating Nano Swarm", - "Otherworldly Energy", - "Canister of Chemicals", - "Air Purificator", - "Mutation: Scaly Skin" - ], - "Iron I": [ - "Regenerating Nano Swarm", - "Mission Objective", - "Combat Stimms", - "Combat Stimms", - "Mutation: Scaly Skin", - "Air Purificator" - ], - "Iron II": [ - "Enriched Rations", - "Battle Plan", - "Otherworldly Energy Reservoir", - "Slicing Claws", - "Subdermal Plating", - "Mutation: Scaly Skin" - ], - "Iron III": [ - "Box of Rations", - "Mutation: Warped Lungs", - "Toxin Sacs", - "Advanced Combat Stimms", - "Air Purificator", - "Subdermal Plating" - ], - "Bronze I": [ - "Adrenal Glands", - "Mutation: Warped Heart", - "Supernatural Sight", - "Classified Data-Slate", - "Mutation: Warped Skin", - "Sophisticated Material Bar" - ], - "Bronze II": [ - "Adaptive Adrenal Glands", - "Otherworldly Nano Swarm", - "Classified Data-Slate", - "Refined Combat Stimms", - "Reinforced Chitin", - "Mutation: Warped Skin" - ], - "Bronze III": [ - "Battle Scar", - "Exospine", - "Adaptive Toxin Sacs", - "Murderous Spikes", - "Adaptive Chitin Carapace", - "Duplicate Organ" - ], - "Silver I": [ - "Adaptive Adrenal Glands", - "Weathering", - "Adaptive Toxin Sacs", - "Warp Locus", - "Adaptive Chitin Carapace", - "Sophisticated Material Sheet" - ], - "Silver II": [ - "Synaptic Augmentation", - "Mutation: Regenerative Blood", - "Hyper-Adaptive Toxin Sacs", - "Refined Combat Stimms", - "Adaptive Chitin Carapace", - "Mutation: Metallic Skin" - ], - "Silver III": [ - "Adaptive Adrenal Glands", - "Grand Strategy", - "Adaptive Toxin Sacs", - "Imposing Horns", - "Psyk-Conductive Material", - "Sophisticated Material Plates" - ], - "Gold I": [ - "Hyper-Adaptive Adrenal Glands", - "Advanced Exospine", - "Psychic Force Conduit", - "Hyperstim", - "Hyper-Adaptive Chitin Carapace", - "Mutation: Impenetrable Skin" - ], - "Gold II": [ - "Hypermetabolic Acceleration", - "Mutation: Otherworldly Power", - "Hyper-Adaptive Toxin Sacs", - "Imposing Horns", - "Hyper-Adaptive Chitin Carapace", - "Mutation: Impenetrable Skin" - ], - "Gold III": [ - "Hyper-Adaptive Adrenal Glands", - "Advanced Exospine", - "Implant Attack", - "Hyperstim", - "Symbiotic Carapace", - "Mutation: Impenetrable Skin" - ], - "Diamond I": [ - "Hypermetabolic Acceleration", - "Grand Strategy", - "Implant Attack", - "Hyperstim", - "Symbiotic Carapace", - "Sophisticated Material Plates" - ] - }, - "Winged Tyrant Prime": { - "Stone I": [ - "Nano Swarm", - "Mutation: Warped Muscles", - "Canister of Chemicals", - "Nasty Spikes", - "Sophisticated Material", - "Sophisticated Material" - ], - "Stone II": [ - "Field Ration", - "Nano Swarm", - "Combat Stimms", - "Razorsharp Spikes", - "Mutation: Tough Skin", - "Mutation: Tough Skin" - ], - "Stone III": [ - "Enriched Rations", - "Regenerating Nano Swarm", - "Otherworldly Energy", - "Canister of Chemicals", - "Air Purificator", - "Mutation: Scaly Skin" - ], - "Iron I": [ - "Regenerating Nano Swarm", - "Mission Objective", - "Combat Stimms", - "Combat Stimms", - "Mutation: Scaly Skin", - "Sophisticated Material Ingot" - ], - "Iron II": [ - "Enriched Rations", - "Battle Plan", - "Otherworldly Energy Reservoir", - "Slicing Claws", - "Subdermal Plating", - "Mutation: Scaly Skin" - ], - "Iron III": [ - "Box of Rations", - "Mutation: Warped Lungs", - "Toxin Sacs", - "Advanced Combat Stimms", - "Sophisticated Material Ingot", - "Subdermal Plating" - ], - "Bronze I": [ - "Adrenal Glands", - "Mutation: Warped Heart", - "Supernatural Sight", - "Classified Data-Slate", - "Mutation: Warped Skin", - "Sophisticated Material Bar" - ], - "Bronze II": [ - "Adaptive Adrenal Glands", - "Otherworldly Nano Swarm", - "Classified Data-Slate", - "Refined Combat Stimms", - "Reinforced Chitin", - "Mutation: Warped Skin" - ], - "Bronze III": [ - "Battle Scar", - "Exospine", - "Adaptive Toxin Sacs", - "Murderous Spikes", - "Adaptive Chitin Carapace", - "Duplicate Organ" - ], - "Silver I": [ - "Adaptive Adrenal Glands", - "Weathering", - "Adaptive Toxin Sacs", - "Warp Locus", - "Adaptive Chitin Carapace", - "Sophisticated Material Sheet" - ], - "Silver II": [ - "Synaptic Augmentation", - "Mutation: Regenerative Blood", - "Hyper-Adaptive Toxin Sacs", - "Refined Combat Stimms", - "Adaptive Chitin Carapace", - "Mutation: Metallic Skin" - ], - "Silver III": [ - "Adaptive Adrenal Glands", - "Grand Strategy", - "Adaptive Toxin Sacs", - "Imposing Horns", - "Psyk-Conductive Material", - "Sophisticated Material Plates" - ], - "Gold I": [ - "Hyper-Adaptive Adrenal Glands", - "Advanced Exospine", - "Psychic Force Conduit", - "Hyperstim", - "Hyper-Adaptive Chitin Carapace", - "Mutation: Impenetrable Skin" - ], - "Gold II": [ - "Hypermetabolic Acceleration", - "Mutation: Otherworldly Power", - "Hyper-Adaptive Toxin Sacs", - "Imposing Horns", - "Hyper-Adaptive Chitin Carapace", - "Mutation: Impenetrable Skin" - ], - "Gold III": [ - "Hyper-Adaptive Adrenal Glands", - "Advanced Exospine", - "Implant Attack", - "Psychic Focus", - "Symbiotic Carapace", - "Mutation: Impenetrable Skin" - ], - "Diamond I": [ - "Hypermetabolic Acceleration", - "Grand Strategy", - "Implant Attack", - "Hyperstim", - "Symbiotic Carapace", - "Sophisticated Material Plates" - ] - }, - "Deathleaper": { - "Stone I": [ - "Nano Swarm", - "Mutation: Warped Muscles", - "Canister of Chemicals", - "Nasty Spikes", - "Sophisticated Material", - "Sophisticated Material" - ], - "Stone II": [ - "Chip Damage", - "Nano Swarm", - "Combat Stimms", - "Razorsharp Spikes", - "Mutation: Tough Skin", - "Mutation: Tough Skin" - ], - "Stone III": [ - "Helmet Trophy", - "Regenerating Nano Swarm", - "Otherworldly Energy", - "Canister of Chemicals", - "Air Purificator", - "Mutation: Scaly Skin" - ], - "Iron I": [ - "Regenerating Nano Swarm", - "Mission Objective", - "Combat Stimms", - "Combat Stimms", - "Mutation: Scaly Skin", - "Sophisticated Material Ingot" - ], - "Iron II": [ - "Helmet Trophy", - "Battle Plan", - "Otherworldly Energy Reservoir", - "Locator Beacon", - "Subdermal Plating", - "Mutation: Scaly Skin" - ], - "Iron III": [ - "Grand Skull Trophy", - "Mutation: Warped Lungs", - "Toxin Sacs", - "Advanced Combat Stimms", - "Sophisticated Material Ingot", - "Subdermal Plating" - ], - "Bronze I": [ - "Adrenal Glands", - "Mutation: Warped Heart", - "Supernatural Sight", - "Classified Data-Slate", - "Mutation: Warped Skin", - "Sophisticated Material Bar" - ], - "Bronze II": [ - "Adaptive Adrenal Glands", - "Otherworldly Nano Swarm", - "Classified Data-Slate", - "Refined Combat Stimms", - "Reinforced Chitin", - "Mutation: Warped Skin" - ], - "Bronze III": [ - "Battle Scar", - "Exospine", - "Adaptive Toxin Sacs", - "Murderous Spikes", - "Adaptive Chitin Carapace", - "Duplicate Organ" - ], - "Silver I": [ - "Adaptive Adrenal Glands", - "Secret Agenda", - "Adaptive Toxin Sacs", - "Warp Locus", - "Adaptive Chitin Carapace", - "Sophisticated Material Sheet" - ], - "Silver II": [ - "Synaptic Augmentation", - "Mutation: Regenerative Blood", - "Hyper-Adaptive Toxin Sacs", - "Refined Combat Stimms", - "Adaptive Chitin Carapace", - "Mutation: Metallic Skin" - ], - "Silver III": [ - "Adaptive Adrenal Glands", - "Grand Strategy", - "Adaptive Toxin Sacs", - "Imposing Horns", - "Psyk-Conductive Material", - "Sophisticated Material Plates" - ], - "Gold I": [ - "Hyper-Adaptive Adrenal Glands", - "Advanced Exospine", - "Psychic Force Conduit", - "Hyperstim", - "Hyper-Adaptive Chitin Carapace", - "Mutation: Impenetrable Skin" - ], - "Gold II": [ - "Hypermetabolic Acceleration", - "Mutation: Otherworldly Power", - "Hyper-Adaptive Toxin Sacs", - "Imposing Horns", - "Hyper-Adaptive Chitin Carapace", - "Mutation: Impenetrable Skin" - ], - "Gold III": [ - "Hyper-Adaptive Adrenal Glands", - "Advanced Exospine", - "Implant Attack", - "Psychic Focus", - "Symbiotic Carapace", - "Mutation: Impenetrable Skin" - ], - "Diamond I": [ - "Hypermetabolic Acceleration", - "Grand Strategy", - "Implant Attack", - "Hyperstim", - "Symbiotic Carapace", - "Sophisticated Material Plates" - ] - }, - "Angrax": { - "Stone I": [ - "Wires", - "Minor Bionic Enhancement", - "Weapon Parts", - "Nasty Spikes", - "Adamantium Ore", - "Mutation: Tough Skin" - ], - "Stone II": [ - "Wires", - "Mutation: Warped Muscles", - "Basic Auxiliary Core", - "Fine Micro-Generator", - "Armor Trim", - "Blessed Tasset Plate" - ], - "Stone III": [ - "Ropes and Chains", - "Helmet Trophy", - "Fine Auxiliary Core", - "Attack Vector Data-Slate", - "Metal Joints", - "Box of Salvage" - ], - "Iron I": [ - "Reinforced Cables", - "Mutation: Warped Lungs", - "Locator Beacon", - "Razorsharp Spikes", - "Adamantium Lump", - "Mutation: Scaly Skin" - ], - "Iron II": [ - "Reinforced Cables", - "Helmet Trophy", - "Fine Auxiliary Core", - "Prey-Sight", - "Air Purificator", - "Adamantium Bar" - ], - "Iron III": [ - "Electromantic Cable Bundle", - "Mutation: Warped Heart", - "Icon of Vengeance", - "Razorsharp Spikes", - "Adamantium Lump", - "Artificer Tasset Plate" - ], - "Bronze I": [ - "Eye of Horus", - "Grand Skull Trophy", - "Powerful Auxiliary Core", - "Bionic Eye", - "Impressive Armor Trim", - "Mutation: Warped Skin" - ], - "Bronze II": [ - "Warp Touched Eye of Horus", - "Advanced Bionics", - "Anointed Auxiliary Core", - "Powerful Micro-Generator", - "Blasphemous Armor Trim", - "Adamantium Bar" - ], - "Bronze III": [ - "Kill Count", - "Grand Helmet Trophy", - "Icon of Daemonic Vengeance", - "Murderous Spikes", - "Daemonic Armor Trim", - "Mutation: Metallic Skin" - ], - "Silver I": [ - "Warp Touched Eye of Horus", - "Mutation: Regenerative Blood", - "Icon of Daemonic Vengeance", - "Bionic Neural Pathways", - "Daemonic Armor Trim", - "Ancient Tasset Plate" - ], - "Silver II": [ - "Warp Touched Eye of Horus", - "Terminator Honours", - "Icon of Infernal Vengeance", - "Anointed Micro-Generator", - "Infernal Armor Trim", - "Mutation: Metallic Skin" - ], - "Silver III": [ - "Infernal Eye of Horus", - "Mutation: Otherworldly Power", - "Icon of Daemonic Vengeance", - "Imposing Horns", - "Daemonic Armor Trim", - "Relic Tasset Plate" - ], - "Gold I": [ - "Mark of Chaos Undivided", - "Grandiose Skull Ornament", - "Icon of Infernal Vengeance", - "Powered Blade", - "Infernal Armor Trim", - "Mutation: Impenetrable Skin" - ], - "Gold II": [ - "Infernal Eye of Horus", - "Grandiose Skull Ornament", - "Daemon Shells", - "Powered Blade", - "Black Rune", - "Relic Tasset Plate" - ], - "Gold III": [ - "Mark of Chaos Undivided", - "Mutation: Otherworldly Power", - "Daemon Shells", - "Imposing Horns", - "Black Rune", - "Mutation: Impenetrable Skin" - ], - "Diamond I": [ - "Mark of Chaos Undivided", - "Grand Strategy", - "Daemon Shells", - "Relic Auxiliary Core", - "Black Rune", - "Ceramite Plates" - ] - }, - "Volk": { - "Stone I": [ - "Wires", - "Minor Bionic Enhancement", - "Round of Ammo", - "Nasty Spikes", - "Adamantium Ore", - "Mutation: Tough Skin" - ], - "Stone II": [ - "Wires", - "Mutation: Warped Muscles", - "Weapon Parts", - "Plasma Cell", - "Adamantium Ore", - "Box of Salvage" - ], - "Stone III": [ - "Standard-Issue Tourniquet", - "Artificial Vertebrae", - "Magazine", - "Plasma Cell", - "Adamantium Ore", - "Mutation: Scaly Skin" - ], - "Iron I": [ - "Reinforced Cables", - "Mutation: Warped Lungs", - "Barrel of Promethium", - "Razorsharp Spikes", - "Adamantium Lump", - "Mutation: Scaly Skin" - ], - "Iron II": [ - "Reinforced Cables", - "Artificial Vertebrae", - "Magazine", - "Supernatural Sight", - "Air Purificator", - "Adamantium Bar" - ], - "Iron III": [ - "Electromantic Cable Bundle", - "Mutation: Warped Heart", - "Icon of Vengeance", - "Razorsharp Spikes", - "Air Purificator", - "Mutation: Warped Skin" - ], - "Bronze I": [ - "Eye of Horus", - "Advanced Bionics", - "Box of Ammo", - "Bionic Eye", - "Impressive Armor Trim", - "Mutation: Warped Skin" - ], - "Bronze II": [ - "Warp Touched Eye of Horus", - "Advanced Bionics", - "Blessed Promethium Tank", - "Plasma Cell Bundle", - "Blasphemous Armor Trim", - "Adamantium Bar" - ], - "Bronze III": [ - "Kill Count", - "Exospine", - "Icon of Daemonic Vengeance", - "Murderous Spikes", - "Daemonic Armor Trim", - "Mutation: Metallic Skin" - ], - "Silver I": [ - "Warp Touched Eye of Horus", - "Mutation: Regenerative Blood", - "Icon of Daemonic Vengeance", - "Bionic Neural Pathways", - "Daemonic Armor Trim", - "Adamantium Sheet" - ], - "Silver II": [ - "Warp Touched Eye of Horus", - "Golden Ornamental Skull", - "Icon of Infernal Vengeance", - "Plasma Cell Crate", - "Infernal Armor Trim", - "Mutation: Metallic Skin" - ], - "Silver III": [ - "Infernal Eye of Horus", - "Mutation: Otherworldly Power", - "Icon of Daemonic Vengeance", - "Imposing Horns", - "Daemonic Armor Trim", - "Adamantium Plates" - ], - "Gold I": [ - "Mark of Chaos Undivided", - "Relic Bionic Enhancement", - "Icon of Infernal Vengeance", - "Autoloader", - "Infernal Armor Trim", - "Mutation: Impenetrable Skin" - ], - "Gold II": [ - "Infernal Eye of Horus", - "Relic Bionic Enhancement", - "Daemon Shells", - "Autoloader", - "Black Rune", - "Adamantium Plates" - ], - "Gold III": [ - "Mark of Chaos Undivided", - "Mutation: Otherworldly Power", - "Daemon Shells", - "Imposing Horns", - "Black Rune", - "Mutation: Impenetrable Skin" - ], - "Diamond I": [ - "Mark of Chaos Undivided", - "Grand Strategy", - "Daemon Shells", - "Hyperstim", - "Black Rune", - "Ceramite Plates" - ] - }, - "Archimatos": { - "Stone I": [ - "Healing Ointment", - "Standard-Issue Tourniquet", - "Auspex", - "Nasty Spikes", - "Pile of Salvage", - "Mutation: Tough Skin" - ], - "Stone II": [ - "Scrolls", - "Mutation: Warped Muscles", - "Frag Grenade", - "Barrel of Promethium", - "Armor Trim", - "Blessed Tasset Plate" - ], - "Stone III": [ - "Scrolls", - "Helmet Trophy", - "Belt of Frag Grenades", - "Fine Micro-Generator", - "Armor Trim", - "Cloak" - ], - "Iron I": [ - "Writings", - "Mutation: Warped Lungs", - "Barrel of Promethium", - "Razorsharp Spikes", - "Adamantium Lump", - "Mutation: Scaly Skin" - ], - "Iron II": [ - "Writings", - "Satchel", - "Fine Auxiliary Core", - "Supernatural Sight", - "Box of Salvage", - "Adamantium Bar" - ], - "Iron III": [ - "Medical Supply Crate", - "Mutation: Warped Heart", - "Icon of Vengeance", - "Razorsharp Spikes", - "Box of Salvage", - "Fine Cloak" - ], - "Bronze I": [ - "Eye of Horus", - "Grand Skull Trophy", - "Krak Grenade", - "Powerful Micro-Generator", - "Impressive Armor Trim", - "Mutation: Warped Skin" - ], - "Bronze II": [ - "Warp Touched Eye of Horus", - "Grand Skull Trophy", - "Belt of Krak Grenades", - "Powerful Micro-Generator", - "Blasphemous Armor Trim", - "Fine Cloak" - ], - "Bronze III": [ - "Metal Decorative Skull", - "Grand Helmet Trophy", - "Icon of Daemonic Vengeance", - "Murderous Spikes", - "Daemonic Armor Trim", - "Mutation: Metallic Skin" - ], - "Silver I": [ - "Warp Touched Eye of Horus", - "Mutation: Regenerative Blood", - "Icon of Daemonic Vengeance", - "Blessed Promethium Canister", - "Daemonic Armor Trim", - "Decorated Cloak" - ], - "Silver II": [ - "Warp Touched Eye of Horus", - "Golden Ornamental Skull", - "Icon of Infernal Vengeance", - "Blessed Promethium Tank", - "Infernal Armor Trim", - "Mutation: Metallic Skin" - ], - "Silver III": [ - "Infernal Eye of Horus", - "Mutation: Otherworldly Power", - "Icon of Daemonic Vengeance", - "Imposing Horns", - "Daemonic Armor Trim", - "Divine Cloak" - ], - "Gold I": [ - "Mark of Chaos Undivided", - "Tome of Arcane Knowledge", - "Icon of Infernal Vengeance", - "Blessed Promethium Tank", - "Infernal Armor Trim", - "Mutation: Impenetrable Skin" - ], - "Gold II": [ - "Infernal Eye of Horus", - "Tome of Arcane Knowledge", - "Daemon Shells", - "Blessed Promethium Tank", - "Black Rune", - "Divine Cloak" - ], - "Gold III": [ - "Mark of Chaos Undivided", - "Mutation: Otherworldly Power", - "Daemon Shells", - "Imposing Horns", - "Black Rune", - "Mutation: Impenetrable Skin" - ], - "Diamond I": [ - "Mark of Chaos Undivided", - "Tome of Arcane Knowledge", - "Daemon Shells", - "Blessed Promethium Tank", - "Black Rune", - "Ceramite Plates" - ] - }, - "Haarken Worldclaimer": { - "Stone I": [ - "Mission Assignment", - "Minor Bionic Enhancement", - "Weapon Parts", - "Nasty Spikes", - "Pile of Salvage", - "Mutation: Tough Skin" - ], - "Stone II": [ - "Standard-Issue Tourniquet", - "Mutation: Warped Muscles", - "Frag Grenade", - "Fine Micro-Generator", - "Armor Trim", - "Box of Salvage" - ], - "Stone III": [ - "Ropes and Chains", - "Helmet Trophy", - "Belt of Frag Grenades", - "Barrel of Promethium", - "Armor Trim", - "Blessed Tasset Plate" - ], - "Iron I": [ - "Mission Objective", - "Mutation: Warped Lungs", - "Locator Beacon", - "Razorsharp Spikes", - "Adamantium Lump", - "Mutation: Scaly Skin" - ], - "Iron II": [ - "Satchel", - "Helmet Trophy", - "Fine Auxiliary Core", - "Prey-Sight", - "Air Purificator", - "Adamantium Bar" - ], - "Iron III": [ - "Battle Plan", - "Mutation: Warped Heart", - "Icon of Vengeance", - "Razorsharp Spikes", - "Adamantium Lump", - "Artificer Tasset Plate" - ], - "Bronze I": [ - "Eye of Horus", - "Grand Skull Trophy", - "Krak Grenade", - "Powerful Micro-Generator", - "Impressive Armor Trim", - "Mutation: Warped Skin" - ], - "Bronze II": [ - "Warp Touched Eye of Horus", - "Advanced Bionics", - "Belt of Krak Grenades", - "Powerful Micro-Generator", - "Blasphemous Armor Trim", - "Adamantium Bar" - ], - "Bronze III": [ - "Kill Count", - "Grand Helmet Trophy", - "Icon of Daemonic Vengeance", - "Murderous Spikes", - "Daemonic Armor Trim", - "Mutation: Metallic Skin" - ], - "Silver I": [ - "Warp Touched Eye of Horus", - "Mutation: Regenerative Blood", - "Icon of Daemonic Vengeance", - "Blessed Promethium Canister", - "Daemonic Armor Trim", - "Ancient Tasset Plate" - ], - "Silver II": [ - "Warp Touched Eye of Horus", - "Golden Ornamental Skull", - "Icon of Infernal Vengeance", - "Blessed Promethium Tank", - "Infernal Armor Trim", - "Mutation: Metallic Skin" - ], - "Silver III": [ - "Infernal Eye of Horus", - "Mutation: Otherworldly Power", - "Icon of Daemonic Vengeance", - "Imposing Horns", - "Daemonic Armor Trim", - "Relic Tasset Plate" - ], - "Gold I": [ - "Mark of Chaos Undivided", - "Grandiose Skull Ornament", - "Icon of Infernal Vengeance", - "Powered Blade", - "Infernal Armor Trim", - "Mutation: Impenetrable Skin" - ], - "Gold II": [ - "Infernal Eye of Horus", - "Grandiose Skull Ornament", - "Daemon Shells", - "Powered Blade", - "Black Rune", - "Relic Tasset Plate" - ], - "Gold III": [ - "Mark of Chaos Undivided", - "Mutation: Otherworldly Power", - "Daemon Shells", - "Imposing Horns", - "Black Rune", - "Mutation: Impenetrable Skin" - ], - "Diamond I": [ - "Mark of Chaos Undivided", - "Grand Strategy", - "Daemon Shells", - "Hyperstim", - "Black Rune", - "Ceramite Plates" - ] - }, - "Abaddon The Despoiler": { - "Stone I": [ - "Minor Bionic Enhancement", - "Ropes and Chains", - "Vox-Caster", - "Nasty Spikes", - "Armor Trim", - "Mutation: Tough Skin" - ], - "Stone II": [ - "Minor Bionic Enhancement", - "Mutation: Warped Muscles", - "Auspex", - "Attack Vector Data-Slate", - "Metal Joints", - "Box of Salvage" - ], - "Stone III": [ - "Wires", - "Helmet Trophy", - "Fine Auxiliary Core", - "Fine Micro-Generator", - "Adamantium Ore", - "Cloak" - ], - "Iron I": [ - "Reinforced Cables", - "Mutation: Warped Lungs", - "Locator Beacon", - "Razorsharp Spikes", - "Adamantium Lump", - "Mutation: Scaly Skin" - ], - "Iron II": [ - "Reinforced Cables", - "Mission Objective", - "Fine Auxiliary Core", - "Supernatural Sight", - "Box of Salvage", - "Adamantium Bar" - ], - "Iron III": [ - "Advanced Bionics", - "Mutation: Warped Heart", - "Icon of Vengeance", - "Razorsharp Spikes", - "Adamantium Lump", - "Artificer Tasset Plate" - ], - "Bronze I": [ - "Eye of Horus", - "Grand Skull Trophy", - "Powerful Auxiliary Core", - "Classified Data-Slate", - "Impressive Armor Trim", - "Mutation: Warped Skin" - ], - "Bronze II": [ - "Warp Touched Eye of Horus", - "Battle Plan", - "Anointed Auxiliary Core", - "Powerful Micro-Generator", - "Blasphemous Armor Trim", - "Adamantium Bar" - ], - "Bronze III": [ - "Kill Count", - "Grand Helmet Trophy", - "Icon of Daemonic Vengeance", - "Murderous Spikes", - "Daemonic Armor Trim", - "Mutation: Metallic Skin" - ], - "Silver I": [ - "Warp Touched Eye of Horus", - "Mutation: Regenerative Blood", - "Icon of Daemonic Vengeance", - "Bionic Neural Pathways", - "Daemonic Armor Trim", - "Decorated Cloak" - ], - "Silver II": [ - "Warp Touched Eye of Horus", - "Terminator Honours", - "Icon of Infernal Vengeance", - "Anointed Micro-Generator", - "Infernal Armor Trim", - "Mutation: Metallic Skin" - ], - "Silver III": [ - "Infernal Eye of Horus", - "Mutation: Otherworldly Power", - "Icon of Daemonic Vengeance", - "Imposing Horns", - "Daemonic Armor Trim", - "Relic Tasset Plate" - ], - "Gold I": [ - "Mark of Chaos Undivided", - "Grandiose Skull Ornament", - "Icon of Infernal Vengeance", - "Powered Blade", - "Infernal Armor Trim", - "Mutation: Impenetrable Skin" - ], - "Gold II": [ - "Infernal Eye of Horus", - "Grandiose Skull Ornament", - "Daemon Shells", - "Powered Blade", - "Black Rune", - "Relic Tasset Plate" - ], - "Gold III": [ - "Mark of Chaos Undivided", - "Mutation: Otherworldly Power", - "Daemon Shells", - "Imposing Horns", - "Black Rune", - "Mutation: Impenetrable Skin" - ], - "Diamond I": [ - "Mark of Chaos Undivided", - "Grand Strategy", - "Daemon Shells", - "Relic Auxiliary Core", - "Black Rune", - "Ceramite Plates" - ] - }, - "Typhus": { - "Stone I": [ - "Chip Damage", - "Minor Bionic Enhancement", - "Vox-Caster", - "Nasty Spikes", - "Adamantium Ore", - "Mutation: Tough Skin" - ], - "Stone II": [ - "Ropes and Chains", - "Mutation: Warped Muscles", - "Auspex", - "Attack Vector Data-Slate", - "Pile of Salvage", - "Blessed Tasset Plate" - ], - "Stone III": [ - "Wires", - "Helmet Trophy", - "Fine Auxiliary Core", - "Fine Micro-Generator", - "Armor Trim", - "Cloak" - ], - "Iron I": [ - "Reinforced Cables", - "Mutation: Warped Lungs", - "Locator Beacon", - "Razorsharp Spikes", - "Adamantium Lump", - "Mutation: Scaly Skin" - ], - "Iron II": [ - "Reinforced Cables", - "Helmet Trophy", - "Fine Auxiliary Core", - "Supernatural Sight", - "Box of Salvage", - "Adamantium Bar" - ], - "Iron III": [ - "Electromantic Cable Bundle", - "Mutation: Warped Heart", - "Sigil of Decay", - "Razorsharp Spikes", - "Adamantium Lump", - "Artificer Tasset Plate" - ], - "Bronze I": [ - "Plague Bell", - "Grand Skull Trophy", - "Powerful Auxiliary Core", - "Classified Data-Slate", - "Impressive Armor Trim", - "Mutation: Warped Skin" - ], - "Bronze II": [ - "Death Bell", - "Advanced Bionics", - "Anointed Auxiliary Core", - "Powerful Micro-Generator", - "Unnatural Vapour Dispenser", - "Adamantium Bar" - ], - "Bronze III": [ - "Battle Scar", - "Grand Helmet Trophy", - "Sigil of Inevitable Decay", - "Murderous Spikes", - "Death Shroud", - "Mutation: Metallic Skin" - ], - "Silver I": [ - "Death Bell", - "Mutation: Regenerative Blood", - "Sigil of Inevitable Decay", - "Bionic Neural Pathways", - "Death Shroud", - "Decorated Cloak" - ], - "Silver II": [ - "Death Bell", - "Terminator Honours", - "Sigil of Eternal Decay", - "Anointed Micro-Generator", - "Immaterial Shroud", - "Mutation: Metallic Skin" - ], - "Silver III": [ - "Bell of Despair", - "Mutation: Otherworldly Power", - "Sigil of Inevitable Decay", - "Imposing Horns", - "Death Shroud", - "Relic Tasset Plate" - ], - "Gold I": [ - "Mark of Nurgle", - "Tome of Arcane Knowledge", - "Sigil of Eternal Decay", - "Powered Blade", - "Immaterial Shroud", - "Mutation: Impenetrable Skin" - ], - "Gold II": [ - "Bell of Despair", - "Tome of Arcane Knowledge", - "Virulent Rounds", - "Powered Blade", - "Cloud of Flies", - "Relic Tasset Plate" - ], - "Gold III": [ - "Mark of Nurgle", - "Mutation: Otherworldly Power", - "Virulent Rounds", - "Imposing Horns", - "Cloud of Flies", - "Mutation: Impenetrable Skin" - ], - "Diamond I": [ - "Mark of Nurgle", - "Grandiose Skull Ornament", - "Virulent Rounds", - "Relic Auxiliary Core", - "Cloud of Flies", - "Adamantium Plates" - ] - }, - "Maladus": { - "Stone I": [ - "Wires", - "Minor Bionic Enhancement", - "Weapon Parts", - "Nasty Spikes", - "Adamantium Ore", - "Mutation: Tough Skin" - ], - "Stone II": [ - "Chip Damage", - "Mutation: Warped Muscles", - "Basic Auxiliary Core", - "Combat Stimms", - "Metal Joints", - "Blessed Tasset Plate" - ], - "Stone III": [ - "Chip Damage", - "Helmet Trophy", - "Fine Auxiliary Core", - "Combat Stimms", - "Armor Trim", - "Blessed Tasset Plate" - ], - "Iron I": [ - "Reinforced Cables", - "Mutation: Warped Lungs", - "Locator Beacon", - "Razorsharp Spikes", - "Adamantium Lump", - "Mutation: Scaly Skin" - ], - "Iron II": [ - "Reinforced Cables", - "Helmet Trophy", - "Fine Auxiliary Core", - "Prey-Sight", - "Box of Salvage", - "Adamantium Bar" - ], - "Iron III": [ - "Advanced Bionics", - "Mutation: Warped Heart", - "Sigil of Decay", - "Razorsharp Spikes", - "Adamantium Lump", - "Artificer Tasset Plate" - ], - "Bronze I": [ - "Plague Bell", - "Grand Skull Trophy", - "Powerful Auxiliary Core", - "Bionic Eye", - "Impressive Armor Trim", - "Mutation: Warped Skin" - ], - "Bronze II": [ - "Death Bell", - "Grand Skull Trophy", - "Powerful Auxiliary Core", - "Advanced Combat Stimms", - "Unnatural Vapour Dispenser", - "Adamantium Bar" - ], - "Bronze III": [ - "Battle Scar", - "Grand Helmet Trophy", - "Sigil of Inevitable Decay", - "Murderous Spikes", - "Death Shroud", - "Mutation: Metallic Skin" - ], - "Silver I": [ - "Death Bell", - "Mutation: Regenerative Blood", - "Sigil of Inevitable Decay", - "Bionic Neural Pathways", - "Death Shroud", - "Ancient Tasset Plate" - ], - "Silver II": [ - "Death Bell", - "Terminator Honours", - "Sigil of Eternal Decay", - "Refined Combat Stimms", - "Immaterial Shroud", - "Mutation: Metallic Skin" - ], - "Silver III": [ - "Bell of Despair", - "Mutation: Otherworldly Power", - "Sigil of Inevitable Decay", - "Imposing Horns", - "Death Shroud", - "Relic Tasset Plate" - ], - "Gold I": [ - "Mark of Nurgle", - "Relic Bionic Enhancement", - "Sigil of Eternal Decay", - "Powered Blade", - "Immaterial Shroud", - "Mutation: Impenetrable Skin" - ], - "Gold II": [ - "Bell of Despair", - "Relic Bionic Enhancement", - "Virulent Rounds", - "Powered Blade", - "Cloud of Flies", - "Relic Tasset Plate" - ], - "Gold III": [ - "Mark of Nurgle", - "Mutation: Otherworldly Power", - "Virulent Rounds", - "Imposing Horns", - "Cloud of Flies", - "Mutation: Impenetrable Skin" - ], - "Diamond I": [ - "Mark of Nurgle", - "Grandiose Skull Ornament", - "Virulent Rounds", - "Relic Auxiliary Core", - "Cloud of Flies", - "Adamantium Plates" - ] - }, - "Nauseous Rotbone": { - "Stone I": [ - "Standard-Issue Tourniquet", - "Healing Ointment", - "Vox-Caster", - "Nasty Spikes", - "Pile of Salvage", - "Mutation: Tough Skin" - ], - "Stone II": [ - "Ropes and Chains", - "Mutation: Warped Muscles", - "Frag Grenade", - "Barrel of Promethium", - "Armor Trim", - "Blessed Tasset Plate" - ], - "Stone III": [ - "Chip Damage", - "Satchel", - "Belt of Frag Grenades", - "Combat Stimms", - "Pile of Salvage", - "Cloak" - ], - "Iron I": [ - "Enriched Rations", - "Mutation: Warped Lungs", - "Fine Micro-Generator", - "Razorsharp Spikes", - "Adamantium Lump", - "Mutation: Scaly Skin" - ], - "Iron II": [ - "Writings", - "Satchel", - "Fine Auxiliary Core", - "Prey-Sight", - "Box of Salvage", - "Adamantium Bar" - ], - "Iron III": [ - "Box of Rations", - "Mutation: Warped Heart", - "Sigil of Decay", - "Razorsharp Spikes", - "Adamantium Lump", - "Artificer Tasset Plate" - ], - "Bronze I": [ - "Plague Bell", - "Medical Supply Crate", - "Krak Grenade", - "Advanced Combat Stimms", - "Impressive Armor Trim", - "Mutation: Warped Skin" - ], - "Bronze II": [ - "Death Bell", - "Medical Supply Crate", - "Belt of Krak Grenades", - "Advanced Combat Stimms", - "Unnatural Vapour Dispenser", - "Adamantium Bar" - ], - "Bronze III": [ - "Battle Scar", - "Exquisite Medical Supplies", - "Sigil of Inevitable Decay", - "Murderous Spikes", - "Death Shroud", - "Mutation: Metallic Skin" - ], - "Silver I": [ - "Death Bell", - "Mutation: Regenerative Blood", - "Sigil of Inevitable Decay", - "Blessed Promethium Canister", - "Death Shroud", - "Decorated Cloak" - ], - "Silver II": [ - "Death Bell", - "Golden Ornamental Skull", - "Sigil of Eternal Decay", - "Refined Combat Stimms", - "Immaterial Shroud", - "Mutation: Metallic Skin" - ], - "Silver III": [ - "Bell of Despair", - "Mutation: Otherworldly Power", - "Sigil of Inevitable Decay", - "Imposing Horns", - "Death Shroud", - "Relic Tasset Plate" - ], - "Gold I": [ - "Mark of Nurgle", - "Tome of Arcane Knowledge", - "Sigil of Eternal Decay", - "Blessed Promethium Tank", - "Immaterial Shroud", - "Mutation: Impenetrable Skin" - ], - "Gold II": [ - "Bell of Despair", - "Tome of Arcane Knowledge", - "Virulent Rounds", - "Blessed Promethium Tank", - "Cloud of Flies", - "Divine Cloak" - ], - "Gold III": [ - "Mark of Nurgle", - "Mutation: Otherworldly Power", - "Virulent Rounds", - "Imposing Horns", - "Cloud of Flies", - "Mutation: Impenetrable Skin" - ], - "Diamond I": [ - "Mark of Nurgle", - "Grandiose Skull Ornament", - "Virulent Rounds", - "Relic Micro-Generator", - "Cloud of Flies", - "Adamantium Plates" - ] - }, - "Pestillian": { - "Stone I": [ - "Chip Damage", - "Healing Ointment", - "Weapon Parts", - "Nasty Spikes", - "Pile of Salvage", - "Mutation: Tough Skin" - ], - "Stone II": [ - "Standard-Issue Tourniquet", - "Mutation: Warped Muscles", - "Frag Grenade", - "Barrel of Promethium", - "Armor Trim", - "Blessed Tasset Plate" - ], - "Stone III": [ - "Ropes and Chains", - "Satchel", - "Belt of Frag Grenades", - "Combat Stimms", - "Pile of Salvage", - "Cloak" - ], - "Iron I": [ - "Enriched Rations", - "Mutation: Warped Lungs", - "Fine Micro-Generator", - "Razorsharp Spikes", - "Adamantium Lump", - "Mutation: Scaly Skin" - ], - "Iron II": [ - "Enriched Rations", - "Satchel", - "Fine Auxiliary Core", - "Prey-Sight", - "Box of Salvage", - "Adamantium Bar" - ], - "Iron III": [ - "Box of Rations", - "Mutation: Warped Heart", - "Sigil of Decay", - "Razorsharp Spikes", - "Adamantium Lump", - "Artificer Tasset Plate" - ], - "Bronze I": [ - "Plague Bell", - "Medical Supply Crate", - "Krak Grenade", - "Advanced Combat Stimms", - "Impressive Armor Trim", - "Mutation: Warped Skin" - ], - "Bronze II": [ - "Death Bell", - "Medical Supply Crate", - "Belt of Krak Grenades", - "Advanced Combat Stimms", - "Unnatural Vapour Dispenser", - "Adamantium Bar" - ], - "Bronze III": [ - "Battle Scar", - "Exquisite Medical Supplies", - "Sigil of Inevitable Decay", - "Murderous Spikes", - "Death Shroud", - "Mutation: Metallic Skin" - ], - "Silver I": [ - "Death Bell", - "Mutation: Regenerative Blood", - "Sigil of Inevitable Decay", - "Blessed Promethium Canister", - "Death Shroud", - "Decorated Cloak" - ], - "Silver II": [ - "Death Bell", - "Golden Ornamental Skull", - "Sigil of Eternal Decay", - "Refined Combat Stimms", - "Immaterial Shroud", - "Mutation: Metallic Skin" - ], - "Silver III": [ - "Bell of Despair", - "Mutation: Otherworldly Power", - "Sigil of Inevitable Decay", - "Imposing Horns", - "Death Shroud", - "Relic Tasset Plate" - ], - "Gold I": [ - "Mark of Nurgle", - "Tome of Arcane Knowledge", - "Sigil of Eternal Decay", - "Blessed Promethium Tank", - "Immaterial Shroud", - "Mutation: Impenetrable Skin" - ], - "Gold II": [ - "Bell of Despair", - "Tome of Arcane Knowledge", - "Virulent Rounds", - "Blessed Promethium Tank", - "Cloud of Flies", - "Relic Tasset Plate" - ], - "Gold III": [ - "Mark of Nurgle", - "Mutation: Otherworldly Power", - "Virulent Rounds", - "Imposing Horns", - "Cloud of Flies", - "Mutation: Impenetrable Skin" - ], - "Diamond I": [ - "Mark of Nurgle", - "Grandiose Skull Ornament", - "Virulent Rounds", - "Blessed Promethium Tank", - "Cloud of Flies", - "Adamantium Plates" - ] - }, - "Corrodius": { - "Stone I": [ - "Chip Damage", - "Field Ration", - "Vox-Caster", - "Nasty Spikes", - "Adamantium Ore", - "Mutation: Tough Skin" - ], - "Stone II": [ - "Ropes and Chains", - "Mutation: Warped Muscles", - "Frag Grenade", - "Plasma Cell", - "Armor Trim", - "Blessed Tasset Plate" - ], - "Stone III": [ - "Standard-Issue Tourniquet", - "Satchel", - "Belt of Frag Grenades", - "Plasma Cell", - "Pile of Salvage", - "Cloak" - ], - "Iron I": [ - "Enriched Rations", - "Mutation: Warped Lungs", - "Fine Micro-Generator", - "Razorsharp Spikes", - "Adamantium Lump", - "Mutation: Scaly Skin" - ], - "Iron II": [ - "Writings", - "Satchel", - "Fine Auxiliary Core", - "Prey-Sight", - "Box of Salvage", - "Adamantium Bar" - ], - "Iron III": [ - "Box of Rations", - "Mutation: Warped Heart", - "Sigil of Decay", - "Razorsharp Spikes", - "Adamantium Lump", - "Artificer Tasset Plate" - ], - "Bronze I": [ - "Plague Bell", - "Grand Skull Trophy", - "Krak Grenade", - "Plasma Cell Bundle", - "Impressive Armor Trim", - "Mutation: Warped Skin" - ], - "Bronze II": [ - "Death Bell", - "Grand Skull Trophy", - "Belt of Krak Grenades", - "Plasma Cell Bundle", - "Unnatural Vapour Dispenser", - "Adamantium Bar" - ], - "Bronze III": [ - "Battle Scar", - "Grand Helmet Trophy", - "Sigil of Inevitable Decay", - "Murderous Spikes", - "Death Shroud", - "Mutation: Metallic Skin" - ], - "Silver I": [ - "Death Bell", - "Mutation: Regenerative Blood", - "Sigil of Inevitable Decay", - "Bionic Neural Pathways", - "Death Shroud", - "Decorated Cloak" - ], - "Silver II": [ - "Death Bell", - "Golden Ornamental Skull", - "Sigil of Eternal Decay", - "Plasma Cell Crate", - "Immaterial Shroud", - "Mutation: Metallic Skin" - ], - "Silver III": [ - "Bell of Despair", - "Mutation: Otherworldly Power", - "Sigil of Inevitable Decay", - "Imposing Horns", - "Death Shroud", - "Relic Tasset Plate" - ], - "Gold I": [ - "Mark of Nurgle", - "Relic Bionic Enhancement", - "Sigil of Eternal Decay", - "Relic Auxiliary Core", - "Immaterial Shroud", - "Mutation: Impenetrable Skin" - ], - "Gold II": [ - "Bell of Despair", - "Relic Bionic Enhancement", - "Virulent Rounds", - "Relic Auxiliary Core", - "Cloud of Flies", - "Relic Tasset Plate" - ], - "Gold III": [ - "Mark of Nurgle", - "Mutation: Otherworldly Power", - "Virulent Rounds", - "Imposing Horns", - "Cloud of Flies", - "Mutation: Impenetrable Skin" - ], - "Diamond I": [ - "Mark of Nurgle", - "Grandiose Skull Ornament", - "Virulent Rounds", - "Blessed Promethium Tank", - "Cloud of Flies", - "Adamantium Plates" - ] - }, - "Yazaghor": { - "Stone I": [ - "Field Ration", - "Mutation: Warped Muscles", - "Ballistics Data", - "Nasty Spikes", - "Thick Skin", - "Sophisticated Material" - ], - "Stone II": [ - "Standard-Issue Tourniquet", - "Scrolls", - "Attack Vector Data-Slate", - "Razorsharp Spikes", - "Armor Trim", - "Mutation: Tough Skin" - ], - "Stone III": [ - "Enriched Rations", - "Bionic Enhancement", - "Ballistics Data", - "Canister of Chemicals", - "Box of Salvage", - "Blessed Tasset Plate" - ], - "Iron I": [ - "First Aid Kit", - "Mutation: Warped Lungs", - "Locator Beacon", - "Combat Stimms", - "Cloak", - "Sophisticated Material Ingot" - ], - "Iron II": [ - "Satchel", - "Box of Rations", - "Adamantium Blades", - "Barrel of Promethium", - "Crate of Salvage", - "Mutation: Scaly Skin" - ], - "Iron III": [ - "Box of Rations", - "Writings", - "Inferno Bolts", - "Advanced Combat Stimms", - "Adamantium Lump", - "Artificer Tasset Plate" - ], - "Bronze I": [ - "Tainted Text", - "Mutation: Warped Heart", - "Supernatural Sight", - "Tank of Promethium", - "Impressive Armor Trim", - "Sophisticated Material Bar" - ], - "Bronze II": [ - "Malefic Scroll", - "Grand Skull Trophy", - "Bionic Eye", - "Refined Combat Stimms", - "Ritual Implements", - "Mutation: Warped Skin" - ], - "Bronze III": [ - "Metal Decorative Skull", - "Grand Helmet Trophy", - "Ensorcelled Infusion", - "Murderous Spikes", - "Cabalistic Implements", - "Hypermaterial Shifter" - ], - "Silver I": [ - "Malefic Scroll", - "Golden Ornamental Skull", - "Ensorcelled Infusion", - "Warp Locus", - "Cabalistic Implements", - "Sophisticated Material Sheet" - ], - "Silver II": [ - "Malefic Scroll", - "Mutation: Regenerative Blood", - "Warpflame Infusion", - "Refined Combat Stimms", - "Hypermaterial Shifter", - "Mutation: Metallic Skin" - ], - "Silver III": [ - "Blessing of Tzeentch", - "Tome of Arcane Knowledge", - "Ensorcelled Infusion", - "Imposing Horns", - "Cabalistic Implements", - "Relic Tasset Plate" - ], - "Gold I": [ - "Athenaean Scroll", - "Grandiose Skull Ornament", - "Master-Crafted Ammo", - "Blessed Promethium Tank", - "Great Cult Implements", - "Sophisticated Material Plates" - ], - "Gold II": [ - "Mark of Tzeentch", - "Mutation: Otherworldly Power", - "Warpflame Infusion", - "Imposing Horns", - "Great Cult Implements", - "Mutation: Impenetrable Skin" - ], - "Gold III": [ - "Athenaean Scroll", - "Tome of Arcane Knowledge", - "Boonstone", - "Blessed Promethium Tank", - "Warpweave Robe", - "Relic Tasset Plate" - ], - "Diamond I": [ - "Mark of Tzeentch", - "Grand Strategy", - "Boonstone", - "Blessed Promethium Tank", - "Warpweave Robe", - "Adamantium Plates" - ] - }, - "Toth": { - "Stone I": [ - "Wires", - "Mutation: Warped Muscles", - "Round of Ammo", - "Nasty Spikes", - "Metal Joints", - "Adamantium Ore" - ], - "Stone II": [ - "Ropes and Chains", - "Mission Assignment", - "Attack Vector Data-Slate", - "Magazine", - "Armor Trim", - "Mutation: Tough Skin" - ], - "Stone III": [ - "Reinforced Cables", - "Bionic Enhancement", - "Weapon Parts", - "Canister of Chemicals", - "Advanced Rebreather", - "Blessed Tasset Plate" - ], - "Iron I": [ - "First Aid Kit", - "Mutation: Warped Lungs", - "Divinator Class Auspex", - "Divinator Class Auspex", - "Cloak", - "Adamantium Lump" - ], - "Iron II": [ - "Satchel", - "Battle Plan", - "Locator Beacon", - "Razorsharp Spikes", - "Crate of Salvage", - "Mutation: Scaly Skin" - ], - "Iron III": [ - "Electromantic Cable Bundle", - "Mission Objective", - "Inferno Bolts", - "Box of Ammo", - "Sophisticated Material Ingot", - "Artificer Tasset Plate" - ], - "Bronze I": [ - "Tainted Text", - "Mutation: Warped Heart", - "Supernatural Sight", - "Bionic Eye", - "Impressive Armor Trim", - "Adamantium Bar" - ], - "Bronze II": [ - "Malefic Scroll", - "Grand Skull Trophy", - "Classified Data-Slate", - "Anointed Auxiliary Core", - "Ritual Implements", - "Mutation: Warped Skin" - ], - "Bronze III": [ - "Metal Decorative Skull", - "Grand Helmet Trophy", - "Ensorcelled Infusion", - "Murderous Spikes", - "Cabalistic Implements", - "Hypermaterial Shifter" - ], - "Silver I": [ - "Malefic Scroll", - "Terminator Honours", - "Ensorcelled Infusion", - "Warp Locus", - "Cabalistic Implements", - "Adamantium Sheet" - ], - "Silver II": [ - "Malefic Scroll", - "Mutation: Regenerative Blood", - "Warpflame Infusion", - "Anointed Auxiliary Core", - "Hypermaterial Shifter", - "Mutation: Metallic Skin" - ], - "Silver III": [ - "Blessing of Tzeentch", - "Relic Bionic Enhancement", - "Ensorcelled Infusion", - "Autoloader", - "Cabalistic Implements", - "Relic Tasset Plate" - ], - "Gold I": [ - "Athenaean Scroll", - "Grandiose Skull Ornament", - "Master-Crafted Ammo", - "Powered Blade", - "Great Cult Implements", - "Adamantium Plates" - ], - "Gold II": [ - "Mark of Tzeentch", - "Mutation: Otherworldly Power", - "Warpflame Infusion", - "Imposing Horns", - "Great Cult Implements", - "Mutation: Impenetrable Skin" - ], - "Gold III": [ - "Athenaean Scroll", - "Relic Bionic Enhancement", - "Boonstone", - "Relic Auxiliary Core", - "Warpweave Robe", - "Relic Tasset Plate" - ], - "Diamond I": [ - "Mark of Tzeentch", - "Grand Strategy", - "Boonstone", - "Blessed Promethium Tank", - "Warpweave Robe", - "Ceramite Plates" - ] - }, - "Abraxas": { - "Stone I": [ - "Healing Ointment", - "Mutation: Warped Muscles", - "Auspex", - "Nasty Spikes", - "Rebreather", - "Sophisticated Material" - ], - "Stone II": [ - "Scrolls", - "Mission Assignment", - "Attack Vector Data-Slate", - "Razorsharp Spikes", - "Armor Trim", - "Mutation: Tough Skin" - ], - "Stone III": [ - "Writings", - "Bionic Enhancement", - "Vox-Caster", - "Canister of Chemicals", - "Advanced Rebreather", - "Cloak" - ], - "Iron I": [ - "First Aid Kit", - "Mutation: Warped Lungs", - "Divinator Class Auspex", - "Fine Micro-Generator", - "Blessed Tasset Plate", - "Sophisticated Material Ingot" - ], - "Iron II": [ - "Satchel", - "Battle Plan", - "Adamantium Blades", - "Barrel of Promethium", - "Artificer Tasset Plate", - "Mutation: Scaly Skin" - ], - "Iron III": [ - "Medical Supply Crate", - "Mission Objective", - "Inferno Bolts", - "Powerful Micro-Generator", - "Adamantium Lump", - "Crate of Salvage" - ], - "Bronze I": [ - "Tainted Text", - "Mutation: Warped Heart", - "Supernatural Sight", - "Tank of Promethium", - "Impressive Armor Trim", - "Fine Cloak" - ], - "Bronze II": [ - "Malefic Scroll", - "Grand Skull Trophy", - "Classified Data-Slate", - "Anointed Micro-Generator", - "Ritual Implements", - "Mutation: Warped Skin" - ], - "Bronze III": [ - "Metal Decorative Skull", - "Grand Helmet Trophy", - "Ensorcelled Infusion", - "Murderous Spikes", - "Cabalistic Implements", - "Hypermaterial Shifter" - ], - "Silver I": [ - "Malefic Scroll", - "Golden Ornamental Skull", - "Ensorcelled Infusion", - "Blessed Promethium Canister", - "Cabalistic Implements", - "Sophisticated Material Sheet" - ], - "Silver II": [ - "Malefic Scroll", - "Mutation: Regenerative Blood", - "Warpflame Infusion", - "Anointed Micro-Generator", - "Hypermaterial Shifter", - "Mutation: Metallic Skin" - ], - "Silver III": [ - "Blessing of Tzeentch", - "Tome of Arcane Knowledge", - "Ensorcelled Infusion", - "Blessed Promethium Tank", - "Cabalistic Implements", - "Divine Cloak" - ], - "Gold I": [ - "Athenaean Scroll", - "Grandiose Skull Ornament", - "Warp Locus", - "Relic Micro-Generator", - "Great Cult Implements", - "Sophisticated Material Plates" - ], - "Gold II": [ - "Mark of Tzeentch", - "Mutation: Otherworldly Power", - "Warpflame Infusion", - "Imposing Horns", - "Great Cult Implements", - "Mutation: Impenetrable Skin" - ], - "Gold III": [ - "Athenaean Scroll", - "Tome of Arcane Knowledge", - "Boonstone", - "Blessed Promethium Tank", - "Warpweave Robe", - "Divine Cloak" - ], - "Diamond I": [ - "Mark of Tzeentch", - "Tome of Arcane Knowledge", - "Boonstone", - "Blessed Promethium Tank", - "Warpweave Robe", - "Ceramite Plates" - ] - }, - "Thaumachus": { - "Stone I": [ - "Healing Ointment", - "Mutation: Warped Muscles", - "Auspex", - "Nasty Spikes", - "Rebreather", - "Sophisticated Material" - ], - "Stone II": [ - "Scrolls", - "Mission Assignment", - "Attack Vector Data-Slate", - "Razorsharp Spikes", - "Armor Trim", - "Mutation: Tough Skin" - ], - "Stone III": [ - "Writings", - "Bionic Enhancement", - "Vox-Caster", - "Canister of Chemicals", - "Advanced Rebreather", - "Cloak" - ], - "Iron I": [ - "First Aid Kit", - "Mutation: Warped Lungs", - "Divinator Class Auspex", - "Fine Micro-Generator", - "Blessed Tasset Plate", - "Sophisticated Material Ingot" - ], - "Iron II": [ - "Satchel", - "Battle Plan", - "Adamantium Blades", - "Barrel of Promethium", - "Artificer Tasset Plate", - "Mutation: Scaly Skin" - ], - "Iron III": [ - "Medical Supply Crate", - "Mission Objective", - "Inferno Bolts", - "Powerful Micro-Generator", - "Adamantium Lump", - "Crate of Salvage" - ], - "Bronze I": [ - "Tainted Text", - "Mutation: Warped Heart", - "Supernatural Sight", - "Tank of Promethium", - "Impressive Armor Trim", - "Fine Cloak" - ], - "Bronze II": [ - "Malefic Scroll", - "Grand Skull Trophy", - "Classified Data-Slate", - "Anointed Micro-Generator", - "Ritual Implements", - "Mutation: Warped Skin" - ], - "Bronze III": [ - "Metal Decorative Skull", - "Grand Helmet Trophy", - "Ensorcelled Infusion", - "Murderous Spikes", - "Cabalistic Implements", - "Hypermaterial Shifter" - ], - "Silver I": [ - "Malefic Scroll", - "Golden Ornamental Skull", - "Ensorcelled Infusion", - "Blessed Promethium Canister", - "Cabalistic Implements", - "Sophisticated Material Sheet" - ], - "Silver II": [ - "Malefic Scroll", - "Mutation: Regenerative Blood", - "Warpflame Infusion", - "Anointed Micro-Generator", - "Hypermaterial Shifter", - "Mutation: Metallic Skin" - ], - "Silver III": [ - "Blessing of Tzeentch", - "Tome of Arcane Knowledge", - "Ensorcelled Infusion", - "Blessed Promethium Tank", - "Cabalistic Implements", - "Divine Cloak" - ], - "Gold I": [ - "Athenaean Scroll", - "Grandiose Skull Ornament", - "Warp Locus", - "Relic Micro-Generator", - "Great Cult Implements", - "Sophisticated Material Plates" - ], - "Gold II": [ - "Mark of Tzeentch", - "Mutation: Otherworldly Power", - "Warpflame Infusion", - "Imposing Horns", - "Great Cult Implements", - "Mutation: Impenetrable Skin" - ], - "Gold III": [ - "Athenaean Scroll", - "Tome of Arcane Knowledge", - "Boonstone", - "Blessed Promethium Tank", - "Warpweave Robe", - "Divine Cloak" - ], - "Diamond I": [ - "Mark of Tzeentch", - "Tome of Arcane Knowledge", - "Boonstone", - "Blessed Promethium Tank", - "Warpweave Robe", - "Ceramite Plates" - ] - }, - "Ahriman": { - "Stone I": [ - "Healing Ointment", - "Mutation: Warped Muscles", - "Can of Promethium", - "Nasty Spikes", - "Armor Trim", - "Rebreather" - ], - "Stone II": [ - "Scrolls", - "Ropes and Chains", - "Barrel of Promethium", - "Locator Beacon", - "Mutation: Tough Skin", - "Rebreather" - ], - "Stone III": [ - "Writings", - "Satchel", - "Otherworldly Energy", - "Auspex", - "Blessed Tasset Plate", - "Cloak" - ], - "Iron I": [ - "First Aid Kit", - "Mission Objective", - "Barrel of Promethium", - "Fine Micro-Generator", - "Mutation: Scaly Skin", - "Ceramite Lump" - ], - "Iron II": [ - "Writings", - "Battle Plan", - "Otherworldly Energy Reservoir", - "Locator Beacon", - "Artificer Tasset Plate", - "Cloak" - ], - "Iron III": [ - "Battle Plan", - "Mutation: Warped Lungs", - "Inferno Bolts", - "Powerful Micro-Generator", - "Blessed Tasset Plate", - "Subdermal Plating" - ], - "Bronze I": [ - "Tainted Text", - "Mutation: Warped Heart", - "Supernatural Sight", - "Classified Data-Slate", - "Mutation: Warped Skin", - "Ceramite Bar" - ], - "Bronze II": [ - "Malefic Scroll", - "Grand Skull Trophy", - "Tank of Promethium", - "Anointed Micro-Generator", - "Ritual Implements", - "Fine Cloak" - ], - "Bronze III": [ - "Ancient Runes", - "Grand Helmet Trophy", - "Ensorcelled Infusion", - "Murderous Spikes", - "Cabalistic Implements", - "Duplicate Organ" - ], - "Silver I": [ - "Malefic Scroll", - "Secret Agenda", - "Ensorcelled Infusion", - "Warp Locus", - "Cabalistic Implements", - "Ceramite Sheet" - ], - "Silver II": [ - "Blessing of Tzeentch", - "Mutation: Regenerative Blood", - "Warpflame Infusion", - "Anointed Micro-Generator", - "Cabalistic Implements", - "Decorated Cloak" - ], - "Silver III": [ - "Malefic Scroll", - "Grand Strategy", - "Ensorcelled Infusion", - "Imposing Horns", - "Psyk-Conductive Material", - "Ceramite Plates" - ], - "Gold I": [ - "Athenaean Scroll", - "Grandiose Skull Ornament", - "Psychic Force Conduit", - "Relic Micro-Generator", - "Great Cult Implements", - "Divine Cloak" - ], - "Gold II": [ - "Mark of Tzeentch", - "Mutation: Otherworldly Power", - "Warpflame Infusion", - "Imposing Horns", - "Great Cult Implements", - "Mutation: Impenetrable Skin" - ], - "Gold III": [ - "Athenaean Scroll", - "Tome of Arcane Knowledge", - "Boonstone", - "Psychic Focus", - "Warpweave Robe", - "Divine Cloak" - ], - "Diamond I": [ - "Mark of Tzeentch", - "Tome of Arcane Knowledge", - "Boonstone", - "Blessed Promethium Tank", - "Warpweave Robe", - "Ceramite Plates" - ] - }, - "Ragnar Blackmane": { - "Stone I": [ - "Ropes and Chains", - "The Iron Phoenix", - "Canister of Chemicals", - "Weapon Anointment Oils", - "Armor Trim", - "Fine Purity Seal" - ], - "Stone II": [ - "Field Ration", - "Minor Bionic Enhancement", - "Combat Stimms", - "Blessed Weapon Oils", - "Rebreather", - "Purity Seal" - ], - "Stone III": [ - "Enriched Rations", - "Bionic Enhancement", - "Vox-Caster", - "Auspex", - "Blessed Tasset Plate", - "Oath Seal" - ], - "Iron I": [ - "Holster and Pockets", - "Helmet Trophy", - "Combat Stimms", - "Fine Micro-Generator", - "Cloak", - "Adamantium Lump" - ], - "Iron II": [ - "Enriched Rations", - "Grand Skull Trophy", - "Adamantium Blades", - "Divinator Class Auspex", - "Artificer Tasset Plate", - "Oath Seal" - ], - "Iron III": [ - "Box of Rations", - "The Gold Phoenix", - "Wolf Tooth Necklace", - "Powerful Micro-Generator", - "Sophisticated Material Ingot", - "Subdermal Plating" - ], - "Bronze I": [ - "Wolf Tail Talisman", - "The Phoenix Ascendant", - "Prey-Sight", - "Classified Data-Slate", - "Fine Cloak", - "Ceramite Bar" - ], - "Bronze II": [ - "Runic Talisman", - "Advanced Bionics", - "Krak Grenade", - "Anointed Micro-Generator", - "Beast Hide", - "Blessed Purity Seal" - ], - "Bronze III": [ - "Kill Count", - "Mars-Pattern Bionics", - "Thunderwolf Tooth Necklace", - "Sanctified Weapon Oils", - "Ice Troll Hide", - "Duplicate Organ" - ], - "Silver I": [ - "Runic Talisman", - "Terminator Honours", - "Thunderwolf Tooth Necklace", - "Relic Hilt", - "Ice Troll Hide", - "Ceramite Sheet" - ], - "Silver II": [ - "Mjod", - "Greater Reliquary of Protection", - "Kraken Tooth Necklace", - "Anointed Micro-Generator", - "Ice Troll Hide", - "Grand Purity Seal" - ], - "Silver III": [ - "Runic Talisman", - "Grandiose Skull Ornament", - "Thunderwolf Tooth Necklace", - "Digital Weapons", - "Archeo-Tech Remnant", - "Ceramite Plates" - ], - "Gold I": [ - "Talisman of Storms", - "Relic Bionic Enhancement", - "Archeotech Bionics", - "Relic Micro-Generator", - "Ice Wyrm Hide", - "Seal of the Emperor's Protection" - ], - "Gold II": [ - "Personal Saga", - "Legendary Reliquary of Protection", - "Kraken Tooth Necklace", - "Digital Weapons", - "Ice Wyrm Hide", - "Divine Cloak" - ], - "Gold III": [ - "Talisman of Storms", - "Grandiose Skull Ornament", - "Frostblade", - "Powered Blade", - "Runic Tasset Plate", - "Seal of the Emperor's Protection" - ], - "Diamond I": [ - "Personal Saga", - "Grand Strategy", - "Frostblade", - "Hyperstim", - "Runic Tasset Plate", - "Ceramite Plates" - ] - }, - "Actus": { - "Stone I": [ - "Ropes and Chains", - "The Iron Phoenix", - "Weapon Parts", - "Weapon Anointment Oils", - "Sophisticated Material", - "Adamantium Ore" - ], - "Stone II": [ - "Scrolls", - "Minor Bionic Enhancement", - "Blessed Weapon Oils", - "Plasma Cell", - "Purity Seal", - "Rebreather" - ], - "Stone III": [ - "Writings", - "Bionic Enhancement", - "Basic Auxiliary Core", - "Single Power Pack", - "Cloak", - "Air Purificator" - ], - "Iron I": [ - "Holster and Pockets", - "Reinforced Cables", - "Locator Beacon", - "Plasma Cell", - "Oath Seal", - "Adamantium Lump" - ], - "Iron II": [ - "Writings", - "Electromantic Cable Bundle", - "Divinator Class Auspex", - "Power Pack Bundle", - "Cloak", - "Subdermal Plating" - ], - "Iron III": [ - "The Gold Phoenix", - "Grandiloquent Litanical", - "Motive Force Capacitator", - "Powerful Auxiliary Core", - "Sophisticated Material Ingot", - "Valuable Fabric" - ], - "Bronze I": [ - "The Phoenix Ascendant", - "Repair-Kit", - "High-Capacity Power Pack", - "Classified Data-Slate", - "Adamantium Bar", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Servo-Arc Claw", - "Advanced Bionics", - "Anointed Auxiliary Core", - "Bionic Eye", - "Cogwheel Crest", - "Fine Cloak" - ], - "Bronze III": [ - "Metal Decorative Skull", - "Mars-Pattern Bionics", - "Sanctified Weapon Oils", - "Enhanced Motive Force Capacitator", - "Enhanced Cogwheel Crest", - "Unyielding Rivets" - ], - "Silver I": [ - "Servo-Arc Claw", - "Golden Ornamental Skull", - "Enhanced Motive Force Capacitator", - "Bionic Neural Pathways", - "Enhanced Cogwheel Crest", - "Adamantium Sheet" - ], - "Silver II": [ - "Blessed Cogitator", - "Greater Reliquary of Protection", - "Relic Motive Force Capacitator", - "Anointed Auxiliary Core", - "Enhanced Cogwheel Crest", - "Decorated Cloak" - ], - "Silver III": [ - "Advanced Exospine", - "Servo-Arc Claw", - "Digital Weapons", - "Enhanced Motive Force Capacitator", - "Archeo-Tech Remnant", - "Adamantium Plates" - ], - "Gold I": [ - "Mechadendrite Hive", - "Relic Bionic Enhancement", - "Relic Auxiliary Core", - "Archeotech Bionics", - "Artificer Cogwheel Crest", - "Divine Cloak" - ], - "Gold II": [ - "Sanctus Canister", - "Legendary Reliquary of Protection", - "Relic Motive Force Capacitator", - "Digital Weapons", - "Artificer Cogwheel Crest", - "Seal of the Emperor's Protection" - ], - "Gold III": [ - "Mechadendrite Hive", - "Grandiose Skull Ornament", - "Prehensile Dataspike", - "Plasma Coil", - "Kataphron Armour", - "Divine Cloak" - ], - "Diamond I": [ - "Sanctus Canister", - "Tome of Arcane Knowledge", - "Prehensile Dataspike", - "Plasma Coil", - "Kataphron Armour", - "Adamantium Plates" - ] - }, - "Vitruvius": { - "Stone I": [ - "Ropes and Chains", - "The Iron Phoenix", - "Weapon Parts", - "Weapon Anointment Oils", - "Sophisticated Material", - "Adamantium Ore" - ], - "Stone II": [ - "Scrolls", - "Minor Bionic Enhancement", - "Plasma Cell", - "Blessed Weapon Oils", - "Purity Seal", - "Rebreather" - ], - "Stone III": [ - "Writings", - "Bionic Enhancement", - "Basic Auxiliary Core", - "Single Power Pack", - "Cloak", - "Air Purificator" - ], - "Iron I": [ - "Holster and Pockets", - "Reinforced Cables", - "Locator Beacon", - "Plasma Cell", - "Adamantium Lump", - "Oath Seal" - ], - "Iron II": [ - "Writings", - "Electromantic Cable Bundle", - "Divinator Class Auspex", - "Power Pack Bundle", - "Cloak", - "Subdermal Plating" - ], - "Iron III": [ - "The Gold Phoenix", - "Grandiloquent Litanical", - "Motive Force Capacitator", - "Powerful Auxiliary Core", - "Sophisticated Material Ingot", - "Valuable Fabric" - ], - "Bronze I": [ - "The Phoenix Ascendant", - "Repair-Kit", - "High-Capacity Power Pack", - "Classified Data-Slate", - "Adamantium Bar", - "Blessed Purity Seal" - ], - "Bronze II": [ - "Servo-Arc Claw", - "Advanced Bionics", - "Anointed Auxiliary Core", - "Bionic Eye", - "Cogwheel Crest", - "Fine Cloak" - ], - "Bronze III": [ - "Metal Decorative Skull", - "Mars-Pattern Bionics", - "Sanctified Weapon Oils", - "Enhanced Motive Force Capacitator", - "Enhanced Cogwheel Crest", - "Unyielding Rivets" - ], - "Silver I": [ - "Servo-Arc Claw", - "Golden Ornamental Skull", - "Enhanced Motive Force Capacitator", - "Bionic Neural Pathways", - "Enhanced Cogwheel Crest", - "Adamantium Sheet" - ], - "Silver II": [ - "Blessed Cogitator", - "Greater Reliquary of Protection", - "Relic Motive Force Capacitator", - "Anointed Auxiliary Core", - "Enhanced Cogwheel Crest", - "Decorated Cloak" - ], - "Silver III": [ - "Advanced Exospine", - "Servo-Arc Claw", - "Digital Weapons", - "Enhanced Motive Force Capacitator", - "Archeo-Tech Remnant", - "Adamantium Plates" - ], - "Gold I": [ - "Mechadendrite Hive", - "Relic Bionic Enhancement", - "Relic Auxiliary Core", - "Archeotech Bionics", - "Artificer Cogwheel Crest", - "Divine Cloak" - ], - "Gold II": [ - "Sanctus Canister", - "Legendary Reliquary of Protection", - "Relic Motive Force Capacitator", - "Digital Weapons", - "Artificer Cogwheel Crest", - "Seal of the Emperor's Protection" - ], - "Gold III": [ - "Mechadendrite Hive", - "Grandiose Skull Ornament", - "Prehensile Dataspike", - "Plasma Coil", - "Kataphron Armour", - "Divine Cloak" - ], - "Diamond I": [ - "Sanctus Canister", - "Tome of Arcane Knowledge", - "Prehensile Dataspike", - "Plasma Coil", - "Kataphron Armour", - "Adamantium Plates" - ] - }, - "Tan Gi'Da": { - "Stone I": [ - "Ropes and Chains", - "The Iron Phoenix", - "Weapon Anointment Oils", - "Auspex", - "Sophisticated Material", - "Adamantium Ore" - ], - "Stone II": [ - "Mission Assignment", - "Minor Bionic Enhancement", - "Blessed Weapon Oils", - "Fine Micro-Generator", - "Rebreather", - "Purity Seal" - ], - "Stone III": [ - "Mission Objective", - "Bionic Enhancement", - "Vox-Caster", - "Basic Auxiliary Core", - "Cloak", - "Air Purificator" - ] - , - "Iron I": [ - "Holster and Pockets", - "Reinforced Cables", - "Locator Beacon", - "Fine Micro-Generator", - "Adamantium Lump", - "Oath Seal" - ] - , - "Iron II": [ - "Mission Objective", - "Electromantic Cable Bundle", - "Adamantium Blades", - "Divinator Class Auspex", - "Cloak", - "Crate of Salvage" - ] - , - "Iron III": [ - "The Gold Phoenix", - "Battle Plan", - "Motive Force Capacitator", - "Powerful Auxiliary Core", - "Sophisticated Material Ingot", - "Valuable Fabric" - ] - , - "Bronze I": [ - "The Phoenix Ascendant", - "Repair-Kit", - "Prey-Sight", - "Classified Data-Slate", - "Adamantium Bar", - "Blessed Purity Seal" - ] - , - "Bronze II": [ - "Advanced Bionics", - "Servo-Arc Claw", - "Bionic Eye", - "Anointed Auxiliary Core", - "Cogwheel Crest", - "Fine Cloak" - ] - , - "Bronze III": [ - "Metal Decorative Skull", - "Mars-Pattern Bionics", - "Sanctified Weapon Oils", - "Enhanced Motive Force Capacitator", - "Enhanced Cogwheel Crest", - "Unyielding Rivets" - ] - , - "Silver I": [ - "Servo-Arc Claw", - "Golden Ornamental Skull", - "Enhanced Motive Force Capacitator", - "Bionic Neural Pathways", - "Enhanced Cogwheel Crest", - "Adamantium Sheet" - ], - "Silver II": [ - "Blessed Cogitator", - "Greater Reliquary of Protection", - "Relic Motive Force Capacitator", - "Anointed Auxiliary Core", - "Enhanced Cogwheel Crest", - "Decorated Cloak" - ], - "Silver III": [ - "Grand Strategy", - "Servo-Arc Claw", - "Digital Weapons", - "Enhanced Motive Force Capacitator", - "Archeo-Tech Remnant", - "Adamantium Plates" - ], - "Gold I": [ - "Mechadendrite Hive", - "Relic Bionic Enhancement", - "Relic Auxiliary Core", - "Archeotech Bionics", - "Artificer Cogwheel Crest", - "Divine Cloak" - ], - "Gold II": [ - "Sanctus Canister", - "Legendary Reliquary of Protection", - "Relic Motive Force Capacitator", - "Digital Weapons", - "Artificer Cogwheel Crest", - "Seal of the Emperor's Protection" - ], - "Gold III": [ - "Mechadendrite Hive", - "Grandiose Skull Ornament", - "Prehensile Dataspike", - "Powered Blade", - "Kataphron Armour", - "Divine Cloak" - ], - "Diamond I": [ - "Sanctus Canister", - "Grand Strategy", - "Prehensile Dataspike", - "Relic Micro-Generator", - "Kataphron Armour", - "Adamantium Plates" - ] - } + "Vindicta": { + "Stone I": [ + "Minor Bionic Enhancement", + "Reliquary of Protection", + "Can of Promethium", + "Canister of Chemicals", + "Pile of Salvage", + "Adamantium Ore" + ], + "Stone II": [ + "The Iron Phoenix", + "Reliquary of Protection", + "Canister of Chemicals", + "Attack Vector Data-Slate", + "Pile of Salvage", + "Oath Seal" + ], + "Stone III": [ + "Field Ration", + "Metal Decorative Skull", + "Lesser Reliquary of Vengeance", + "Power Pack Bundle", + "Rebreather", + "Box of Salvage" + ], + "Iron I": ["First Aid Kit", "Repair-Kit", "Weapon Anointment Oils", "Magazine", "Rebreather", "Ceramite Lump"], + "Iron II": [ + "The Silver Eagle with Swords", + "Box of Rations", + "Belt of Frag Grenades", + "Reliquary of Vengeance", + "Adamantium Lump", + "Ceramite Lump" + ], + "Iron III": [ + "Repair-Kit", + "Exquisite Medical Supplies", + "Round of Ammo", + "Advanced Combat Stimms", + "Box of Salvage", + "Ceramite Bar" + ], + "Bronze I": [ + "Advanced Bionics", + "Medical Supply Crate", + "Bionic Eye", + "High-Capacity Power Pack", + "Impressive Armor Trim", + "Ceramite Sheet" + ], + "Bronze II": [ + "Box of Rations", + "Medical Supply Crate", + "Special Issue Ammo", + "Anointed Auxiliary Core", + "Ceramite Bar", + "Ceramite Bar" + ], + "Bronze III": [ + "Advanced Bionics", + "Legendary Reliquary of Protection", + "Bionic Eye", + "Belt of Krak Grenades", + "Ceramite Bar", + "Ceramite Sheet" + ], + "Silver I": [ + "Exquisite Medical Supplies", + "Legendary Reliquary of Protection", + "Legendary Reliquary of Vengeance", + "Relic Micro-Generator", + "Ceramite Sheet", + "Ceramite Sheet" + ], + "Silver II": [ + "Roses of Sacrifice", + "Golden Ornamental Skull", + "Hymn of the Divine", + "Anointed Micro-Generator", + "Holy Corset Armor", + "Grand Purity Seal" + ], + "Silver III": [ + "Roses of the Divine", + "Legendary Reliquary of Protection", + "Hymn of Sacrifice", + "Digital Weapons", + "Sanctified Corset Armor", + "Divine Cloak" + ], + "Gold I": [ + "Simulacrum Sanctorum", + "Grandiose Skull Ornament", + "Hymn of the Divine", + "Blessed Promethium Tank", + "Holy Corset Armor", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Roses of the Divine", + "Grandiose Skull Ornament", + "Blessed Bolts", + "Blessed Promethium Tank", + "Sabbat-Pattern Visor", + "Ceramite Plates" + ], + "Gold III": [ + "Simulacrum Sanctorum", + "Legendary Reliquary of Protection", + "Blessed Bolts", + "Digital Weapons", + "Sabbat-Pattern Visor", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Simulacrum Sanctorum", + "Legendary Reliquary of Protection", + "Blessed Bolts", + "Blessed Promethium Tank", + "Sabbat-Pattern Visor", + "Ceramite Plates" + ] + }, + "Isabella": { + "Stone I": [ + "Standard-Issue Tourniquet", + "Healing Ointment", + "Vox-Caster", + "Weapon Anointment Oils", + "Rebreather", + "Purity Seal" + ], + "Stone II": [ + "Scrolls", + "Lesser Reliquary of Protection", + "Round of Ammo", + "Barrel of Promethium", + "Armor Trim", + "Cloak" + ], + "Stone III": [ + "Scrolls", + "Lesser Reliquary of Protection", + "Magazine", + "Fine Micro-Generator", + "Rebreather", + "Cloak" + ], + "Iron I": [ + "Writings", + "The Phoenix Ascendant", + "Attack Vector Data-Slate", + "Blessed Weapon Oils", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "Satchel", + "Reliquary of Protection", + "Fine Auxiliary Core", + "Prey-Sight", + "Advanced Rebreather", + "Fine Cloak" + ], + "Iron III": [ + "Metal Decorative Skull", + "First Aid Kit", + "Hymn of Martyrs", + "Blessed Weapon Oils", + "Ceramite Lump", + "Ceramite Bar" + ], + "Bronze I": [ + "Rose of Martyrs", + "Medical Supply Crate", + "Classified Data-Slate", + "Powerful Micro-Generator", + "Impressive Armor Trim", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Roses of Sacrifice", + "Sanctified Reliquary of Protection", + "Powerful Auxiliary Core", + "Anointed Micro-Generator", + "Blessed Corset Armor", + "Fine Cloak" + ], + "Bronze III": [ + "Golden Ornamental Skull", + "Medical Supply Crate", + "Hymn of Sacrifice", + "Sanctified Weapon Oils", + "Sanctified Corset Armor", + "Grand Purity Seal" + ], + "Silver I": [ + "Roses of Sacrifice", + "Greater Reliquary of Protection", + "Hymn of Sacrifice", + "Blessed Promethium Canister", + "Sanctified Corset Armor", + "Decorated Cloak" + ], + "Silver II": [ + "Roses of Sacrifice", + "Exquisite Medical Supplies", + "Hymn of the Divine", + "Blessed Promethium Canister", + "Holy Corset Armor", + "Grand Purity Seal" + ], + "Silver III": [ + "Roses of the Divine", + "Legendary Reliquary of Protection", + "Hymn of Sacrifice", + "Digital Weapons", + "Sanctified Corset Armor", + "Divine Cloak" + ], + "Gold I": [ + "Simulacrum Sanctorum", + "Relic Bionic Enhancement", + "Hymn of the Divine", + "Blessed Promethium Tank", + "Holy Corset Armor", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Roses of the Divine", + "Grandiose Skull Ornament", + "Blessed Bolts", + "Blessed Promethium Tank", + "Sabbat-Pattern Visor", + "Divine Cloak" + ], + "Gold III": [ + "Simulacrum Sanctorum", + "Legendary Reliquary of Protection", + "Blessed Bolts", + "Digital Weapons", + "Sabbat-Pattern Visor", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Simulacrum Sanctorum", + "Legendary Reliquary of Protection", + "Blessed Bolts", + "Blessed Promethium Tank", + "Sabbat-Pattern Visor", + "Ceramite Plates" + ] + }, + "Morvenn Vahl": { + "Stone I": [ + "The Iron Phoenix", + "Minor Bionic Enhancement", + "Vox-Caster", + "Weapon Anointment Oils", + "Armor Trim", + "Purity Seal" + ], + "Stone II": [ + "Wires", + "Lesser Reliquary of Protection", + "Round of Ammo", + "Plasma Cell", + "Metal Joints", + "Cloak" + ], + "Stone III": [ + "Ropes and Chains", + "Mission Objective", + "Magazine", + "Plasma Cell", + "Armor Trim", + "Blessed Tasset Plate" + ], + "Iron I": [ + "Reinforced Cables", + "Reliquary of Protection", + "Attack Vector Data-Slate", + "Blessed Weapon Oils", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "The Silver Eagle with Swords", + "Mission Objective", + "Fine Auxiliary Core", + "Prey-Sight", + "Ceramite Lump", + "Adamantium Bar" + ], + "Iron III": [ + "Metal Decorative Skull", + "Battle Plan", + "Hymn of Martyrs", + "Blessed Weapon Oils", + "Ceramite Lump", + "Ceramite Bar" + ], + "Bronze I": [ + "Rose of Martyrs", + "Electromantic Cable Bundle", + "Classified Data-Slate", + "Plasma Cell Bundle", + "Impressive Armor Trim", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Roses of Sacrifice", + "Sanctified Reliquary of Protection", + "Powerful Auxiliary Core", + "Plasma Cell Crate", + "Blessed Corset Armor", + "Adamantium Bar" + ], + "Bronze III": [ + "Golden Ornamental Skull", + "Advanced Bionics", + "Hymn of Sacrifice", + "Sanctified Weapon Oils", + "Sanctified Corset Armor", + "Grand Purity Seal" + ], + "Silver I": [ + "Roses of Sacrifice", + "Greater Reliquary of Protection", + "Hymn of Sacrifice", + "Bionic Neural Pathways", + "Sanctified Corset Armor", + "Adamantium Sheet" + ], + "Silver II": [ + "Roses of Sacrifice", + "Mars-Pattern Bionics", + "Hymn of the Divine", + "Bionic Neural Pathways", + "Holy Corset Armor", + "Grand Purity Seal" + ], + "Silver III": [ + "Roses of the Divine", + "Legendary Reliquary of Protection", + "Hymn of Sacrifice", + "Digital Weapons", + "Sanctified Corset Armor", + "Adamantium Plates" + ], + "Gold I": [ + "Simulacrum Sanctorum", + "Relic Bionic Enhancement", + "Hymn of the Divine", + "Powered Blade", + "Holy Corset Armor", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Roses of the Divine", + "Relic Bionic Enhancement", + "Blessed Bolts", + "Powered Blade", + "Sabbat-Pattern Visor", + "Adamantium Plates" + ], + "Gold III": [ + "Simulacrum Sanctorum", + "Legendary Reliquary of Protection", + "Blessed Bolts", + "Digital Weapons", + "Sabbat-Pattern Visor", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Simulacrum Sanctorum", + "Legendary Reliquary of Protection", + "Blessed Bolts", + "Relic Micro-Generator", + "Sabbat-Pattern Visor", + "Ceramite Plates" + ] + }, + "Roswitha": { + "Stone I": [ + "The Iron Phoenix", + "Mission Assignment", + "Vox-Caster", + "Weapon Anointment Oils", + "Rebreather", + "Purity Seal" + ], + "Stone II": [ + "Standard-Issue Tourniquet", + "Lesser Reliquary of Protection", + "Frag Grenade", + "Barrel of Promethium", + "Rebreather", + "Cloak" + ], + "Stone III": [ + "Ropes and Chains", + "Reliquary of Protection", + "Belt of Frag Grenades", + "Barrel of Promethium", + "Armor Trim", + "Blessed Tasset Plate" + ], + "Iron I": [ + "Writings", + "Mission Objective", + "Attack Vector Data-Slate", + "Blessed Weapon Oils", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "The Silver Eagle with Swords", + "Reliquary of Protection", + "Fine Auxiliary Core", + "Prey-Sight", + "Ceramite Lump", + "Ceramite Bar" + ], + "Iron III": [ + "Kill Count", + "Battle Plan", + "Hymn of Martyrs", + "Blessed Weapon Oils", + "Advanced Rebreather", + "Fine Cloak" + ], + "Bronze I": [ + "Rose of Martyrs", + "Battle Plan", + "Krak Grenade", + "Powerful Micro-Generator", + "Impressive Armor Trim", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Roses of Sacrifice", + "Sanctified Reliquary of Protection", + "Belt of Krak Grenades", + "Powerful Micro-Generator", + "Blessed Corset Armor", + "Adamantium Bar" + ], + "Bronze III": [ + "Golden Ornamental Skull", + "Advanced Bionics", + "Hymn of Sacrifice", + "Sanctified Weapon Oils", + "Sanctified Corset Armor", + "Grand Purity Seal" + ], + "Silver I": [ + "Roses of Sacrifice", + "Greater Reliquary of Protection", + "Hymn of Sacrifice", + "Blessed Promethium Canister", + "Sanctified Corset Armor", + "Decorated Cloak" + ], + "Silver II": [ + "Roses of Sacrifice", + "Mars-Pattern Bionics", + "Hymn of the Divine", + "Blessed Promethium Canister", + "Holy Corset Armor", + "Grand Purity Seal" + ], + "Silver III": [ + "Roses of the Divine", + "Legendary Reliquary of Protection", + "Hymn of Sacrifice", + "Digital Weapons", + "Sanctified Corset Armor", + "Divine Cloak" + ], + "Gold I": [ + "Simulacrum Sanctorum", + "Grandiose Skull Ornament", + "Hymn of the Divine", + "Blessed Promethium Tank", + "Holy Corset Armor", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Roses of the Divine", + "Relic Bionic Enhancement", + "Blessed Bolts", + "Blessed Promethium Tank", + "Sabbat-Pattern Visor", + "Divine Cloak" + ], + "Gold III": [ + "Simulacrum Sanctorum", + "Legendary Reliquary of Protection", + "Blessed Bolts", + "Digital Weapons", + "Sabbat-Pattern Visor", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Simulacrum Sanctorum", + "Legendary Reliquary of Protection", + "Blessed Bolts", + "Blessed Promethium Tank", + "Sabbat-Pattern Visor", + "Ceramite Plates" + ] + }, + "Celestine": { + "Stone I": [ + "Scrolls", + "The Silver Aquila", + "Canister of Chemicals", + "Weapon Anointment Oils", + "Armor Trim", + "Purity Seal" + ], + "Stone II": [ + "Scrolls", + "Lesser Reliquary of Protection", + "Can of Promethium", + "Divinator Class Auspex", + "Adamantium Ore", + "Blessed Tasset Plate" + ], + "Stone III": [ + "Ropes and Chains", + "Reliquary of Protection", + "Fine Auxiliary Core", + "Fine Micro-Generator", + "Armor Trim", + "Cloak" + ], + "Iron I": [ + "Writings", + "Mission Objective", + "Barrel of Promethium", + "Blessed Weapon Oils", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "The Silver Eagle with Swords", + "Reliquary of Protection", + "Fine Auxiliary Core", + "Supernatural Sight", + "Air Purificator", + "Fine Cloak" + ], + "Iron III": [ + "Metal Decorative Skull", + "Battle Plan", + "Hymn of Martyrs", + "Blessed Weapon Oils", + "Air Purificator", + "Ceramite Bar" + ], + "Bronze I": [ + "Rose of Martyrs", + "Battle Plan", + "Tank of Promethium", + "Powerful Micro-Generator", + "Impressive Armor Trim", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Metal Decorative Skull", + "Sanctified Reliquary of Protection", + "Blessed Promethium Tank", + "Powerful Micro-Generator", + "Blessed Corset Armor", + "Fine Cloak" + ], + "Bronze III": [ + "Rose of Martyrs", + "Sanctified Reliquary of Protection", + "Hymn of Sacrifice", + "Sanctified Weapon Oils", + "Sanctified Corset Armor", + "Grand Purity Seal" + ], + "Silver I": [ + "Roses of Sacrifice", + "Greater Reliquary of Protection", + "Hymn of Sacrifice", + "Blessed Promethium Canister", + "Sanctified Corset Armor", + "Decorated Cloak" + ], + "Silver II": [ + "Roses of Sacrifice", + "Golden Ornamental Skull", + "Hymn of the Divine", + "Anointed Micro-Generator", + "Holy Corset Armor", + "Grand Purity Seal" + ], + "Silver III": [ + "Roses of the Divine", + "Legendary Reliquary of Protection", + "Hymn of Sacrifice", + "Digital Weapons", + "Sanctified Corset Armor", + "Divine Cloak" + ], + "Gold I": [ + "Simulacrum Sanctorum", + "Grandiose Skull Ornament", + "Hymn of the Divine", + "Powered Blade", + "Holy Corset Armor", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Roses of the Divine", + "Grandiose Skull Ornament", + "Blessed Bolts", + "Powered Blade", + "Sabbat-Pattern Visor", + "Divine Cloak" + ], + "Gold III": [ + "Simulacrum Sanctorum", + "Legendary Reliquary of Protection", + "Blessed Bolts", + "Digital Weapons", + "Sabbat-Pattern Visor", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Simulacrum Sanctorum", + "Legendary Reliquary of Protection", + "Blessed Bolts", + "Blessed Promethium Tank", + "Sabbat-Pattern Visor", + "Ceramite Plates" + ] + }, + "Sibyll": { + "Stone I": [ + "The Iron Phoenix", + "Healing Ointment", + "Auspex", + "Weapon Anointment Oils", + "Rebreather", + "Purity Seal" + ], + "Stone II": [ + "Scrolls", + "Lesser Reliquary of Protection", + "Single Power Pack", + "Fine Micro-Generator", + "Rebreather", + "Cloak" + ], + "Stone III": [ + "Ropes and Chains", + "Reliquary of Protection", + "Power Pack Bundle", + "Fine Micro-Generator", + "Armor Trim", + "Box of Salvage" + ], + "Iron I": [ + "Writings", + "Mission Objective", + "Divinator Class Auspex", + "Blessed Weapon Oils", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "Satchel", + "Reliquary of Protection", + "Fine Auxiliary Core", + "High-Capacity Power Pack", + "Advanced Rebreather", + "Fine Cloak" + ], + "Iron III": [ + "Metal Decorative Skull", + "Advanced Bionics", + "Entrenching Tool", + "Blessed Weapon Oils", + "Advanced Rebreather", + "Fine Cloak" + ], + "Bronze I": [ + "Zeidos Ribbon", + "Medical Supply Crate", + "Classified Data-Slate", + "Powerful Micro-Generator", + "Ceramite Bar", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Epaulettes", + "Sanctified Reliquary of Protection", + "Anointed Auxiliary Core", + "Powerful Micro-Generator", + "Flak Plates", + "Fine Cloak" + ], + "Bronze III": [ + "Metal Decorative Skull", + "Battle Plan", + "Veteran's Entrenching Tool", + "Sanctified Weapon Oils", + "High-Grade Flak Plates", + "Grand Purity Seal" + ], + "Silver I": [ + "Epaulettes", + "Greater Reliquary of Protection", + "Veteran's Entrenching Tool", + "Bionic Neural Pathways", + "High-Grade Flak Plates", + "Decorated Cloak" + ], + "Silver II": [ + "Epaulettes", + "Golden Ornamental Skull", + "Heirloom Entrenching Tool", + "Anointed Micro-Generator", + "Artificer Flak Plates", + "Grand Purity Seal" + ], + "Silver III": [ + "Epaulettes of Renown", + "Legendary Reliquary of Protection", + "Veteran's Entrenching Tool", + "Digital Weapons", + "High-Grade Flak Plates", + "Divine Cloak" + ], + "Gold I": [ + "Sash of Honors", + "Tome of Arcane Knowledge", + "Heirloom Entrenching Tool", + "Relic Micro-Generator", + "Artificer Flak Plates", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Epaulettes of Renown", + "Relic Bionic Enhancement", + "Medallion Resolute", + "Relic Micro-Generator", + "Bastion Honour", + "Divine Cloak" + ], + "Gold III": [ + "Sash of Honors", + "Legendary Reliquary of Protection", + "Medallion Resolute", + "Digital Weapons", + "Bastion Honour", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Sash of Honors", + "Tome of Arcane Knowledge", + "Medallion Resolute", + "Relic Micro-Generator", + "Bastion Honour", + "Adamantium Plates" + ] + }, + "Commissar Yarrick": { + "Stone I": [ + "The Silver Aquila", + "Minor Bionic Enhancement", + "Vox-Caster", + "Weapon Anointment Oils", + "Thick Skin", + "Purity Seal" + ], + "Stone II": [ + "Ropes and Chains", + "Lesser Reliquary of Protection", + "Round of Ammo", + "Attack Vector Data-Slate", + "Metal Joints", + "Box of Salvage" + ], + "Stone III": [ + "The Iron Phoenix", + "Reliquary of Protection", + "Fine Auxiliary Core", + "Classified Data-Slate", + "Armor Trim", + "Cloak" + ], + "Iron I": [ + "The Gold Phoenix", + "Mission Objective", + "Locator Beacon", + "Blessed Weapon Oils", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "Satchel", + "Reliquary of Protection", + "Magazine", + "High-Capacity Power Pack", + "Ceramite Lump", + "Fine Cloak" + ], + "Iron III": [ + "Battle Scar", + "Advanced Bionics", + "Entrenching Tool", + "Blessed Weapon Oils", + "Ceramite Lump", + "Ceramite Bar" + ], + "Bronze I": [ + "Zeidos Ribbon", + "Battle Plan", + "Bionic Eye", + "Advanced Combat Stimms", + "Impressive Armor Trim", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Epaulettes", + "Sanctified Reliquary of Protection", + "Anointed Auxiliary Core", + "High-Capacity Power Pack", + "Flak Plates", + "Fine Cloak" + ], + "Bronze III": [ + "Battle Scar", + "Advanced Bionics", + "Veteran's Entrenching Tool", + "Sanctified Weapon Oils", + "High-Grade Flak Plates", + "Grand Purity Seal" + ], + "Silver I": [ + "Epaulettes", + "Greater Reliquary of Protection", + "Veteran's Entrenching Tool", + "Bionic Neural Pathways", + "High-Grade Flak Plates", + "Decorated Cloak" + ], + "Silver II": [ + "Epaulettes", + "Golden Ornamental Skull", + "Heirloom Entrenching Tool", + "Refined Combat Stimms", + "Artificer Flak Plates", + "Grand Purity Seal" + ], + "Silver III": [ + "Epaulettes of Renown", + "Legendary Reliquary of Protection", + "Veteran's Entrenching Tool", + "Digital Weapons", + "High-Grade Flak Plates", + "Divine Cloak" + ], + "Gold I": [ + "Sash of Honors", + "Relic Bionic Enhancement", + "Heirloom Entrenching Tool", + "Powered Blade", + "Artificer Flak Plates", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Epaulettes of Renown", + "Relic Bionic Enhancement", + "Medallion Resolute", + "Powered Blade", + "Bastion Honour", + "Divine Cloak" + ], + "Gold III": [ + "Sash of Honors", + "Legendary Reliquary of Protection", + "Medallion Resolute", + "Digital Weapons", + "Bastion Honour", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Sash of Honors", + "Grand Strategy", + "Medallion Resolute", + "Relic Micro-Generator", + "Bastion Honour", + "Relic Tasset Plate" + ] + }, + "Kut Skoden": { + "Stone I": [ + "The Iron Phoenix", + "Field Ration", + "Weapon Parts", + "Weapon Anointment Oils", + "Thick Skin", + "Purity Seal" + ], + "Stone II": [ + "The Iron Phoenix", + "Lesser Reliquary of Protection", + "Frag Grenade", + "Combat Stimms", + "Thick Skin", + "Advanced Rebreather" + ], + "Stone III": [ + "Chip Damage", + "Reliquary of Protection", + "Belt of Frag Grenades", + "Combat Stimms", + "Rebreather", + "Advanced Rebreather" + ], + "Iron I": [ + "The Silver Scope", + "Enriched Rations", + "Barrel of Promethium", + "Blessed Weapon Oils", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "The Silver Eagle with Swords", + "Reliquary of Protection", + "Belt of Frag Grenades", + "High-Capacity Power Pack", + "Air Purificator", + "Adamantium Bar" + ], + "Iron III": [ + "Battle Scar", + "Box of Rations", + "Entrenching Tool", + "Blessed Weapon Oils", + "Air Purificator", + "Adamantium Bar" + ], + "Bronze I": [ + "Zeidos Ribbon", + "Box of Rations", + "Tank of Promethium", + "Advanced Combat Stimms", + "Ceramite Bar", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Epaulettes", + "Sanctified Reliquary of Protection", + "Blessed Promethium Tank", + "Advanced Combat Stimms", + "Flak Plates", + "Adamantium Bar" + ], + "Bronze III": [ + "Battle Scar", + "Advanced Bionics", + "Veteran's Entrenching Tool", + "Sanctified Weapon Oils", + "High-Grade Flak Plates", + "Grand Purity Seal" + ], + "Silver I": [ + "Epaulettes", + "Greater Reliquary of Protection", + "Veteran's Entrenching Tool", + "Blessed Promethium Canister", + "High-Grade Flak Plates", + "Adamantium Sheet" + ], + "Silver II": [ + "Epaulettes", + "Golden Ornamental Skull", + "Heirloom Entrenching Tool", + "Refined Combat Stimms", + "Artificer Flak Plates", + "Grand Purity Seal" + ], + "Silver III": [ + "Epaulettes of Renown", + "Legendary Reliquary of Protection", + "Veteran's Entrenching Tool", + "Digital Weapons", + "High-Grade Flak Plates", + "Adamantium Plates" + ], + "Gold I": [ + "Sash of Honors", + "Relic Bionic Enhancement", + "Heirloom Entrenching Tool", + "Blessed Promethium Tank", + "Artificer Flak Plates", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Epaulettes of Renown", + "Relic Bionic Enhancement", + "Medallion Resolute", + "Powered Blade", + "Bastion Honour", + "Adamantium Plates" + ], + "Gold III": [ + "Sash of Honors", + "Legendary Reliquary of Protection", + "Medallion Resolute", + "Digital Weapons", + "Bastion Honour", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Sash of Honors", + "Grand Strategy", + "Medallion Resolute", + "Blessed Promethium Tank", + "Bastion Honour", + "Adamantium Plates" + ] + }, + "Thaddeus Noble": { + "Stone I": [ + "Ropes and Chains", + "Field Ration", + "Vox-Caster", + "Weapon Anointment Oils", + "Rebreather", + "Purity Seal" + ], + "Stone II": [ + "The Silver Aquila", + "Lesser Reliquary of Protection", + "Ballistics Data", + "Locator Beacon", + "Rebreather", + "Box of Salvage" + ], + "Stone III": [ + "The Iron Phoenix", + "Reliquary of Protection", + "Fine Auxiliary Core", + "Divinator Class Auspex", + "Armor Trim", + "Cloak" + ], + "Iron I": [ + "Satchel", + "Enriched Rations", + "Attack Vector Data-Slate", + "Blessed Weapon Oils", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "The Silver Scope", + "Reliquary of Protection", + "Fine Auxiliary Core", + "Powerful Micro-Generator", + "Advanced Rebreather", + "Fine Cloak" + ], + "Iron III": [ + "Metal Decorative Skull", + "Battle Plan", + "Entrenching Tool", + "Blessed Weapon Oils", + "Advanced Rebreather", + "Fine Cloak" + ], + "Bronze I": [ + "Zeidos Ribbon", + "Box of Rations", + "Classified Data-Slate", + "High-Capacity Power Pack", + "Impressive Armor Trim", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Epaulettes", + "Sanctified Reliquary of Protection", + "Anointed Auxiliary Core", + "High-Capacity Power Pack", + "Flak Plates", + "Fine Cloak" + ], + "Bronze III": [ + "Metal Decorative Skull", + "Battle Plan", + "Veteran's Entrenching Tool", + "Sanctified Weapon Oils", + "High-Grade Flak Plates", + "Grand Purity Seal" + ], + "Silver I": [ + "Epaulettes", + "Greater Reliquary of Protection", + "Veteran's Entrenching Tool", + "Bionic Neural Pathways", + "High-Grade Flak Plates", + "Decorated Cloak" + ], + "Silver II": [ + "Epaulettes", + "Golden Ornamental Skull", + "Heirloom Entrenching Tool", + "Relic Auxiliary Core", + "Artificer Flak Plates", + "Grand Purity Seal" + ], + "Silver III": [ + "Epaulettes of Renown", + "Legendary Reliquary of Protection", + "Veteran's Entrenching Tool", + "Digital Weapons", + "High-Grade Flak Plates", + "Divine Cloak" + ], + "Gold I": [ + "Sash of Honors", + "Grandiose Skull Ornament", + "Heirloom Entrenching Tool", + "Relic Auxiliary Core", + "Artificer Flak Plates", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Epaulettes of Renown", + "Grandiose Skull Ornament", + "Medallion Resolute", + "Relic Auxiliary Core", + "Bastion Honour", + "Divine Cloak" + ], + "Gold III": [ + "Sash of Honors", + "Legendary Reliquary of Protection", + "Medallion Resolute", + "Digital Weapons", + "Bastion Honour", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Sash of Honors", + "Grand Strategy", + "Medallion Resolute", + "Relic Micro-Generator", + "Bastion Honour", + "Relic Tasset Plate" + ] + }, + "Castellan Creed": { + "Stone I": [ + "The Iron Phoenix", + "Mission Assignment", + "Vox-Caster", + "Weapon Anointment Oils", + "Thick Skin", + "Purity Seal" + ], + "Stone II": [ + "The Silver Aquila", + "Lesser Reliquary of Protection", + "Ballistics Data", + "Locator Beacon", + "Armor Trim", + "Cloak" + ], + "Stone III": [ + "Ropes and Chains", + "Reliquary of Protection", + "Power Pack Bundle", + "Divinator Class Auspex", + "Thick Skin", + "Box of Salvage" + ], + "Iron I": [ + "The Gold Phoenix", + "Mission Objective", + "Attack Vector Data-Slate", + "Blessed Weapon Oils", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "The Silver Scope", + "Reliquary of Protection", + "Power Pack Bundle", + "High-Capacity Power Pack", + "Ceramite Lump", + "Fine Cloak" + ], + "Iron III": [ + "The Phoenix Ascendant", + "Battle Plan", + "Entrenching Tool", + "Blessed Weapon Oils", + "Ceramite Lump", + "Ceramite Bar" + ], + "Bronze I": [ + "Zeidos Ribbon", + "Electromantic Cable Bundle", + "Classified Data-Slate", + "Powerful Micro-Generator", + "Impressive Armor Trim", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Epaulettes", + "Sanctified Reliquary of Protection", + "Anointed Auxiliary Core", + "Powerful Micro-Generator", + "Flak Plates", + "Fine Cloak" + ], + "Bronze III": [ + "Battle Scar", + "Mars-Pattern Bionics", + "Veteran's Entrenching Tool", + "Sanctified Weapon Oils", + "High-Grade Flak Plates", + "Grand Purity Seal" + ], + "Silver I": [ + "Epaulettes", + "Greater Reliquary of Protection", + "Veteran's Entrenching Tool", + "Bionic Neural Pathways", + "High-Grade Flak Plates", + "Decorated Cloak" + ], + "Silver II": [ + "Epaulettes", + "Golden Ornamental Skull", + "Heirloom Entrenching Tool", + "Anointed Micro-Generator", + "Artificer Flak Plates", + "Grand Purity Seal" + ], + "Silver III": [ + "Epaulettes of Renown", + "Legendary Reliquary of Protection", + "Veteran's Entrenching Tool", + "Digital Weapons", + "High-Grade Flak Plates", + "Divine Cloak" + ], + "Gold I": [ + "Sash of Honors", + "Grandiose Skull Ornament", + "Heirloom Entrenching Tool", + "Relic Micro-Generator", + "Artificer Flak Plates", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Epaulettes of Renown", + "Grandiose Skull Ornament", + "Medallion Resolute", + "Relic Micro-Generator", + "Bastion Honour", + "Divine Cloak" + ], + "Gold III": [ + "Sash of Honors", + "Legendary Reliquary of Protection", + "Medallion Resolute", + "Digital Weapons", + "Bastion Honour", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Sash of Honors", + "Grand Strategy", + "Medallion Resolute", + "Relic Micro-Generator", + "Bastion Honour", + "Relic Tasset Plate" + ] + }, + "Sword Brother Godswyl": { + "Stone I": [ + "Standard-Issue Tourniquet", + "Minor Bionic Enhancement", + "Vox-Caster", + "Weapon Anointment Oils", + "Rebreather", + "Purity Seal" + ], + "Stone II": [ + "Chip Damage", + "Lesser Reliquary of Protection", + "Frag Grenade", + "Fine Micro-Generator", + "Armor Trim", + "Blessed Tasset Plate" + ], + "Stone III": [ + "Ropes and Chains", + "Reliquary of Protection", + "Belt of Frag Grenades", + "Bladesman's Honour", + "Pile of Salvage", + "Blessed Tasset Plate" + ], + "Iron I": [ + "Satchel", + "The Gold Phoenix", + "Locator Beacon", + "Blessed Weapon Oils", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "The Silver Eagle with Swords", + "Reliquary of Protection", + "Fine Auxiliary Core", + "Prey-Sight", + "Advanced Rebreather", + "Ceramite Bar" + ], + "Iron III": [ + "Metal Decorative Skull", + "Battle Plan", + "Chain of Zeal", + "Blessed Weapon Oils", + "Artificer Tasset Plate", + "Adamantium Bar" + ], + "Bronze I": [ + "Righteous Candle", + "Grand Skull Trophy", + "Krak Grenade", + "Advanced Combat Stimms", + "Impressive Armor Trim", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Lights of Purgation", + "Sanctified Reliquary of Protection", + "Belt of Krak Grenades", + "Advanced Combat Stimms", + "Blessed Tabbard", + "Ceramite Bar" + ], + "Bronze III": [ + "Battle Scar", + "Mars-Pattern Bionics", + "Chain of Righteous Zeal", + "Sanctified Weapon Oils", + "Crusader's Tabbard", + "Grand Purity Seal" + ], + "Silver I": [ + "Lights of Purgation", + "Greater Reliquary of Protection", + "Chain of Righteous Zeal", + "Bionic Neural Pathways", + "Crusader's Tabbard", + "Ancient Tasset Plate" + ], + "Silver II": [ + "Lights of Purgation", + "Terminator Honours", + "Chain of Zealous Wrath", + "Refined Combat Stimms", + "Tabbard of Righteous Wrath", + "Grand Purity Seal" + ], + "Silver III": [ + "Candelabrum of Burning Wrath", + "Legendary Reliquary of Protection", + "Chain of Righteous Zeal", + "Digital Weapons", + "Crusader's Tabbard", + "Relic Tasset Plate" + ], + "Gold I": [ + "Tannhauser's Bones", + "Grandiose Skull Ornament", + "Chain of Zealous Wrath", + "Powered Blade", + "Tabbard of Righteous Wrath", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Candelabrum of Burning Wrath", + "Grandiose Skull Ornament", + "Witchseeker Bolts", + "Powered Blade", + "Octarian Crusade Seal", + "Relic Tasset Plate" + ], + "Gold III": [ + "Tannhauser's Bones", + "Legendary Reliquary of Protection", + "Witchseeker Bolts", + "Digital Weapons", + "Octarian Crusade Seal", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Tannhauser's Bones", + "Legendary Reliquary of Protection", + "Witchseeker Bolts", + "Relic Auxiliary Core", + "Octarian Crusade Seal", + "Ceramite Plates" + ] + }, + "Brother Burchard": { + "Stone I": [ + "The Iron Phoenix", + "Minor Bionic Enhancement", + "Round of Ammo", + "Weapon Anointment Oils", + "Rebreather", + "Purity Seal" + ], + "Stone II": [ + "Ropes and Chains", + "Lesser Reliquary of Protection", + "Frag Grenade", + "Barrel of Promethium", + "Adamantium Ore", + "Blessed Tasset Plate" + ], + "Stone III": [ + "Wires", + "Reliquary of Protection", + "Belt of Frag Grenades", + "Marksman's Honour", + "Armor Trim", + "Ceramite Lump" + ], + "Iron I": [ + "The Silver Scope", + "Reinforced Cables", + "Barrel of Promethium", + "Blessed Weapon Oils", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "Reinforced Cables", + "Reliquary of Protection", + "Magazine", + "Prey-Sight", + "Advanced Rebreather", + "Adamantium Bar" + ], + "Iron III": [ + "Kill Count", + "Electromantic Cable Bundle", + "Chain of Zeal", + "Blessed Weapon Oils", + "Advanced Rebreather", + "Ceramite Bar" + ], + "Bronze I": [ + "Righteous Candle", + "Electromantic Cable Bundle", + "Box of Ammo", + "Tank of Promethium", + "Ceramite Bar", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Lights of Purgation", + "Sanctified Reliquary of Protection", + "Plasma Cell Crate", + "Plasma Cell Bundle", + "Blessed Tabbard", + "Adamantium Bar" + ], + "Bronze III": [ + "Kill Count", + "Mars-Pattern Bionics", + "Chain of Righteous Zeal", + "Sanctified Weapon Oils", + "Crusader's Tabbard", + "Grand Purity Seal" + ], + "Silver I": [ + "Lights of Purgation", + "Greater Reliquary of Protection", + "Chain of Righteous Zeal", + "Bionic Neural Pathways", + "Crusader's Tabbard", + "Ancient Tasset Plate" + ], + "Silver II": [ + "Lights of Purgation", + "Golden Ornamental Skull", + "Chain of Zealous Wrath", + "Plasma Cell Crate", + "Tabbard of Righteous Wrath", + "Grand Purity Seal" + ], + "Silver III": [ + "Candelabrum of Burning Wrath", + "Legendary Reliquary of Protection", + "Chain of Righteous Zeal", + "Digital Weapons", + "Crusader's Tabbard", + "Relic Tasset Plate" + ], + "Gold I": [ + "Tannhauser's Bones", + "Relic Bionic Enhancement", + "Chain of Zealous Wrath", + "Autoloader", + "Tabbard of Righteous Wrath", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Candelabrum of Burning Wrath", + "Relic Bionic Enhancement", + "Witchseeker Bolts", + "Autoloader", + "Octarian Crusade Seal", + "Relic Tasset Plate" + ], + "Gold III": [ + "Tannhauser's Bones", + "Legendary Reliquary of Protection", + "Witchseeker Bolts", + "Digital Weapons", + "Octarian Crusade Seal", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Tannhauser's Bones", + "Grand Strategy", + "Witchseeker Bolts", + "Blessed Promethium Tank", + "Octarian Crusade Seal", + "Ceramite Plates" + ] + }, + "Ancient Thoread": { + "Stone I": [ + "Standard-Issue Tourniquet", + "The Silver Aquila", + "Vox-Caster", + "Weapon Anointment Oils", + "Rebreather", + "Purity Seal" + ], + "Stone II": [ + "Scrolls", + "Lesser Reliquary of Protection", + "Frag Grenade", + "Barrel of Promethium", + "Armor Trim", + "Cloak" + ], + "Stone III": [ + "Ropes and Chains", + "Reliquary of Protection", + "Belt of Frag Grenades", + "Bladesman's Honour", + "Adamantium Ore", + "Blessed Tasset Plate" + ], + "Iron I": [ + "Writings", + "Helmet Trophy", + "Locator Beacon", + "Blessed Weapon Oils", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "Satchel", + "Reliquary of Protection", + "Fine Auxiliary Core", + "Prey-Sight", + "Advanced Rebreather", + "Ceramite Bar" + ], + "Iron III": [ + "Metal Decorative Skull", + "Grand Skull Trophy", + "Chain of Zeal", + "Blessed Weapon Oils", + "Artificer Tasset Plate", + "Fine Cloak" + ], + "Bronze I": [ + "Righteous Candle", + "Grand Skull Trophy", + "Krak Grenade", + "Powerful Micro-Generator", + "Impressive Armor Trim", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Lights of Purgation", + "Sanctified Reliquary of Protection", + "Belt of Krak Grenades", + "Advanced Combat Stimms", + "Blessed Tabbard", + "Fine Cloak" + ], + "Bronze III": [ + "Metal Decorative Skull", + "Grand Helmet Trophy", + "Chain of Righteous Zeal", + "Sanctified Weapon Oils", + "Crusader's Tabbard", + "Grand Purity Seal" + ], + "Silver I": [ + "Lights of Purgation", + "Greater Reliquary of Protection", + "Chain of Righteous Zeal", + "Blessed Promethium Canister", + "Crusader's Tabbard", + "Ancient Tasset Plate" + ], + "Silver II": [ + "Lights of Purgation", + "Terminator Honours", + "Chain of Zealous Wrath", + "Anointed Micro-Generator", + "Tabbard of Righteous Wrath", + "Grand Purity Seal" + ], + "Silver III": [ + "Candelabrum of Burning Wrath", + "Legendary Reliquary of Protection", + "Chain of Righteous Zeal", + "Digital Weapons", + "Crusader's Tabbard", + "Relic Tasset Plate" + ], + "Gold I": [ + "Tannhauser's Bones", + "Grandiose Skull Ornament", + "Chain of Zealous Wrath", + "Powered Blade", + "Tabbard of Righteous Wrath", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Candelabrum of Burning Wrath", + "Grandiose Skull Ornament", + "Witchseeker Bolts", + "Powered Blade", + "Octarian Crusade Seal", + "Relic Tasset Plate" + ], + "Gold III": [ + "Tannhauser's Bones", + "Legendary Reliquary of Protection", + "Witchseeker Bolts", + "Digital Weapons", + "Octarian Crusade Seal", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Tannhauser's Bones", + "Legendary Reliquary of Protection", + "Witchseeker Bolts", + "Blessed Promethium Tank", + "Octarian Crusade Seal", + "Ceramite Plates" + ] + }, + "Brother Jaeger": { + "Stone I": [ + "The Iron Phoenix", + "Mission Assignment", + "Auspex", + "Weapon Anointment Oils", + "Armor Trim", + "Purity Seal" + ], + "Stone II": [ + "Standard-Issue Tourniquet", + "Lesser Reliquary of Protection", + "Frag Grenade", + "Fine Micro-Generator", + "Rebreather", + "Ceramite Lump" + ], + "Stone III": [ + "Satchel", + "Reliquary of Protection", + "Belt of Frag Grenades", + "Bladesman's Honour", + "Adamantium Ore", + "Blessed Tasset Plate" + ], + "Iron I": [ + "The Gold Phoenix", + "Mission Objective", + "Divinator Class Auspex", + "Blessed Weapon Oils", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "Satchel", + "Reliquary of Protection", + "Fine Auxiliary Core", + "Prey-Sight", + "Advanced Rebreather", + "Ceramite Bar" + ], + "Iron III": [ + "Kill Count", + "Advanced Bionics", + "Chain of Zeal", + "Blessed Weapon Oils", + "Artificer Tasset Plate", + "Adamantium Bar" + ], + "Bronze I": [ + "Righteous Candle", + "Battle Plan", + "Krak Grenade", + "Powerful Micro-Generator", + "Impressive Armor Trim", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Lights of Purgation", + "Sanctified Reliquary of Protection", + "Belt of Krak Grenades", + "Advanced Combat Stimms", + "Blessed Tabbard", + "Ceramite Bar" + ], + "Bronze III": [ + "Kill Count", + "Mars-Pattern Bionics", + "Chain of Righteous Zeal", + "Sanctified Weapon Oils", + "Crusader's Tabbard", + "Grand Purity Seal" + ], + "Silver I": [ + "Lights of Purgation", + "Greater Reliquary of Protection", + "Chain of Righteous Zeal", + "Bionic Neural Pathways", + "Crusader's Tabbard", + "Ancient Tasset Plate" + ], + "Silver II": [ + "Lights of Purgation", + "Terminator Honours", + "Chain of Zealous Wrath", + "Anointed Micro-Generator", + "Tabbard of Righteous Wrath", + "Grand Purity Seal" + ], + "Silver III": [ + "Candelabrum of Burning Wrath", + "Legendary Reliquary of Protection", + "Chain of Righteous Zeal", + "Digital Weapons", + "Crusader's Tabbard", + "Relic Tasset Plate" + ], + "Gold I": [ + "Tannhauser's Bones", + "Relic Bionic Enhancement", + "Chain of Zealous Wrath", + "Powered Blade", + "Tabbard of Righteous Wrath", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Candelabrum of Burning Wrath", + "Relic Bionic Enhancement", + "Witchseeker Bolts", + "Powered Blade", + "Octarian Crusade Seal", + "Relic Tasset Plate" + ], + "Gold III": [ + "Tannhauser's Bones", + "Legendary Reliquary of Protection", + "Witchseeker Bolts", + "Digital Weapons", + "Octarian Crusade Seal", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Tannhauser's Bones", + "Legendary Reliquary of Protection", + "Witchseeker Bolts", + "Relic Auxiliary Core", + "Octarian Crusade Seal", + "Ceramite Plates" + ] + }, + "High Marshal Helbrecht": { + "Stone I": [ + "Ropes and Chains", + "Mission Assignment", + "Vox-Caster", + "Weapon Anointment Oils", + "Rebreather", + "Purity Seal" + ], + "Stone II": [ + "Ropes and Chains", + "Lesser Reliquary of Protection", + "Frag Grenade", + "Fine Micro-Generator", + "Armor Trim", + "Blessed Tasset Plate" + ], + "Stone III": [ + "The Iron Phoenix", + "Reliquary of Protection", + "Belt of Frag Grenades", + "Barrel of Promethium", + "Rebreather", + "Cloak" + ], + "Iron I": [ + "Satchel", + "Mission Objective", + "Bladesman's Honour", + "Blessed Weapon Oils", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "The Gold Phoenix", + "Reliquary of Protection", + "Magazine", + "Prey-Sight", + "Advanced Rebreather", + "Ceramite Bar" + ], + "Iron III": [ + "Kill Count", + "Grand Skull Trophy", + "Chain of Zeal", + "Blessed Weapon Oils", + "Artificer Tasset Plate", + "Fine Cloak" + ], + "Bronze I": [ + "Righteous Candle", + "Battle Plan", + "Krak Grenade", + "Powerful Micro-Generator", + "Impressive Armor Trim", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Lights of Purgation", + "Sanctified Reliquary of Protection", + "Belt of Krak Grenades", + "Advanced Combat Stimms", + "Blessed Tabbard", + "Ceramite Bar" + ], + "Bronze III": [ + "Kill Count", + "Grand Helmet Trophy", + "Chain of Righteous Zeal", + "Sanctified Weapon Oils", + "Crusader's Tabbard", + "Grand Purity Seal" + ], + "Silver I": [ + "Lights of Purgation", + "Greater Reliquary of Protection", + "Chain of Righteous Zeal", + "Blessed Promethium Canister", + "Crusader's Tabbard", + "Ancient Tasset Plate" + ], + "Silver II": [ + "Lights of Purgation", + "Terminator Honours", + "Chain of Zealous Wrath", + "Anointed Micro-Generator", + "Tabbard of Righteous Wrath", + "Grand Purity Seal" + ], + "Silver III": [ + "Candelabrum of Burning Wrath", + "Legendary Reliquary of Protection", + "Chain of Righteous Zeal", + "Digital Weapons", + "Crusader's Tabbard", + "Relic Tasset Plate" + ], + "Gold I": [ + "Tannhauser's Bones", + "Grandiose Skull Ornament", + "Chain of Zealous Wrath", + "Blessed Promethium Tank", + "Tabbard of Righteous Wrath", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Candelabrum of Burning Wrath", + "Grandiose Skull Ornament", + "Witchseeker Bolts", + "Powered Blade", + "Octarian Crusade Seal", + "Relic Tasset Plate" + ], + "Gold III": [ + "Tannhauser's Bones", + "Legendary Reliquary of Protection", + "Witchseeker Bolts", + "Digital Weapons", + "Octarian Crusade Seal", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Tannhauser's Bones", + "Grand Strategy", + "Witchseeker Bolts", + "Relic Auxiliary Core", + "Octarian Crusade Seal", + "Ceramite Plates" + ] + }, + "Azrael": { + "Stone I": [ + "Ropes and Chains", + "Minor Bionic Enhancement", + "Vox-Caster", + "Weapon Anointment Oils", + "Rebreather", + "Purity Seal" + ], + "Stone II": [ + "Scrolls", + "Lesser Reliquary of Protection", + "Frag Grenade", + "Plasma Cell", + "Armor Trim", + "Ceramite Lump" + ], + "Stone III": [ + "Ropes and Chains", + "Mission Objective", + "Adamantium Blades", + "Plasma Cell", + "Armor Trim", + "Cloak" + ], + "Iron I": [ + "Satchel", + "Bionic Enhancement", + "Attack Vector Data-Slate", + "Blessed Weapon Oils", + "Blessed Tasset Plate", + "Oath Seal" + ], + "Iron II": [ + "Satchel", + "Reliquary of Protection", + "Belt of Frag Grenades", + "Prey-Sight", + "Blessed Tasset Plate", + "Ceramite Bar" + ], + "Iron III": [ + "Kill Count", + "Battle Plan", + "Chapter Pendant", + "Blessed Weapon Oils", + "Artificer Tasset Plate", + "Fine Cloak" + ], + "Bronze I": [ + "Key of Ignorance", + "Battle Plan", + "Bladesman's Honour", + "Plasma Cell Bundle", + "Impressive Armor Trim", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Key of Knowledge", + "Sanctified Reliquary of Protection", + "Belt of Krak Grenades", + "Plasma Cell Bundle", + "Dark Hood", + "Ceramite Bar" + ], + "Bronze III": [ + "Battle Scar", + "Mars-Pattern Bionics", + "Bolts of Judgement", + "Sanctified Weapon Oils", + "Calibanite Hood", + "Grand Purity Seal" + ], + "Silver I": [ + "Key of Knowledge", + "Greater Reliquary of Protection", + "Bolts of Judgement", + "Relic Hilt", + "Calibanite Hood", + "Ceramite Sheet" + ], + "Silver II": [ + "Key of Knowledge", + "Golden Ornamental Skull", + "Bolts of Furious Vengeance", + "Plasma Cell Crate", + "Inner Circle Hood", + "Grand Purity Seal" + ], + "Silver III": [ + "Key of Achrabael", + "Legendary Reliquary of Protection", + "Bolts of Judgement", + "Digital Weapons", + "Calibanite Hood", + "Divine Cloak" + ], + "Gold I": [ + "Perfidious Relic of the Unforgiven", + "Relic Bionic Enhancement", + "Bolts of Furious Vengeance", + "Powered Blade", + "Inner Circle Hood", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Key of Achrabael", + "Grandiose Skull Ornament", + "Arbiter's Gaze", + "Powered Blade", + "Shroud of Heroes", + "Ceramite Plates" + ], + "Gold III": [ + "Perfidious Relic of the Unforgiven", + "Legendary Reliquary of Protection", + "Arbiter's Gaze", + "Digital Weapons", + "Shroud of Heroes", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Perfidious Relic of the Unforgiven", + "Legendary Reliquary of Protection", + "Arbiter's Gaze", + "Relic Micro-Generator", + "Shroud of Heroes", + "Ceramite Plates" + ] + }, + "Sarquael": { + "Stone I": [ + "Wires", + "Minor Bionic Enhancement", + "Vox-Caster", + "Weapon Anointment Oils", + "Rebreather", + "Purity Seal" + ], + "Stone II": [ + "Wires", + "Lesser Reliquary of Protection", + "Frag Grenade", + "Plasma Cell", + "Armor Trim", + "Ceramite Lump" + ], + "Stone III": [ + "Ropes and Chains", + "The Silver Scope", + "Fine Auxiliary Core", + "Plasma Cell", + "Armor Trim", + "Blessed Tasset Plate" + ], + "Iron I": [ + "Enriched Rations", + "Bionic Enhancement", + "Attack Vector Data-Slate", + "Blessed Weapon Oils", + "Cloak", + "Oath Seal" + ], + "Iron II": [ + "Enriched Rations", + "Reliquary of Protection", + "Belt of Frag Grenades", + "Prey-Sight", + "Cloak", + "Ceramite Bar" + ], + "Iron III": [ + "Kill Count", + "Advanced Bionics", + "Chapter Pendant", + "Blessed Weapon Oils", + "Fine Cloak", + "Artificer Tasset Plate" + ], + "Bronze I": [ + "Key of Ignorance", + "Advanced Bionics", + "Krak Grenade", + "Plasma Cell Bundle", + "Impressive Armor Trim", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Key of Knowledge", + "Sanctified Reliquary of Protection", + "Belt of Krak Grenades", + "Plasma Cell Bundle", + "Dark Hood", + "Ceramite Bar" + ], + "Bronze III": [ + "Battle Scar", + "Mars-Pattern Bionics", + "Bolts of Judgement", + "Sanctified Weapon Oils", + "Calibanite Hood", + "Grand Purity Seal" + ], + "Silver I": [ + "Key of Knowledge", + "Greater Reliquary of Protection", + "Bolts of Judgement", + "Bionic Neural Pathways", + "Calibanite Hood", + "Ceramite Sheet" + ], + "Silver II": [ + "Key of Knowledge", + "Golden Ornamental Skull", + "Bolts of Furious Vengeance", + "Plasma Cell Crate", + "Inner Circle Hood", + "Grand Purity Seal" + ], + "Silver III": [ + "Key of Achrabael", + "Legendary Reliquary of Protection", + "Bolts of Judgement", + "Digital Weapons", + "Calibanite Hood", + "Relic Tasset Plate" + ], + "Gold I": [ + "Perfidious Relic of the Unforgiven", + "Relic Bionic Enhancement", + "Bolts of Furious Vengeance", + "Relic Auxiliary Core", + "Inner Circle Hood", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Key of Achrabael", + "Grandiose Skull Ornament", + "Arbiter's Gaze", + "Relic Auxiliary Core", + "Shroud of Heroes", + "Ceramite Plates" + ], + "Gold III": [ + "Perfidious Relic of the Unforgiven", + "Legendary Reliquary of Protection", + "Arbiter's Gaze", + "Digital Weapons", + "Shroud of Heroes", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Perfidious Relic of the Unforgiven", + "Grand Strategy", + "Arbiter's Gaze", + "Blessed Promethium Tank", + "Shroud of Heroes", + "Ceramite Plates" + ] + }, + "Ulf": { + "Stone I": [ + "Ropes and Chains", + "Field Ration", + "Vox-Caster", + "Weapon Anointment Oils", + "Rebreather", + "Purity Seal" + ], + "Stone II": [ + "Chip Damage", + "Lesser Reliquary of Protection", + "Nasty Spikes", + "Combat Stimms", + "Pile of Salvage", + "Ceramite Lump" + ], + "Stone III": [ + "Ropes and Chains", + "Helmet Trophy", + "Adamantium Blades", + "Combat Stimms", + "Pile of Salvage", + "Ceramite Lump" + ], + "Iron I": [ + "Satchel", + "Enriched Rations", + "Fine Micro-Generator", + "Blessed Weapon Oils", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "Satchel", + "Reliquary of Protection", + "Adamantium Blades", + "Prey-Sight", + "Blessed Tasset Plate", + "Ceramite Bar" + ], + "Iron III": [ + "Kill Count", + "Box of Rations", + "Wolf Tooth Necklace", + "Blessed Weapon Oils", + "Artificer Tasset Plate", + "Ceramite Bar" + ], + "Bronze I": [ + "Wolf Tail Talisman", + "Grand Skull Trophy", + "Bladesman's Honour", + "Advanced Combat Stimms", + "Adamantium Bar", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Runic Talisman", + "Sanctified Reliquary of Protection", + "Powerful Micro-Generator", + "Refined Combat Stimms", + "Beast Hide", + "Ceramite Bar" + ], + "Bronze III": [ + "Battle Scar", + "Grand Helmet Trophy", + "Thunderwolf Tooth Necklace", + "Sanctified Weapon Oils", + "Ice Troll Hide", + "Grand Purity Seal" + ], + "Silver I": [ + "Runic Talisman", + "Greater Reliquary of Protection", + "Thunderwolf Tooth Necklace", + "Relic Hilt", + "Ice Troll Hide", + "Ceramite Sheet" + ], + "Silver II": [ + "Runic Talisman", + "Grand Helmet Trophy", + "Kraken Tooth Necklace", + "Relic Hilt", + "Ice Wyrm Hide", + "Grand Purity Seal" + ], + "Silver III": [ + "Talisman of Storms", + "Legendary Reliquary of Protection", + "Thunderwolf Tooth Necklace", + "Digital Weapons", + "Ice Troll Hide", + "Ceramite Plates" + ], + "Gold I": [ + "Personal Saga", + "Grandiose Skull Ornament", + "Kraken Tooth Necklace", + "Powered Blade", + "Ice Wyrm Hide", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Talisman of Storms", + "Grandiose Skull Ornament", + "Frostblade", + "Powered Blade", + "Runic Tasset Plate", + "Ceramite Plates" + ], + "Gold III": [ + "Personal Saga", + "Legendary Reliquary of Protection", + "Frostblade", + "Digital Weapons", + "Runic Tasset Plate", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Personal Saga", + "Grand Strategy", + "Frostblade", + "Relic Micro-Generator", + "Runic Tasset Plate", + "Ceramite Plates" + ] + }, + "Tjark": { + "Stone I": [ + "Ropes and Chains", + "Field Ration", + "Frag Grenade", + "Weapon Anointment Oils", + "Rebreather", + "Purity Seal" + ], + "Stone II": [ + "Chip Damage", + "Lesser Reliquary of Protection", + "Auspex", + "Fine Micro-Generator", + "Pile of Salvage", + "Ceramite Lump" + ], + "Stone III": [ + "Ropes and Chains", + "Helmet Trophy", + "Belt of Frag Grenades", + "Combat Stimms", + "Pile of Salvage", + "Ceramite Lump" + ], + "Iron I": [ + "Satchel", + "Enriched Rations", + "Divinator Class Auspex", + "Blessed Weapon Oils", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "Satchel", + "Reliquary of Protection", + "Adamantium Blades", + "Prey-Sight", + "Blessed Tasset Plate", + "Ceramite Bar" + ], + "Iron III": [ + "Kill Count", + "Box of Rations", + "Wolf Tooth Necklace", + "Blessed Weapon Oils", + "Artificer Tasset Plate", + "Ceramite Bar" + ], + "Bronze I": [ + "Wolf Tail Talisman", + "Grand Skull Trophy", + "Krak Grenade", + "Advanced Combat Stimms", + "Adamantium Bar", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Runic Talisman", + "Sanctified Reliquary of Protection", + "Belt of Krak Grenades", + "Powerful Micro-Generator", + "Beast Hide", + "Ceramite Bar" + ], + "Bronze III": [ + "Metal Decorative Skull", + "Grand Helmet Trophy", + "Thunderwolf Tooth Necklace", + "Sanctified Weapon Oils", + "Ice Troll Hide", + "Grand Purity Seal" + ], + "Silver I": [ + "Runic Talisman", + "Golden Ornamental Skull", + "Thunderwolf Tooth Necklace", + "Refined Combat Stimms", + "Ice Troll Hide", + "Ceramite Sheet" + ], + "Silver II": [ + "Runic Talisman", + "Grand Helmet Trophy", + "Kraken Tooth Necklace", + "Special Issue Ammo", + "Ice Wyrm Hide", + "Grand Purity Seal" + ], + "Silver III": [ + "Talisman of Storms", + "Legendary Reliquary of Protection", + "Thunderwolf Tooth Necklace", + "Digital Weapons", + "Ice Troll Hide", + "Ceramite Plates" + ], + "Gold I": [ + "Personal Saga", + "Grandiose Skull Ornament", + "Kraken Tooth Necklace", + "Relic Micro-Generator", + "Ice Wyrm Hide", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Talisman of Storms", + "Grandiose Skull Ornament", + "Frostblade", + "Relic Micro-Generator", + "Runic Tasset Plate", + "Ceramite Plates" + ], + "Gold III": [ + "Personal Saga", + "Legendary Reliquary of Protection", + "Frostblade", + "Digital Weapons", + "Runic Tasset Plate", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Personal Saga", + "Grand Strategy", + "Frostblade", + "Relic Micro-Generator", + "Runic Tasset Plate", + "Ceramite Plates" + ] + }, + "Arjac": { + "Stone I": [ + "Ropes and Chains", + "Field Ration", + "Basic Auxiliary Core", + "Weapon Anointment Oils", + "Rebreather", + "Purity Seal" + ], + "Stone II": [ + "Chip Damage", + "Lesser Reliquary of Protection", + "Vox-Caster", + "Fine Micro-Generator", + "Pile of Salvage", + "Ceramite Lump" + ], + "Stone III": [ + "Wires", + "Helmet Trophy", + "Fine Auxiliary Core", + "Combat Stimms", + "Pile of Salvage", + "Ceramite Lump" + ], + "Iron I": [ + "Reinforced Cables", + "Enriched Rations", + "Locator Beacon", + "Blessed Weapon Oils", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "Reinforced Cables", + "Reliquary of Protection", + "Adamantium Blades", + "Prey-Sight", + "Blessed Tasset Plate", + "Ceramite Bar" + ], + "Iron III": [ + "Kill Count", + "Box of Rations", + "Wolf Tooth Necklace", + "Blessed Weapon Oils", + "Artificer Tasset Plate", + "Ceramite Bar" + ], + "Bronze I": [ + "Wolf Tail Talisman", + "Grand Skull Trophy", + "Bladesman's Honour", + "Advanced Combat Stimms", + "Adamantium Bar", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Runic Talisman", + "Sanctified Reliquary of Protection", + "Anointed Auxiliary Core", + "Powerful Micro-Generator", + "Beast Hide", + "Ceramite Bar" + ], + "Bronze III": [ + "Battle Scar", + "Mars-Pattern Bionics", + "Thunderwolf Tooth Necklace", + "Sanctified Weapon Oils", + "Ice Troll Hide", + "Grand Purity Seal" + ], + "Silver I": [ + "Runic Talisman", + "Golden Ornamental Skull", + "Thunderwolf Tooth Necklace", + "Refined Combat Stimms", + "Ice Troll Hide", + "Ceramite Sheet" + ], + "Silver II": [ + "Runic Talisman", + "Grand Helmet Trophy", + "Kraken Tooth Necklace", + "Special Issue Ammo", + "Ice Wyrm Hide", + "Grand Purity Seal" + ], + "Silver III": [ + "Talisman of Storms", + "Legendary Reliquary of Protection", + "Thunderwolf Tooth Necklace", + "Digital Weapons", + "Ice Troll Hide", + "Ceramite Plates" + ], + "Gold I": [ + "Personal Saga", + "Relic Bionic Enhancement", + "Kraken Tooth Necklace", + "Relic Micro-Generator", + "Ice Wyrm Hide", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Talisman of Storms", + "Grandiose Skull Ornament", + "Frostblade", + "Powered Blade", + "Runic Tasset Plate", + "Ceramite Plates" + ], + "Gold III": [ + "Personal Saga", + "Legendary Reliquary of Protection", + "Frostblade", + "Digital Weapons", + "Runic Tasset Plate", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Personal Saga", + "Grand Strategy", + "Frostblade", + "Relic Micro-Generator", + "Runic Tasset Plate", + "Ceramite Plates" + ] + }, + "Njal Stormcaller": { + "Stone I": [ + "Healing Ointment", + "The Iron Phoenix", + "Auspex", + "Weapon Anointment Oils", + "Armor Trim", + "Fine Purity Seal" + ], + "Stone II": [ + "Field Ration", + "Ropes and Chains", + "Fine Micro-Generator", + "Blessed Weapon Oils", + "Rebreather", + "Purity Seal" + ], + "Stone III": [ + "Enriched Rations", + "Holster and Pockets", + "Otherworldly Energy", + "Basic Auxiliary Core", + "Blessed Tasset Plate", + "Oath Seal" + ], + "Iron I": ["First Aid Kit", "Writings", "Fine Micro-Generator", "Locator Beacon", "Cloak", "Adamantium Lump"], + "Iron II": [ + "Enriched Rations", + "Grandiloquent Litanical", + "Otherworldly Energy Reservoir", + "Divinator Class Auspex", + "Artificer Tasset Plate", + "Oath Seal" + ], + "Iron III": [ + "Box of Rations", + "The Gold Phoenix", + "Wolf Tooth Necklace", + "Powerful Auxiliary Core", + "Adamantium Lump", + "Subdermal Plating" + ], + "Bronze I": [ + "Wolf Tail Talisman", + "The Phoenix Ascendant", + "Supernatural Sight", + "Classified Data-Slate", + "Fine Cloak", + "Ceramite Bar" + ], + "Bronze II": [ + "Runic Talisman", + "Utilitarian Belt", + "Bionic Eye", + "Anointed Auxiliary Core", + "Beast Hide", + "Blessed Purity Seal" + ], + "Bronze III": [ + "Ancient Runes", + "Grand Helmet Trophy", + "Thunderwolf Tooth Necklace", + "Sanctified Weapon Oils", + "Ice Troll Hide", + "Revered Talisman" + ], + "Silver I": [ + "Runic Talisman", + "Terminator Honours", + "Thunderwolf Tooth Necklace", + "Warp Locus", + "Ice Troll Hide", + "Ceramite Sheet" + ], + "Silver II": [ + "Mjod", + "Greater Reliquary of Protection", + "Kraken Tooth Necklace", + "Anointed Auxiliary Core", + "Ice Troll Hide", + "Grand Purity Seal" + ], + "Silver III": [ + "Runic Talisman", + "Tome of Arcane Knowledge", + "Thunderwolf Tooth Necklace", + "Digital Weapons", + "Psyk-Conductive Material", + "Ceramite Plates" + ], + "Gold I": [ + "Talisman of Storms", + "Grandiose Skull Ornament", + "Psychic Force Conduit", + "Relic Auxiliary Core", + "Ice Wyrm Hide", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Personal Saga", + "Legendary Reliquary of Protection", + "Kraken Tooth Necklace", + "Digital Weapons", + "Ice Wyrm Hide", + "Divine Cloak" + ], + "Gold III": [ + "Talisman of Storms", + "Tome of Arcane Knowledge", + "Frostblade", + "Psychic Focus", + "Runic Tasset Plate", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Personal Saga", + "Grand Strategy", + "Frostblade", + "Relic Micro-Generator", + "Runic Tasset Plate", + "Ceramite Plates" + ] + }, + "Varro Tigurius": { + "Stone I": [ + "Lesser Reliquary of Protection", + "Enriched Rations", + "Auspex", + "Basic Auxiliary Core", + "Purity Seal", + "Fine Purity Seal" + ], + "Stone II": [ + "Field Ration", + "Reliquary of Protection", + "Ballistics Data", + "Marksman's Honour", + "Fine Purity Seal", + "Box of Salvage" + ], + "Stone III": [ + "Repair-Kit", + "Bionic Enhancement", + "Single Power Pack", + "Reliquary of Vengeance", + "Pile of Salvage", + "Ceramite Lump" + ], + "Iron I": [ + "Reliquary of Protection", + "Repair-Kit", + "Power Pack Bundle", + "Locator Beacon", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "Repair-Kit", + "The Phoenix Ascendant", + "Belt of Frag Grenades", + "High-Capacity Power Pack", + "Box of Salvage", + "Blessed Purity Seal" + ], + "Iron III": [ + "Bionic Enhancement", + "Terminator Honours", + "Box of Ammo", + "Bladesman's Honour", + "Box of Salvage", + "Grand Purity Seal" + ], + "Bronze I": [ + "Box of Rations", + "Zeidos Ribbon", + "Plasma Cell Bundle", + "Bladesman's Honour", + "Blessed Purity Seal", + "Ceramite Bar" + ], + "Bronze II": [ + "The Phoenix Ascendant", + "Greater Reliquary of Protection", + "Box of Ammo", + "Anointed Auxiliary Core", + "Artificer Tasset Plate", + "Grand Purity Seal" + ], + "Bronze III": [ + "The Phoenix Ascendant", + "Mars-Pattern Bionics", + "Powerful Micro-Generator", + "Relic Micro-Generator", + "Grand Purity Seal", + "Ceramite Sheet" + ], + "Silver I": [ + "Mars-Pattern Bionics", + "Greater Reliquary of Protection", + "Belt of Krak Grenades", + "Relic Micro-Generator", + "Grand Purity Seal", + "Duplicate Organ" + ], + "Silver II": [ + "Terminator Honours", + "Mars-Pattern Bionics", + "Plasma Cell Crate", + "Legendary Reliquary of Vengeance", + "Ceramite Sheet", + "Grand Purity Seal" + ], + "Silver III": [ + "Grandiose Skull Ornament", + "Legendary Reliquary of Protection", + "Digital Weapons", + "Legendary Reliquary of Vengeance", + "Ceramite Plates", + "Divine Cloak" + ], + "Gold I": [ + "Codex Astartes", + "Tome of Arcane Knowledge", + "Relic Micro-Generator", + "Legendary Reliquary of Vengeance", + "Ceramite Plates", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Grandiose Skull Ornament", + "Tome of Arcane Knowledge", + "Relic Micro-Generator", + "Hellfury Bolts", + "Adamantine Mantle", + "Divine Cloak" + ], + "Gold III": [ + "Codex Astartes", + "Legendary Reliquary of Protection", + "Digital Weapons", + "Hellfury Bolts", + "Adamantine Mantle", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Codex Astartes", + "Tome of Arcane Knowledge", + "Hellfury Bolts", + "Relic Auxiliary Core", + "Adamantine Mantle", + "Ceramite Plates" + ] + }, + "Certus": { + "Stone I": [ + "Field Ration", + "Enriched Rations", + "Frag Grenade", + "Weapon Anointment Oils", + "Purity Seal", + "Adamantium Ore" + ], + "Stone II": [ + "Lesser Reliquary of Protection", + "The Silver Scope", + "Auspex", + "Marksman's Honour", + "Fine Purity Seal", + "Oath Seal" + ], + "Stone III": [ + "Healing Ointment", + "The Silver Scope", + "Tank of Promethium", + "Plasma Cell Bundle", + "Air Purificator", + "Air Purificator" + ], + "Iron I": [ + "Bionic Enhancement", + "First Aid Kit", + "Krak Grenade", + "Plasma Cell Bundle", + "Ceramite Lump", + "Air Purificator" + ], + "Iron II": [ + "Reliquary of Protection", + "Metal Decorative Skull", + "Plasma Cell Bundle", + "High-Capacity Power Pack", + "Ceramite Lump", + "Blessed Purity Seal" + ], + "Iron III": [ + "The Silver Scope", + "Box of Rations", + "Bionic Eye", + "Greater Reliquary of Vengeance", + "Adamantium Lump", + "Grand Purity Seal" + ], + "Bronze I": [ + "Advanced Bionics", + "Terminator Honours", + "Classified Data-Slate", + "Plasma Cell Crate", + "Ceramite Bar", + "Ceramite Sheet" + ], + "Bronze II": [ + "Mars-Pattern Bionics", + "Kill Count", + "Powerful Micro-Generator", + "Plasma Cell Crate", + "Grand Purity Seal", + "Ceramite Sheet" + ], + "Bronze III": [ + "Legendary Reliquary of Protection", + "Sanctified Reliquary of Protection", + "Classified Data-Slate", + "Relic Micro-Generator", + "Grand Purity Seal", + "Adamantium Sheet" + ], + "Silver I": [ + "Mars-Pattern Bionics", + "Exquisite Medical Supplies", + "Plasma Cell Crate", + "Relic Auxiliary Core", + "Adamantium Sheet", + "Duplicate Organ" + ], + "Silver II": [ + "Terminator Honours", + "Mars-Pattern Bionics", + "Plasma Cell Crate", + "Legendary Reliquary of Vengeance", + "Ceramite Sheet", + "Grand Purity Seal" + ], + "Silver III": [ + "Grandiose Skull Ornament", + "Legendary Reliquary of Protection", + "Digital Weapons", + "Legendary Reliquary of Vengeance", + "Ceramite Plates", + "Divine Cloak" + ], + "Gold I": [ + "Codex Astartes", + "Relic Bionic Enhancement", + "Autoloader", + "Legendary Reliquary of Vengeance", + "Ceramite Plates", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Grandiose Skull Ornament", + "Relic Bionic Enhancement", + "Autoloader", + "Hellfury Bolts", + "Adamantine Mantle", + "Divine Cloak" + ], + "Gold III": [ + "Codex Astartes", + "Legendary Reliquary of Protection", + "Digital Weapons", + "Hellfury Bolts", + "Adamantine Mantle", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Codex Astartes", + "Legendary Reliquary of Protection", + "Hellfury Bolts", + "Relic Auxiliary Core", + "Adamantine Mantle", + "Ceramite Plates" + ] + }, + "Bellator": { + "Stone I": [ + "Field Ration", + "Reliquary of Protection", + "Round of Ammo", + "Lesser Reliquary of Vengeance", + "Purity Seal", + "Pile of Salvage" + ], + "Stone II": [ + "Healing Ointment", + "The Silver Scope", + "Frag Grenade", + "Barrel of Promethium", + "Pile of Salvage", + "Box of Salvage" + ], + "Stone III": [ + "Reliquary of Protection", + "First Aid Kit", + "Round of Ammo", + "Krak Grenade", + "Ceramite Lump", + "Air Purificator" + ], + "Iron I": [ + "First Aid Kit", + "Metal Decorative Skull", + "Barrel of Promethium", + "Krak Grenade", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "The Phoenix Ascendant", + "Zeidos Ribbon", + "Power Pack Bundle", + "Fine Auxiliary Core", + "Oath Seal", + "Box of Salvage" + ], + "Iron III": [ + "Bionic Enhancement", + "Greater Reliquary of Protection", + "Bionic Eye", + "Special Issue Ammo", + "Oath Seal", + "Grand Purity Seal" + ], + "Bronze I": [ + "Box of Rations", + "Medical Supply Crate", + "Krak Grenade", + "Powerful Auxiliary Core", + "Advanced Rebreather", + "Grand Purity Seal" + ], + "Bronze II": [ + "Zeidos Ribbon", + "Mars-Pattern Bionics", + "Powerful Auxiliary Core", + "Anointed Micro-Generator", + "Blessed Purity Seal", + "Ceramite Bar" + ], + "Bronze III": [ + "The Phoenix Ascendant", + "Relic Bionic Enhancement", + "Powerful Auxiliary Core", + "Anointed Micro-Generator", + "Blessed Purity Seal", + "Ceramite Sheet" + ], + "Silver I": [ + "Greater Reliquary of Protection", + "Relic Bionic Enhancement", + "Anointed Micro-Generator", + "Legendary Reliquary of Vengeance", + "Grand Purity Seal", + "Duplicate Organ" + ], + "Silver II": [ + "Terminator Honours", + "Mars-Pattern Bionics", + "Plasma Cell Crate", + "Legendary Reliquary of Vengeance", + "Ceramite Sheet", + "Grand Purity Seal" + ], + "Silver III": [ + "Grandiose Skull Ornament", + "Legendary Reliquary of Protection", + "Digital Weapons", + "Legendary Reliquary of Vengeance", + "Ceramite Plates", + "Relic Tasset Plate" + ], + "Gold I": [ + "Codex Astartes", + "Relic Bionic Enhancement", + "Autoloader", + "Legendary Reliquary of Vengeance", + "Ceramite Plates", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Grandiose Skull Ornament", + "Relic Bionic Enhancement", + "Autoloader", + "Hellfury Bolts", + "Adamantine Mantle", + "Relic Tasset Plate" + ], + "Gold III": [ + "Codex Astartes", + "Legendary Reliquary of Protection", + "Digital Weapons", + "Hellfury Bolts", + "Adamantine Mantle", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Codex Astartes", + "Legendary Reliquary of Protection", + "Hellfury Bolts", + "Relic Auxiliary Core", + "Adamantine Mantle", + "Ceramite Plates" + ] + }, + "Incisus": { + "Stone I": [ + "The Iron Phoenix", + "Enriched Rations", + "Frag Grenade", + "Ballistics Data", + "Purity Seal", + "Fine Purity Seal" + ], + "Stone II": [ + "Standard-Issue Tourniquet", + "The Silver Scope", + "Canister of Chemicals", + "Reliquary of Vengeance", + "Fine Purity Seal", + "Box of Salvage" + ], + "Stone III": [ + "Enriched Rations", + "First Aid Kit", + "Weapon Anointment Oils", + "Tank of Promethium", + "Ceramite Lump", + "Air Purificator" + ], + "Iron I": [ + "Reliquary of Protection", + "First Aid Kit", + "Divinator Class Auspex", + "Tank of Promethium", + "Adamantium Lump", + "Advanced Rebreather" + ], + "Iron II": [ + "Bionic Enhancement", + "The Gold Phoenix", + "Marksman's Honour", + "Box of Ammo", + "Box of Salvage", + "Blessed Purity Seal" + ], + "Iron III": [ + "Reliquary of Protection", + "Terminator Honours", + "Bladesman's Honour", + "Anointed Auxiliary Core", + "Advanced Rebreather", + "Grand Purity Seal" + ], + "Bronze I": [ + "Advanced Bionics", + "Greater Reliquary of Protection", + "Belt of Krak Grenades", + "Bionic Neural Pathways", + "Blessed Purity Seal", + "Grand Purity Seal" + ], + "Bronze II": [ + "Medical Supply Crate", + "Terminator Honours", + "Box of Ammo", + "Belt of Krak Grenades", + "Grand Purity Seal", + "Ceramite Sheet" + ], + "Bronze III": [ + "Mars-Pattern Bionics", + "Terminator Honours", + "Belt of Krak Grenades", + "Relic Micro-Generator", + "Ceramite Bar", + "Adamantium Sheet" + ], + "Silver I": [ + "Terminator Honours", + "Relic Bionic Enhancement", + "Plasma Cell Crate", + "Relic Micro-Generator", + "Adamantium Sheet", + "Duplicate Organ" + ], + "Silver II": [ + "Terminator Honours", + "Mars-Pattern Bionics", + "Plasma Cell Crate", + "Legendary Reliquary of Vengeance", + "Ceramite Sheet", + "Grand Purity Seal" + ], + "Silver III": [ + "Grandiose Skull Ornament", + "Legendary Reliquary of Protection", + "Digital Weapons", + "Legendary Reliquary of Vengeance", + "Ceramite Plates", + "Relic Tasset Plate" + ], + "Gold I": [ + "Codex Astartes", + "Relic Bionic Enhancement", + "Relic Micro-Generator", + "Legendary Reliquary of Vengeance", + "Ceramite Plates", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Grandiose Skull Ornament", + "Relic Bionic Enhancement", + "Relic Micro-Generator", + "Hellfury Bolts", + "Adamantine Mantle", + "Relic Tasset Plate" + ], + "Gold III": [ + "Codex Astartes", + "Legendary Reliquary of Protection", + "Digital Weapons", + "Hellfury Bolts", + "Adamantine Mantle", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Codex Astartes", + "Legendary Reliquary of Protection", + "Hellfury Bolts", + "Blessed Promethium Tank", + "Adamantine Mantle", + "Ceramite Plates" + ] + }, + "Marneus Calgar": { + "Stone I": [ + "Ropes and Chains", + "Mission Assignment", + "Vox-Caster", + "Weapon Anointment Oils", + "Adamantium Ore", + "Purity Seal" + ], + "Stone II": [ + "Ropes and Chains", + "Lesser Reliquary of Protection", + "Basic Auxiliary Core", + "Marksman's Honour", + "Armor Trim", + "Blessed Tasset Plate" + ], + "Stone III": [ + "The Silver Aquila", + "Reliquary of Protection", + "Fine Auxiliary Core", + "Bladesman's Honour", + "Armor Trim", + "Cloak" + ], + "Iron I": [ + "The Gold Phoenix", + "Mission Objective", + "Locator Beacon", + "Blessed Weapon Oils", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "The Silver Eagle with Swords", + "Reliquary of Protection", + "Magazine", + "Prey-Sight", + "Ceramite Lump", + "Ceramite Bar" + ], + "Iron III": [ + "Kill Count", + "Electromantic Cable Bundle", + "Greater Reliquary of Vengeance", + "Blessed Weapon Oils", + "Ceramite Lump", + "Fine Cloak" + ], + "Bronze I": [ + "The Phoenix Ascendant", + "Battle Plan", + "Bionic Eye", + "Advanced Combat Stimms", + "Impressive Armor Trim", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Terminator Honours", + "Sanctified Reliquary of Protection", + "Anointed Auxiliary Core", + "Plasma Cell Bundle", + "Ceramite Bar", + "Adamantium Bar" + ], + "Bronze III": [ + "Terminator Honours", + "Advanced Bionics", + "Legendary Reliquary of Vengeance", + "Sanctified Weapon Oils", + "Ceramite Sheet", + "Grand Purity Seal" + ], + "Silver I": [ + "Grandiose Skull Ornament", + "Greater Reliquary of Protection", + "Legendary Reliquary of Vengeance", + "Bionic Neural Pathways", + "Ceramite Sheet", + "Ancient Tasset Plate" + ], + "Silver II": [ + "Grand Helmet Trophy", + "Mars-Pattern Bionics", + "Greater Reliquary of Vengeance", + "Plasma Cell Crate", + "Ceramite Sheet", + "Grand Purity Seal" + ], + "Silver III": [ + "Grandiose Skull Ornament", + "Legendary Reliquary of Protection", + "Legendary Reliquary of Vengeance", + "Digital Weapons", + "Purity Seal of the Primarch", + "Relic Tasset Plate" + ], + "Gold I": [ + "Codex Astartes", + "Grandiose Skull Ornament", + "Legendary Reliquary of Vengeance", + "Powered Blade", + "Ceramite Plates", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Grandiose Skull Ornament", + "Relic Bionic Enhancement", + "Hellfury Bolts", + "Powered Blade", + "Adamantine Mantle", + "Relic Tasset Plate" + ], + "Gold III": [ + "Codex Astartes", + "Legendary Reliquary of Protection", + "Hellfury Bolts", + "Digital Weapons", + "Adamantine Mantle", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Codex Astartes", + "Legendary Reliquary of Protection", + "Hellfury Bolts", + "Relic Auxiliary Core", + "Adamantine Mantle", + "Ceramite Plates" + ] + }, + "Calandis": { + "Stone I": [ + "Standard-Issue Tourniquet", + "Healing Ointment", + "Single Power Pack", + "Targeting Link", + "Pile of Salvage", + "Pile of Salvage" + ], + "Stone II": [ + "Ropes and Chains", + "Adamantium Filaments", + "Ballistics Data", + "Plasma Cell", + "Adamantium Ore", + "Cloak" + ], + "Stone III": ["Scrolls", "Enriched Rations", "Power Pack Bundle", "Plasma Cell", "Armor Trim", "Cloak"], + "Iron I": [ + "Satchel", + "Advanced Filaments", + "Locator Beacon", + "Targeting Matrix", + "Adamantium Lump", + "Mesh Weave" + ], + "Iron II": [ + "Satchel", + "Enriched Rations", + "Power Pack Bundle", + "Supernatural Sight", + "Air Purificator", + "Fine Cloak" + ], + "Iron III": [ + "Advanced Bionics", + "Ancient Runes", + "Psytronome", + "Targeting Matrix", + "Box of Salvage", + "Fine Cloak" + ], + "Bronze I": [ + "Waystone", + "Medical Supply Crate", + "High-Capacity Power Pack", + "Plasma Cell Bundle", + "Crate of Salvage", + "Mesh Weave Garment" + ], + "Bronze II": [ + "Spirit Stone", + "Box of Rations", + "High-Capacity Power Pack", + "Plasma Cell Crate", + "Wraithbone Plate", + "Decorated Cloak" + ], + "Bronze III": [ + "Kill Count", + "Exquisite Medical Supplies", + "Filligrane Psytronome", + "Ratiocination Targeting", + "Filligrane Wraithbone Plate", + "Advanced Mesh Weave Garment" + ], + "Silver I": [ + "Spirit Stone", + "Ominous Xenos Glyphs", + "Filligrane Psytronome", + "Bionic Neural Pathways", + "Filligrane Wraithbone Plate", + "Decorated Cloak" + ], + "Silver II": [ + "Spirit Stone", + "Golden Ornamental Skull", + "Soul-Bonded Psytronome", + "Plasma Cell Crate", + "Soul-Bonded Wraithbone Plate", + "Advanced Mesh Weave Garment" + ], + "Silver III": [ + "Resplendent Spirit Stone", + "Portentious Xenos Glyphs", + "Filligrane Psytronome", + "Overcapacitator", + "Filligrane Wraithbone Plate", + "Divine Cloak" + ], + "Gold I": [ + "Scriptures of Fate", + "Relic Bionic Enhancement", + "Soul-Bonded Psytronome", + "Relic Micro-Generator", + "Soul-Bonded Wraithbone Plate", + "Mysterious Device" + ], + "Gold II": [ + "Resplendent Spirit Stone", + "Relic Bionic Enhancement", + "Scriptures of Battle", + "Relic Micro-Generator", + "Scriptures of Fortune", + "Divine Cloak" + ], + "Gold III": [ + "Scriptures of Fate", + "Portentious Xenos Glyphs", + "Scriptures of Battle", + "Overcapacitator", + "Scriptures of Fortune", + "Mysterious Device" + ], + "Diamond I": [ + "Scriptures of Fate", + "Grand Strategy", + "Scriptures of Battle", + "Relic Micro-Generator", + "Scriptures of Fortune", + "Sophisticated Material Plates" + ] + }, + "Aethana": { + "Stone I": [ + "Ropes and Chains", + "Mission Assignment", + "Basic Auxiliary Core", + "Targeting Link", + "Adamantium Ore", + "Adamantium Ore" + ], + "Stone II": ["Scrolls", "Adamantium Filaments", "Vox-Caster", "Plasma Cell", "Armor Trim", "Cloak"], + "Stone III": [ + "Standard-Issue Tourniquet", + "Mission Assignment", + "Fine Auxiliary Core", + "Plasma Cell", + "Armor Trim", + "Mesh Weave" + ], + "Iron I": [ + "Satchel", + "Advanced Filaments", + "Locator Beacon", + "Targeting Matrix", + "Adamantium Lump", + "Mesh Weave" + ], + "Iron II": [ + "Writings", + "Helmet Trophy", + "Fine Auxiliary Core", + "Supernatural Sight", + "Air Purificator", + "Fine Cloak" + ], + "Iron III": [ + "Advanced Bionics", + "Ancient Runes", + "Psytronome", + "Targeting Matrix", + "Air Purificator", + "Fine Cloak" + ], + "Bronze I": [ + "Waystone", + "Battle Plan", + "Bionic Eye", + "Plasma Cell Bundle", + "Impressive Armor Trim", + "Mesh Weave Garment" + ], + "Bronze II": [ + "Spirit Stone", + "Battle Plan", + "Powerful Auxiliary Core", + "Plasma Cell Crate", + "Wraithbone Plate", + "Fine Cloak" + ], + "Bronze III": [ + "Kill Count", + "Grand Helmet Trophy", + "Filligrane Psytronome", + "Ratiocination Targeting", + "Filligrane Wraithbone Plate", + "Advanced Mesh Weave Garment" + ], + "Silver I": [ + "Spirit Stone", + "Ominous Xenos Glyphs", + "Filligrane Psytronome", + "Bionic Neural Pathways", + "Filligrane Wraithbone Plate", + "Decorated Cloak" + ], + "Silver II": [ + "Spirit Stone", + "Golden Ornamental Skull", + "Soul-Bonded Psytronome", + "Plasma Cell Crate", + "Soul-Bonded Wraithbone Plate", + "Advanced Mesh Weave Garment" + ], + "Silver III": [ + "Resplendent Spirit Stone", + "Portentious Xenos Glyphs", + "Filligrane Psytronome", + "Overcapacitator", + "Filligrane Wraithbone Plate", + "Divine Cloak" + ], + "Gold I": [ + "Scriptures of Fate", + "Relic Bionic Enhancement", + "Soul-Bonded Psytronome", + "Powered Blade", + "Soul-Bonded Wraithbone Plate", + "Mysterious Device" + ], + "Gold II": [ + "Resplendent Spirit Stone", + "Relic Bionic Enhancement", + "Scriptures of Battle", + "Powered Blade", + "Scriptures of Fortune", + "Divine Cloak" + ], + "Gold III": [ + "Scriptures of Fate", + "Portentious Xenos Glyphs", + "Scriptures of Battle", + "Overcapacitator", + "Scriptures of Fortune", + "Mysterious Device" + ], + "Diamond I": [ + "Scriptures of Fate", + "Grand Strategy", + "Scriptures of Battle", + "Relic Micro-Generator", + "Scriptures of Fortune", + "Sophisticated Material Plates" + ] + }, + "Eldryon": { + "Stone I": [ + "Mission Assignment", + "Healing Ointment", + "Basic Auxiliary Core", + "Targeting Link", + "Adamantium Ore", + "Adamantium Ore" + ], + "Stone II": ["Scrolls", "Adamantium Filaments", "Vox-Caster", "Fine Micro-Generator", "Armor Trim", "Cloak"], + "Stone III": ["Scrolls", "Satchel", "Fine Auxiliary Core", "Fine Micro-Generator", "Armor Trim", "Mesh Weave"], + "Iron I": [ + "Writings", + "Advanced Filaments", + "Attack Vector Data-Slate", + "Targeting Matrix", + "Adamantium Lump", + "Mesh Weave" + ], + "Iron II": [ + "Writings", + "Satchel", + "Fine Auxiliary Core", + "Supernatural Sight", + "Air Purificator", + "Fine Cloak" + ], + "Iron III": ["Battle Plan", "Ancient Runes", "Psytronome", "Targeting Matrix", "Air Purificator", "Fine Cloak"], + "Bronze I": [ + "Waystone", + "Medical Supply Crate", + "Classified Data-Slate", + "Powerful Micro-Generator", + "Impressive Armor Trim", + "Mesh Weave Garment" + ], + "Bronze II": [ + "Spirit Stone", + "Medical Supply Crate", + "Powerful Auxiliary Core", + "Anointed Micro-Generator", + "Wraithbone Plate", + "Fine Cloak" + ], + "Bronze III": [ + "Kill Count", + "Exquisite Medical Supplies", + "Filligrane Psytronome", + "Ratiocination Targeting", + "Filligrane Wraithbone Plate", + "Advanced Mesh Weave Garment" + ], + "Silver I": [ + "Spirit Stone", + "Ominous Xenos Glyphs", + "Filligrane Psytronome", + "Bionic Neural Pathways", + "Filligrane Wraithbone Plate", + "Decorated Cloak" + ], + "Silver II": [ + "Spirit Stone", + "Golden Ornamental Skull", + "Soul-Bonded Psytronome", + "Anointed Micro-Generator", + "Soul-Bonded Wraithbone Plate", + "Advanced Mesh Weave Garment" + ], + "Silver III": [ + "Resplendent Spirit Stone", + "Portentious Xenos Glyphs", + "Filligrane Psytronome", + "Overcapacitator", + "Filligrane Wraithbone Plate", + "Divine Cloak" + ], + "Gold I": [ + "Scriptures of Fate", + "Tome of Arcane Knowledge", + "Soul-Bonded Psytronome", + "Relic Micro-Generator", + "Soul-Bonded Wraithbone Plate", + "Mysterious Device" + ], + "Gold II": [ + "Resplendent Spirit Stone", + "Tome of Arcane Knowledge", + "Scriptures of Battle", + "Relic Micro-Generator", + "Scriptures of Fortune", + "Divine Cloak" + ], + "Gold III": [ + "Scriptures of Fate", + "Portentious Xenos Glyphs", + "Scriptures of Battle", + "Overcapacitator", + "Scriptures of Fortune", + "Mysterious Device" + ], + "Diamond I": [ + "Scriptures of Fate", + "Tome of Arcane Knowledge", + "Scriptures of Battle", + "Relic Auxiliary Core", + "Scriptures of Fortune", + "Sophisticated Material Plates" + ] + }, + "Maugan Ra": { + "Stone I": [ + "Ropes and Chains", + "Wires", + "Basic Auxiliary Core", + "Targeting Link", + "Adamantium Ore", + "Adamantium Ore" + ], + "Stone II": [ + "Mission Assignment", + "Adamantium Filaments", + "Ballistics Data", + "Plasma Cell", + "Armor Trim", + "Cloak" + ], + "Stone III": [ + "Ropes and Chains", + "Artificial Vertebrae", + "Fine Auxiliary Core", + "Plasma Cell", + "Armor Trim", + "Mesh Weave" + ], + "Iron I": [ + "Mission Objective", + "Advanced Filaments", + "Locator Beacon", + "Targeting Matrix", + "Adamantium Lump", + "Mesh Weave" + ], + "Iron II": [ + "Satchel", + "Artificial Vertebrae", + "Fine Auxiliary Core", + "Supernatural Sight", + "Air Purificator", + "Fine Cloak" + ], + "Iron III": [ + "Battle Plan", + "Metal Decorative Skull", + "Psytronome", + "Targeting Matrix", + "Air Purificator", + "Fine Cloak" + ], + "Bronze I": [ + "Waystone", + "Grand Skull Trophy", + "Bionic Eye", + "Plasma Cell Bundle", + "Impressive Armor Trim", + "Mesh Weave Garment" + ], + "Bronze II": [ + "Spirit Stone", + "Grand Skull Trophy", + "Powerful Auxiliary Core", + "Plasma Cell Crate", + "Wraithbone Plate", + "Fine Cloak" + ], + "Bronze III": [ + "Kill Count", + "Exospine", + "Filligrane Psytronome", + "Ratiocination Targeting", + "Filligrane Wraithbone Plate", + "Advanced Mesh Weave Garment" + ], + "Silver I": [ + "Spirit Stone", + "Ominous Xenos Glyphs", + "Filligrane Psytronome", + "Bionic Neural Pathways", + "Filligrane Wraithbone Plate", + "Decorated Cloak" + ], + "Silver II": [ + "Spirit Stone", + "Golden Ornamental Skull", + "Soul-Bonded Psytronome", + "Plasma Cell Crate", + "Soul-Bonded Wraithbone Plate", + "Advanced Mesh Weave Garment" + ], + "Silver III": [ + "Resplendent Spirit Stone", + "Portentious Xenos Glyphs", + "Filligrane Psytronome", + "Overcapacitator", + "Filligrane Wraithbone Plate", + "Divine Cloak" + ], + "Gold I": [ + "Scriptures of Fate", + "Advanced Exospine", + "Soul-Bonded Psytronome", + "Autoloader", + "Soul-Bonded Wraithbone Plate", + "Mysterious Device" + ], + "Gold II": [ + "Resplendent Spirit Stone", + "Advanced Exospine", + "Scriptures of Battle", + "Autoloader", + "Scriptures of Fortune", + "Sophisticated Material Plates" + ], + "Gold III": [ + "Scriptures of Fate", + "Portentious Xenos Glyphs", + "Scriptures of Battle", + "Overcapacitator", + "Scriptures of Fortune", + "Mysterious Device" + ], + "Diamond I": [ + "Scriptures of Fate", + "Grand Strategy", + "Scriptures of Battle", + "Relic Micro-Generator", + "Scriptures of Fortune", + "Sophisticated Material Plates" + ] + }, + "Jain Zar": { + "Stone I": [ + "Ropes and Chains", + "Standard-Issue Tourniquet", + "Basic Auxiliary Core", + "Targeting Link", + "Sophisticated Material", + "Adamantium Ore" + ], + "Stone II": [ + "Ropes and Chains", + "Adamantium Filaments", + "Vox-Caster", + "Fine Micro-Generator", + "Metal Joints", + "Cloak" + ], + "Stone III": [ + "Ropes and Chains", + "Helmet Trophy", + "Fine Auxiliary Core", + "Combat Stimms", + "Metal Joints", + "Mesh Weave" + ], + "Iron I": [ + "Mission Objective", + "Advanced Filaments", + "Locator Beacon", + "Targeting Matrix", + "Adamantium Lump", + "Mesh Weave" + ], + "Iron II": [ + "Mission Objective", + "Helmet Trophy", + "Fine Auxiliary Core", + "Supernatural Sight", + "Air Purificator", + "Fine Cloak" + ], + "Iron III": ["Battle Plan", "Ancient Runes", "Psytronome", "Targeting Matrix", "Air Purificator", "Fine Cloak"], + "Bronze I": [ + "Waystone", + "Advanced Bionics", + "Bionic Eye", + "Powerful Micro-Generator", + "Impressive Armor Trim", + "Mesh Weave Garment" + ], + "Bronze II": [ + "Spirit Stone", + "Advanced Bionics", + "Powerful Auxiliary Core", + "Refined Combat Stimms", + "Wraithbone Plate", + "Fine Cloak" + ], + "Bronze III": [ + "Kill Count", + "Grand Helmet Trophy", + "Filligrane Psytronome", + "Ratiocination Targeting", + "Filligrane Wraithbone Plate", + "Advanced Mesh Weave Garment" + ], + "Silver I": [ + "Spirit Stone", + "Ominous Xenos Glyphs", + "Filligrane Psytronome", + "Bionic Neural Pathways", + "Filligrane Wraithbone Plate", + "Decorated Cloak" + ], + "Silver II": [ + "Spirit Stone", + "Golden Ornamental Skull", + "Soul-Bonded Psytronome", + "Anointed Micro-Generator", + "Soul-Bonded Wraithbone Plate", + "Advanced Mesh Weave Garment" + ], + "Silver III": [ + "Resplendent Spirit Stone", + "Portentious Xenos Glyphs", + "Filligrane Psytronome", + "Overcapacitator", + "Filligrane Wraithbone Plate", + "Divine Cloak" + ], + "Gold I": [ + "Scriptures of Fate", + "Grandiose Skull Ornament", + "Soul-Bonded Psytronome", + "Powered Blade", + "Soul-Bonded Wraithbone Plate", + "Divine Cloak" + ], + "Gold II": [ + "Resplendent Spirit Stone", + "Grandiose Skull Ornament", + "Scriptures of Battle", + "Powered Blade", + "Scriptures of Fortune", + "Sophisticated Material Plates" + ], + "Gold III": [ + "Scriptures of Fate", + "Portentious Xenos Glyphs", + "Scriptures of Battle", + "Overcapacitator", + "Scriptures of Fortune", + "Mysterious Device" + ], + "Diamond I": [ + "Scriptures of Fate", + "Grand Strategy", + "Scriptures of Battle", + "Hyperstim", + "Scriptures of Fortune", + "Sophisticated Material Plates" + ] + }, + "Makhotep": { + "Stone I": [ + "Adamantium Filaments", + "Enriched Rations", + "Round of Ammo", + "Otherworldly Energy", + "Adamantium Ore", + "Pile of Salvage" + ], + "Stone II": [ + "Adamantium Filaments", + "Advanced Filaments", + "Barrel of Promethium", + "Canister of Chemicals", + "Adamantium Ore", + "Sophisticated Material" + ], + "Stone III": [ + "Advanced Filaments", + "Enriched Rations", + "Krak Grenade", + "Magazine", + "Sophisticated Material", + "Box of Salvage" + ], + "Iron I": [ + "Advanced Filaments", + "Metal Decorative Skull", + "Fine Micro-Generator", + "Krak Grenade", + "Adamantium Lump", + "Sophisticated Material Ingot" + ], + "Iron II": [ + "Regenerating Nano Swarm", + "Otherworldly Nano Swarm", + "Barrel of Promethium", + "Tank of Promethium", + "Sophisticated Material Ingot", + "Sophisticated Material Bar" + ], + "Iron III": [ + "Otherworldly Nano Swarm", + "Necrodermis Nano Scarab Swarm", + "Viridian Energy Tesseract", + "Targeting Matrix", + "Adamantium Lump", + "Sophisticated Material Bar" + ], + "Bronze I": [ + "Reconstitution Protocols", + "Otherworldly Nano Swarm", + "Viridian Energy Tesseract", + "Powerful Micro-Generator", + "Sophisticated Material Bar", + "Scale-Plate Strand" + ], + "Bronze II": [ + "Resurrection Protocols", + "Necrodermis Nano Scarab Swarm", + "Powerful Auxiliary Core", + "Plasma Cell Bundle", + "Sophisticated Material Bar", + "Crate of Salvage" + ], + "Bronze III": [ + "Engrammatic Entangler", + "Electromantic Cable Bundle", + "Anointed Auxiliary Core", + "Ratiocination Targeting", + "Sophisticated Material Sheet", + "Scale-Plate Mantle" + ], + "Silver I": [ + "Resurrection Protocols", + "Ominous Xenos Glyphs", + "Anointed Auxiliary Core", + "Anointed Micro-Generator", + "Hypermaterial Shifter", + "Adamantium Sheet" + ], + "Silver II": [ + "Resurrection Protocols", + "Exospine", + "Relic Auxiliary Core", + "Plasma Cell Crate", + "Hypermaterial Shifter", + "Scale-Plate Mantle" + ], + "Silver III": [ + "Protocol of the Eternal Guardian", + "Portentious Xenos Glyphs", + "Anointed Auxiliary Core", + "Overcapacitator", + "Sophisticated Material Sheet", + "Adamantium Plates" + ], + "Gold I": [ + "Phylacterine Hive", + "Advanced Exospine", + "Relic Auxiliary Core", + "Relic Micro-Generator", + "Sophisticated Material Plates", + "Mysterious Device" + ], + "Gold II": [ + "Protocol of the Eternal Guardian", + "Advanced Exospine", + "Molecular Vaporiser", + "Relic Micro-Generator", + "Transdimensional Sanctum", + "Adamantium Plates" + ], + "Gold III": [ + "Phylacterine Hive", + "Portentious Xenos Glyphs", + "Molecular Vaporiser", + "Overcapacitator", + "Transdimensional Sanctum", + "Mysterious Device" + ], + "Diamond I": [ + "Phylacterine Hive", + "Grand Strategy", + "Molecular Vaporiser", + "Relic Micro-Generator", + "Transdimensional Sanctum", + "Sophisticated Material Plates" + ] + }, + "Imospekh": { + "Stone I": [ + "Nano Swarm", + "Enriched Rations", + "Round of Ammo", + "Barrel of Promethium", + "Adamantium Ore", + "Box of Salvage" + ], + "Stone II": [ + "Adamantium Filaments", + "Enriched Rations", + "Barrel of Promethium", + "Can of Promethium", + "Pile of Salvage", + "Adamantium Ore" + ], + "Stone III": [ + "Adamantium Filaments", + "Metal Decorative Skull", + "Round of Ammo", + "Plasma Cell", + "Adamantium Ore", + "Adamantium Lump" + ], + "Iron I": [ + "Enriched Rations", + "Reconstitution Protocols", + "Magazine", + "Barrel of Promethium", + "Box of Salvage", + "Sophisticated Material Ingot" + ], + "Iron II": [ + "Enriched Rations", + "Regenerating Nano Swarm", + "Magazine", + "Plasma Cell", + "Box of Salvage", + "Adamantium Lump" + ], + "Iron III": [ + "Regenerating Nano Swarm", + "Metal Decorative Skull", + "Viridian Energy Tesseract", + "Targeting Matrix", + "Box of Salvage", + "Sophisticated Material Bar" + ], + "Bronze I": [ + "Reconstitution Protocols", + "Otherworldly Nano Swarm", + "Viridian Energy Tesseract", + "Powerful Micro-Generator", + "Sophisticated Material Bar", + "Scale-Plate Strand" + ], + "Bronze II": [ + "Resurrection Protocols", + "Necrodermis Nano Scarab Swarm", + "Powerful Auxiliary Core", + "Plasma Cell Bundle", + "Sophisticated Material Bar", + "Crate of Salvage" + ], + "Bronze III": [ + "Engrammatic Entangler", + "Electromantic Cable Bundle", + "Anointed Auxiliary Core", + "Ratiocination Targeting", + "Sophisticated Material Sheet", + "Scale-Plate Mantle" + ], + "Silver I": [ + "Resurrection Protocols", + "Ominous Xenos Glyphs", + "Anointed Auxiliary Core", + "Anointed Micro-Generator", + "Hypermaterial Shifter", + "Adamantium Sheet" + ], + "Silver II": [ + "Resurrection Protocols", + "Exospine", + "Relic Auxiliary Core", + "Plasma Cell Crate", + "Hypermaterial Shifter", + "Scale-Plate Mantle" + ], + "Silver III": [ + "Protocol of the Eternal Guardian", + "Portentious Xenos Glyphs", + "Anointed Auxiliary Core", + "Overcapacitator", + "Sophisticated Material Sheet", + "Adamantium Plates" + ], + "Gold I": [ + "Phylacterine Hive", + "Advanced Exospine", + "Relic Auxiliary Core", + "Relic Micro-Generator", + "Sophisticated Material Plates", + "Mysterious Device" + ], + "Gold II": [ + "Protocol of the Eternal Guardian", + "Advanced Exospine", + "Molecular Vaporiser", + "Relic Micro-Generator", + "Transdimensional Sanctum", + "Adamantium Plates" + ], + "Gold III": [ + "Phylacterine Hive", + "Portentious Xenos Glyphs", + "Molecular Vaporiser", + "Overcapacitator", + "Transdimensional Sanctum", + "Mysterious Device" + ], + "Diamond I": [ + "Phylacterine Hive", + "Grand Strategy", + "Molecular Vaporiser", + "Relic Micro-Generator", + "Transdimensional Sanctum", + "Sophisticated Material Plates" + ] + }, + "Aleph-Null": { + "Stone I": [ + "Adamantium Filaments", + "Enriched Rations", + "Barrel of Promethium", + "Can of Promethium", + "Adamantium Ore", + "Sophisticated Material" + ], + "Stone II": [ + "Adamantium Filaments", + "Advanced Filaments", + "Single Power Pack", + "Barrel of Promethium", + "Adamantium Ore", + "Sophisticated Material" + ], + "Stone III": [ + "Enriched Rations", + "Reconstitution Protocols", + "Single Power Pack", + "Plasma Cell", + "Pile of Salvage", + "Adamantium Lump" + ], + "Iron I": [ + "Enriched Rations", + "Regenerating Nano Swarm", + "Barrel of Promethium", + "Fine Micro-Generator", + "Sophisticated Material Ingot", + "Sophisticated Material Bar" + ], + "Iron II": [ + "Advanced Filaments", + "Regenerating Nano Swarm", + "Fine Micro-Generator", + "Krak Grenade", + "Adamantium Lump", + "Sophisticated Material Bar" + ], + "Iron III": [ + "Advanced Filaments", + "Otherworldly Nano Swarm", + "Viridian Energy Tesseract", + "Targeting Matrix", + "Sophisticated Material Bar", + "Adamantium Sheet" + ], + "Bronze I": [ + "Reconstitution Protocols", + "Otherworldly Nano Swarm", + "Viridian Energy Tesseract", + "Powerful Micro-Generator", + "Sophisticated Material Bar", + "Scale-Plate Strand" + ], + "Bronze II": [ + "Resurrection Protocols", + "Necrodermis Nano Scarab Swarm", + "Powerful Auxiliary Core", + "Plasma Cell Bundle", + "Sophisticated Material Bar", + "Crate of Salvage" + ], + "Bronze III": [ + "Engrammatic Entangler", + "Electromantic Cable Bundle", + "Anointed Auxiliary Core", + "Ratiocination Targeting", + "Sophisticated Material Sheet", + "Scale-Plate Mantle" + ], + "Silver I": [ + "Resurrection Protocols", + "Ominous Xenos Glyphs", + "Anointed Auxiliary Core", + "Anointed Micro-Generator", + "Hypermaterial Shifter", + "Adamantium Sheet" + ], + "Silver II": [ + "Resurrection Protocols", + "Exospine", + "Relic Auxiliary Core", + "Plasma Cell Crate", + "Hypermaterial Shifter", + "Scale-Plate Mantle" + ], + "Silver III": [ + "Protocol of the Eternal Guardian", + "Portentious Xenos Glyphs", + "Anointed Auxiliary Core", + "Overcapacitator", + "Sophisticated Material Sheet", + "Adamantium Plates" + ], + "Gold I": [ + "Phylacterine Hive", + "Advanced Exospine", + "Relic Auxiliary Core", + "Relic Micro-Generator", + "Sophisticated Material Plates", + "Mysterious Device" + ], + "Gold II": [ + "Protocol of the Eternal Guardian", + "Advanced Exospine", + "Molecular Vaporiser", + "Relic Micro-Generator", + "Transdimensional Sanctum", + "Adamantium Plates" + ], + "Gold III": [ + "Phylacterine Hive", + "Portentious Xenos Glyphs", + "Molecular Vaporiser", + "Overcapacitator", + "Transdimensional Sanctum", + "Mysterious Device" + ], + "Diamond I": [ + "Phylacterine Hive", + "Grand Strategy", + "Molecular Vaporiser", + "Relic Micro-Generator", + "Transdimensional Sanctum", + "Sophisticated Material Plates" + ] + }, + "Thutmose": { + "Stone I": [ + "Wires", + "Nano Swarm", + "Otherworldly Energy", + "Targeting Link", + "Sophisticated Material", + "Adamantium Ore" + ], + "Stone II": [ + "Wires", + "Adamantium Filaments", + "Otherworldly Energy", + "Plasma Cell", + "Metal Joints", + "Box of Salvage" + ], + "Stone III": [ + "Ropes and Chains", + "Advanced Filaments", + "Otherworldly Energy Reservoir", + "Plasma Cell", + "Metal Joints", + "Reinforced Scale-Plates" + ], + "Iron I": [ + "Reinforced Cables", + "Artificial Vertebrae", + "Attack Vector Data-Slate", + "Targeting Matrix", + "Sophisticated Material Ingot", + "Reinforced Scale-Plates" + ], + "Iron II": [ + "Reinforced Cables", + "Ancient Runes", + "Otherworldly Energy Reservoir", + "Plasma Cell Bundle", + "Crate of Salvage", + "Scale-Plate Strand" + ], + "Iron III": [ + "Metal Decorative Skull", + "Regenerating Nano Swarm", + "Viridian Energy Tesseract", + "Targeting Matrix", + "Box of Salvage", + "Adamantium Bar" + ], + "Bronze I": [ + "Reconstitution Protocols", + "Otherworldly Nano Swarm", + "Viridian Energy Tesseract", + "Plasma Cell Bundle", + "Sophisticated Material Bar", + "Scale-Plate Strand" + ], + "Bronze II": [ + "Resurrection Protocols", + "Necrodermis Nano Scarab Swarm", + "Powerful Auxiliary Core", + "Plasma Cell Bundle", + "Sophisticated Material Bar", + "Crate of Salvage" + ], + "Bronze III": [ + "Engrammatic Entangler", + "Electromantic Cable Bundle", + "Anointed Auxiliary Core", + "Ratiocination Targeting", + "Sophisticated Material Sheet", + "Scale-Plate Mantle" + ], + "Silver I": [ + "Resurrection Protocols", + "Ominous Xenos Glyphs", + "Anointed Auxiliary Core", + "Plasma Cell Crate", + "Hypermaterial Shifter", + "Adamantium Sheet" + ], + "Silver II": [ + "Resurrection Protocols", + "Exospine", + "Relic Auxiliary Core", + "Plasma Cell Crate", + "Hypermaterial Shifter", + "Scale-Plate Mantle" + ], + "Silver III": [ + "Protocol of the Eternal Guardian", + "Portentious Xenos Glyphs", + "Anointed Auxiliary Core", + "Overcapacitator", + "Sophisticated Material Sheet", + "Adamantium Plates" + ], + "Gold I": [ + "Phylacterine Hive", + "Advanced Exospine", + "Relic Auxiliary Core", + "Relic Micro-Generator", + "Sophisticated Material Plates", + "Mysterious Device" + ], + "Gold II": [ + "Protocol of the Eternal Guardian", + "Advanced Exospine", + "Molecular Vaporiser", + "Relic Micro-Generator", + "Transdimensional Sanctum", + "Adamantium Plates" + ], + "Gold III": [ + "Phylacterine Hive", + "Portentious Xenos Glyphs", + "Molecular Vaporiser", + "Overcapacitator", + "Transdimensional Sanctum", + "Mysterious Device" + ], + "Diamond I": [ + "Phylacterine Hive", + "Grand Strategy", + "Molecular Vaporiser", + "Relic Micro-Generator", + "Transdimensional Sanctum", + "Sophisticated Material Plates" + ] + }, + "Anuphet": { + "Stone I": [ + "Wires", + "Nano Swarm", + "Weapon Parts", + "Targeting Link", + "Sophisticated Material", + "Adamantium Ore" + ], + "Stone II": [ + "Ropes and Chains", + "Adamantium Filaments", + "Ballistics Data", + "Fine Micro-Generator", + "Metal Joints", + "Box of Salvage" + ], + "Stone III": [ + "Mission Assignment", + "Advanced Filaments", + "Otherworldly Energy Reservoir", + "Plasma Cell", + "Metal Joints", + "Reinforced Scale-Plates" + ], + "Iron I": [ + "Reinforced Cables", + "Artificial Vertebrae", + "Attack Vector Data-Slate", + "Targeting Matrix", + "Sophisticated Material Ingot", + "Reinforced Scale-Plates" + ], + "Iron II": [ + "Mission Objective", + "Ancient Runes", + "Otherworldly Energy Reservoir", + "Powerful Micro-Generator", + "Box of Salvage", + "Scale-Plate Strand" + ], + "Iron III": [ + "Metal Decorative Skull", + "Regenerating Nano Swarm", + "Viridian Energy Tesseract", + "Targeting Matrix", + "Box of Salvage", + "Adamantium Bar" + ], + "Bronze I": [ + "Reconstitution Protocols", + "Otherworldly Nano Swarm", + "Classified Data-Slate", + "Plasma Cell Bundle", + "Sophisticated Material Bar", + "Scale-Plate Strand" + ], + "Bronze II": [ + "Resurrection Protocols", + "Necrodermis Nano Scarab Swarm", + "Powerful Auxiliary Core", + "Plasma Cell Bundle", + "Sophisticated Material Bar", + "Crate of Salvage" + ], + "Bronze III": [ + "Engrammatic Entangler", + "Electromantic Cable Bundle", + "Anointed Auxiliary Core", + "Ratiocination Targeting", + "Sophisticated Material Sheet", + "Scale-Plate Mantle" + ], + "Silver I": [ + "Resurrection Protocols", + "Ominous Xenos Glyphs", + "Anointed Auxiliary Core", + "Plasma Cell Crate", + "Hypermaterial Shifter", + "Adamantium Sheet" + ], + "Silver II": [ + "Resurrection Protocols", + "Exospine", + "Relic Auxiliary Core", + "Anointed Micro-Generator", + "Hypermaterial Shifter", + "Scale-Plate Mantle" + ], + "Silver III": [ + "Protocol of the Eternal Guardian", + "Portentious Xenos Glyphs", + "Anointed Auxiliary Core", + "Overcapacitator", + "Sophisticated Material Sheet", + "Adamantium Plates" + ], + "Gold I": [ + "Phylacterine Hive", + "Advanced Exospine", + "Relic Auxiliary Core", + "Relic Micro-Generator", + "Sophisticated Material Plates", + "Mysterious Device" + ], + "Gold II": [ + "Protocol of the Eternal Guardian", + "Advanced Exospine", + "Molecular Vaporiser", + "Relic Micro-Generator", + "Transdimensional Sanctum", + "Adamantium Plates" + ], + "Gold III": [ + "Phylacterine Hive", + "Portentious Xenos Glyphs", + "Molecular Vaporiser", + "Overcapacitator", + "Transdimensional Sanctum", + "Mysterious Device" + ], + "Diamond I": [ + "Phylacterine Hive", + "Advanced Exospine", + "Molecular Vaporiser", + "Relic Micro-Generator", + "Transdimensional Sanctum", + "Sophisticated Material Plates" + ] + }, + "Snotflogga": { + "Stone I": [ + "Ropes and Chains", + "Field Ration", + "Weapon Parts", + "Nasty Spikes", + "Thick Skin", + "Pile of Salvage" + ], + "Stone II": [ + "Ropes and Chains", + "Adamantium Filaments", + "Round of Ammo", + "Combat Stimms", + "Thick Skin", + "Pile of Salvage" + ], + "Stone III": [ + "Chip Damage", + "Adamantium Filaments", + "Magazine", + "Combat Stimms", + "Thick Skin", + "Pile of Salvage" + ], + "Iron I": [ + "Satchel", + "Enriched Rations", + "Plasma Cell", + "Razorsharp Spikes", + "Adamantium Lump", + "Reinforced Scale-Plates" + ], + "Iron II": ["Satchel", "Battle Scar", "Fine Auxiliary Core", "Box of Ammo", "Cloak", "Adamantium Bar"], + "Iron III": [ + "Kill Count", + "Box of Rations", + "Iron Jaw", + "Razorsharp Spikes", + "Adamantium Lump", + "Crate of Salvage" + ], + "Bronze I": [ + "Bad Moon Teef", + "Box of Rations", + "Iron Jaw", + "Advanced Combat Stimms", + "Adamantium Bar", + "Scale-Plate Strand" + ], + "Bronze II": [ + "Nob Teef", + "Grand Skull Trophy", + "Anointed Auxiliary Core", + "Advanced Combat Stimms", + "Ard Plate", + "Adamantium Bar" + ], + "Bronze III": [ + "Kill Count", + "Grand Helmet Trophy", + "Brutal Iron Jaw", + "Murderous Spikes", + "Ded 'Ard Plate", + "Scale-Plate Mantle" + ], + "Silver I": [ + "Nob Teef", + "Ominous Xenos Glyphs", + "Brutal Iron Jaw", + "Bionic Neural Pathways", + "Ded 'Ard Plate", + "Decorated Cloak" + ], + "Silver II": [ + "Nob Teef", + "Grand Helmet Trophy", + "Ded Brutal Iron Jaw", + "Bionic Neural Pathways", + "Ded Shiny 'Ard Plate", + "Scale-Plate Mantle" + ], + "Silver III": [ + "Shiny Boss Teef", + "Portentious Xenos Glyphs", + "Brutal Iron Jaw", + "Overcapacitator", + "Ded 'Ard Plate", + "Adamantium Plates" + ], + "Gold I": [ + "Cybork Body Parts", + "Relic Bionic Enhancement", + "Ded Brutal Iron Jaw", + "Powered Blade", + "Ded Shiny 'Ard Plate", + "Mysterious Device" + ], + "Gold II": [ + "Shiny Boss Teef", + "Relic Bionic Enhancement", + "Snazzy Dakka", + "Powered Blade", + "Bosspole", + "Adamantium Plates" + ], + "Gold III": [ + "Cybork Body Parts", + "Portentious Xenos Glyphs", + "Snazzy Dakka", + "Overcapacitator", + "Bosspole", + "Mysterious Device" + ], + "Diamond I": [ + "Cybork Body Parts", + "Grandiose Skull Ornament", + "Snazzy Dakka", + "Relic Auxiliary Core", + "Bosspole", + "Adamantium Plates" + ] + }, + "Gibbascrapz": { + "Stone I": [ + "Wires", + "Minor Bionic Enhancement", + "Basic Auxiliary Core", + "Nasty Spikes", + "Pile of Salvage", + "Metal Joints" + ], + "Stone II": [ + "Ropes and Chains", + "Adamantium Filaments", + "Weapon Parts", + "Plasma Cell", + "Pile of Salvage", + "Box of Salvage" + ], + "Stone III": [ + "Chip Damage", + "Adamantium Filaments", + "Magazine", + "Plasma Cell", + "Pile of Salvage", + "Box of Salvage" + ], + "Iron I": [ + "Satchel", + "Helmet Trophy", + "Fine Micro-Generator", + "Razorsharp Spikes", + "Adamantium Lump", + "Reinforced Scale-Plates" + ], + "Iron II": [ + "Reinforced Cables", + "Battle Scar", + "Fine Auxiliary Core", + "Box of Ammo", + "Box of Salvage", + "Adamantium Bar" + ], + "Iron III": [ + "Repair-Kit", + "Electromantic Cable Bundle", + "Iron Jaw", + "Razorsharp Spikes", + "Adamantium Lump", + "Crate of Salvage" + ], + "Bronze I": [ + "Bad Moon Teef", + "Electromantic Cable Bundle", + "Powerful Auxiliary Core", + "Bionic Eye", + "Adamantium Bar", + "Scale-Plate Strand" + ], + "Bronze II": [ + "Nob Teef", + "Advanced Bionics", + "Anointed Auxiliary Core", + "Plasma Cell Bundle", + "Ard Plate", + "Adamantium Bar" + ], + "Bronze III": [ + "Repair-Kit", + "Mars-Pattern Bionics", + "Brutal Iron Jaw", + "Murderous Spikes", + "Ded 'Ard Plate", + "Scale-Plate Mantle" + ], + "Silver I": [ + "Nob Teef", + "Ominous Xenos Glyphs", + "Brutal Iron Jaw", + "Bionic Neural Pathways", + "Ded 'Ard Plate", + "Adamantium Sheet" + ], + "Silver II": [ + "Nob Teef", + "Mars-Pattern Bionics", + "Ded Brutal Iron Jaw", + "Bionic Neural Pathways", + "Ded Shiny 'Ard Plate", + "Scale-Plate Mantle" + ], + "Silver III": [ + "Shiny Boss Teef", + "Portentious Xenos Glyphs", + "Brutal Iron Jaw", + "Overcapacitator", + "Ded 'Ard Plate", + "Adamantium Plates" + ], + "Gold I": [ + "Cybork Body Parts", + "Relic Bionic Enhancement", + "Ded Brutal Iron Jaw", + "Relic Auxiliary Core", + "Ded Shiny 'Ard Plate", + "Mysterious Device" + ], + "Gold II": [ + "Shiny Boss Teef", + "Relic Bionic Enhancement", + "Snazzy Dakka", + "Relic Auxiliary Core", + "Bosspole", + "Adamantium Plates" + ], + "Gold III": [ + "Cybork Body Parts", + "Portentious Xenos Glyphs", + "Snazzy Dakka", + "Overcapacitator", + "Bosspole", + "Mysterious Device" + ], + "Diamond I": [ + "Cybork Body Parts", + "Grand Strategy", + "Snazzy Dakka", + "Relic Micro-Generator", + "Bosspole", + "Adamantium Plates" + ] + }, + "Snappawrecka": { + "Stone I": [ + "Chip Damage", + "Minor Bionic Enhancement", + "Round of Ammo", + "Nasty Spikes", + "Pile of Salvage", + "Metal Joints" + ], + "Stone II": [ + "Wires", + "Adamantium Filaments", + "Weapon Parts", + "Barrel of Promethium", + "Metal Joints", + "Box of Salvage" + ], + "Stone III": ["Chip Damage", "Adamantium Filaments", "Magazine", "Plasma Cell", "Armor Trim", "Box of Salvage"], + "Iron I": [ + "Reinforced Cables", + "Artificial Vertebrae", + "Combat Stimms", + "Razorsharp Spikes", + "Adamantium Lump", + "Reinforced Scale-Plates" + ], + "Iron II": ["Reinforced Cables", "Battle Scar", "Magazine", "Box of Ammo", "Air Purificator", "Adamantium Bar"], + "Iron III": [ + "Metal Decorative Skull", + "Electromantic Cable Bundle", + "Iron Jaw", + "Razorsharp Spikes", + "Adamantium Lump", + "Crate of Salvage" + ], + "Bronze I": [ + "Bad Moon Teef", + "Electromantic Cable Bundle", + "Advanced Combat Stimms", + "Tank of Promethium", + "Adamantium Bar", + "Scale-Plate Strand" + ], + "Bronze II": [ + "Nob Teef", + "Advanced Bionics", + "Refined Combat Stimms", + "Plasma Cell Bundle", + "Ard Plate", + "Adamantium Bar" + ], + "Bronze III": [ + "Kill Count", + "Exospine", + "Brutal Iron Jaw", + "Murderous Spikes", + "Ded 'Ard Plate", + "Scale-Plate Mantle" + ], + "Silver I": [ + "Nob Teef", + "Ominous Xenos Glyphs", + "Brutal Iron Jaw", + "Bionic Neural Pathways", + "Ded 'Ard Plate", + "Adamantium Sheet" + ], + "Silver II": [ + "Nob Teef", + "Exospine", + "Ded Brutal Iron Jaw", + "Bionic Neural Pathways", + "Ded Shiny 'Ard Plate", + "Scale-Plate Mantle" + ], + "Silver III": [ + "Shiny Boss Teef", + "Portentious Xenos Glyphs", + "Brutal Iron Jaw", + "Overcapacitator", + "Ded 'Ard Plate", + "Adamantium Plates" + ], + "Gold I": [ + "Cybork Body Parts", + "Advanced Exospine", + "Ded Brutal Iron Jaw", + "Autoloader", + "Ded Shiny 'Ard Plate", + "Mysterious Device" + ], + "Gold II": [ + "Shiny Boss Teef", + "Advanced Exospine", + "Snazzy Dakka", + "Autoloader", + "Bosspole", + "Adamantium Plates" + ], + "Gold III": [ + "Cybork Body Parts", + "Portentious Xenos Glyphs", + "Snazzy Dakka", + "Overcapacitator", + "Bosspole", + "Mysterious Device" + ], + "Diamond I": [ + "Cybork Body Parts", + "Grand Strategy", + "Snazzy Dakka", + "Relic Micro-Generator", + "Bosspole", + "Adamantium Plates" + ] + }, + "Tanksmasha": { + "Stone I": [ + "Chip Damage", + "Minor Bionic Enhancement", + "Weapon Parts", + "Nasty Spikes", + "Pile of Salvage", + "Thick Skin" + ], + "Stone II": [ + "Chip Damage", + "Adamantium Filaments", + "Round of Ammo", + "Combat Stimms", + "Metal Joints", + "Box of Salvage" + ], + "Stone III": [ + "Ropes and Chains", + "Adamantium Filaments", + "Magazine", + "Combat Stimms", + "Thick Skin", + "Box of Salvage" + ], + "Iron I": [ + "Satchel", + "Enriched Rations", + "Barrel of Promethium", + "Razorsharp Spikes", + "Adamantium Lump", + "Reinforced Scale-Plates" + ], + "Iron II": ["Satchel", "Battle Scar", "Magazine", "Box of Ammo", "Box of Salvage", "Adamantium Bar"], + "Iron III": [ + "Kill Count", + "Box of Rations", + "Iron Jaw", + "Razorsharp Spikes", + "Adamantium Lump", + "Crate of Salvage" + ], + "Bronze I": [ + "Bad Moon Teef", + "Advanced Bionics", + "Iron Jaw", + "Advanced Combat Stimms", + "Adamantium Bar", + "Scale-Plate Strand" + ], + "Bronze II": [ + "Nob Teef", + "Grand Skull Trophy", + "Box of Ammo", + "Refined Combat Stimms", + "Ard Plate", + "Adamantium Bar" + ], + "Bronze III": [ + "Kill Count", + "Grand Helmet Trophy", + "Brutal Iron Jaw", + "Murderous Spikes", + "Ded 'Ard Plate", + "Scale-Plate Mantle" + ], + "Silver I": [ + "Nob Teef", + "Ominous Xenos Glyphs", + "Brutal Iron Jaw", + "Bionic Neural Pathways", + "Ded 'Ard Plate", + "Adamantium Sheet" + ], + "Silver II": [ + "Nob Teef", + "Grand Helmet Trophy", + "Ded Brutal Iron Jaw", + "Bionic Neural Pathways", + "Ded Shiny 'Ard Plate", + "Scale-Plate Mantle" + ], + "Silver III": [ + "Shiny Boss Teef", + "Portentious Xenos Glyphs", + "Brutal Iron Jaw", + "Overcapacitator", + "Ded 'Ard Plate", + "Adamantium Plates" + ], + "Gold I": [ + "Cybork Body Parts", + "Relic Bionic Enhancement", + "Ded Brutal Iron Jaw", + "Powered Blade", + "Ded Shiny 'Ard Plate", + "Mysterious Device" + ], + "Gold II": [ + "Shiny Boss Teef", + "Relic Bionic Enhancement", + "Snazzy Dakka", + "Powered Blade", + "Bosspole", + "Adamantium Plates" + ], + "Gold III": [ + "Cybork Body Parts", + "Portentious Xenos Glyphs", + "Snazzy Dakka", + "Overcapacitator", + "Bosspole", + "Mysterious Device" + ], + "Diamond I": [ + "Cybork Body Parts", + "Grandiose Skull Ornament", + "Snazzy Dakka", + "Relic Auxiliary Core", + "Bosspole", + "Adamantium Plates" + ] + }, + "Boss Gulgortz": { + "Stone I": [ + "Wires", + "Minor Bionic Enhancement", + "Round of Ammo", + "Nasty Spikes", + "Pile of Salvage", + "Adamantium Ore" + ], + "Stone II": [ + "Chip Damage", + "Adamantium Filaments", + "Weapon Parts", + "Plasma Cell", + "Thick Skin", + "Box of Salvage" + ], + "Stone III": [ + "Chip Damage", + "Adamantium Filaments", + "Magazine", + "Plasma Cell", + "Metal Joints", + "Box of Salvage" + ], + "Iron I": [ + "Reinforced Cables", + "Helmet Trophy", + "Combat Stimms", + "Razorsharp Spikes", + "Adamantium Lump", + "Reinforced Scale-Plates" + ], + "Iron II": ["Reinforced Cables", "Battle Scar", "Magazine", "Box of Ammo", "Box of Salvage", "Adamantium Bar"], + "Iron III": [ + "Kill Count", + "Grand Skull Trophy", + "Iron Jaw", + "Razorsharp Spikes", + "Adamantium Lump", + "Crate of Salvage" + ], + "Bronze I": [ + "Bad Moon Teef", + "Electromantic Cable Bundle", + "Advanced Combat Stimms", + "Bionic Eye", + "Adamantium Bar", + "Scale-Plate Strand" + ], + "Bronze II": [ + "Nob Teef", + "Advanced Bionics", + "Refined Combat Stimms", + "Plasma Cell Bundle", + "Ard Plate", + "Adamantium Bar" + ], + "Bronze III": [ + "Kill Count", + "Grand Helmet Trophy", + "Brutal Iron Jaw", + "Murderous Spikes", + "Ded 'Ard Plate", + "Scale-Plate Mantle" + ], + "Silver I": [ + "Nob Teef", + "Ominous Xenos Glyphs", + "Brutal Iron Jaw", + "Bionic Neural Pathways", + "Ded 'Ard Plate", + "Adamantium Sheet" + ], + "Silver II": [ + "Nob Teef", + "Grand Helmet Trophy", + "Ded Brutal Iron Jaw", + "Bionic Neural Pathways", + "Ded Shiny 'Ard Plate", + "Scale-Plate Mantle" + ], + "Silver III": [ + "Shiny Boss Teef", + "Portentious Xenos Glyphs", + "Brutal Iron Jaw", + "Overcapacitator", + "Ded 'Ard Plate", + "Adamantium Plates" + ], + "Gold I": [ + "Cybork Body Parts", + "Relic Bionic Enhancement", + "Ded Brutal Iron Jaw", + "Autoloader", + "Ded Shiny 'Ard Plate", + "Mysterious Device" + ], + "Gold II": [ + "Shiny Boss Teef", + "Relic Bionic Enhancement", + "Snazzy Dakka", + "Autoloader", + "Bosspole", + "Adamantium Plates" + ], + "Gold III": [ + "Cybork Body Parts", + "Portentious Xenos Glyphs", + "Snazzy Dakka", + "Overcapacitator", + "Bosspole", + "Mysterious Device" + ], + "Diamond I": [ + "Cybork Body Parts", + "Grandiose Skull Ornament", + "Snazzy Dakka", + "Relic Auxiliary Core", + "Bosspole", + "Adamantium Plates" + ] + }, + "Sho'Syl": { + "Stone I": [ + "Mission Assignment", + "Field Ration", + "Single Power Pack", + "Basic Auxiliary Core", + "Adamantium Ore", + "Sophisticated Material" + ], + "Stone II": [ + "Wires", + "Adamantium Filaments", + "Ballistics Data", + "Locator Beacon", + "Metal Joints", + "Box of Salvage" + ], + "Stone III": ["Wires", "Enriched Rations", "Power Pack Bundle", "Locator Beacon", "Metal Joints", "Mesh Weave"], + "Iron I": [ + "Mission Assignment", + "Advanced Filaments", + "Attack Vector Data-Slate", + "Targeting Matrix", + "Adamantium Lump", + "Mesh Weave" + ], + "Iron II": [ + "Reinforced Cables", + "Artificial Vertebrae", + "Power Pack Bundle", + "Prey-Sight", + "Air Purificator", + "Sophisticated Material Bar" + ], + "Iron III": [ + "Electromantic Cable Bundle", + "Ancient Runes", + "Sensor Suite", + "Targeting Matrix", + "Air Purificator", + "Sophisticated Material Bar" + ], + "Bronze I": [ + "Stimm Injector", + "Box of Rations", + "Bionic Eye", + "Powerful Auxiliary Core", + "Adamantium Bar", + "Mesh Weave Garment" + ], + "Bronze II": [ + "Advanced Stimm Injector", + "Box of Rations", + "High-Capacity Power Pack", + "Anointed Auxiliary Core", + "Drone Controller", + "Sophisticated Material Bar" + ], + "Bronze III": [ + "Kill Count", + "Exospine", + "Advanced Sensor Suite", + "Ratiocination Targeting", + "Advanced Drone Controller", + "Advanced Mesh Weave Garment" + ], + "Silver I": [ + "Advanced Stimm Injector", + "Ominous Xenos Glyphs", + "Advanced Sensor Suite", + "Bionic Neural Pathways", + "Advanced Drone Controller", + "Sophisticated Material Sheet" + ], + "Silver II": [ + "Advanced Stimm Injector", + "Exospine", + "Multi-Spectrum Sensor Suite", + "Bionic Neural Pathways", + "Sentry AI Drone Controller", + "Advanced Mesh Weave Garment" + ], + "Silver III": [ + "Auto-Reactive Stimm Injector", + "Portentious Xenos Glyphs", + "Advanced Sensor Suite", + "Overcapacitator", + "Advanced Drone Controller", + "Sophisticated Material Plates" + ], + "Gold I": [ + "Ta'Lissera Bond", + "Advanced Exospine", + "Multi-Spectrum Sensor Suite", + "Relic Auxiliary Core", + "Sentry AI Drone Controller", + "Mysterious Device" + ], + "Gold II": [ + "Auto-Reactive Stimm Injector", + "Advanced Exospine", + "Target Lock", + "Relic Auxiliary Core", + "Iridium Plating", + "Sophisticated Material Plates" + ], + "Gold III": [ + "Ta'Lissera Bond", + "Portentious Xenos Glyphs", + "Target Lock", + "Overcapacitator", + "Iridium Plating", + "Mysterious Device" + ], + "Diamond I": [ + "Ta'Lissera Bond", + "Grand Strategy", + "Target Lock", + "Relic Auxiliary Core", + "Iridium Plating", + "Sophisticated Material Plates" + ] + }, + "Re'Vas": { + "Stone I": [ + "Mission Assignment", + "Mission Assignment", + "Basic Auxiliary Core", + "Targeting Link", + "Adamantium Ore", + "Sophisticated Material" + ], + "Stone II": [ + "Wires", + "Adamantium Filaments", + "Canister of Chemicals", + "Locator Beacon", + "Metal Joints", + "Box of Salvage" + ], + "Stone III": [ + "Wires", + "Mission Objective", + "Fine Auxiliary Core", + "Attack Vector Data-Slate", + "Metal Joints", + "Mesh Weave" + ], + "Iron I": [ + "Reinforced Cables", + "Advanced Filaments", + "Barrel of Promethium", + "Targeting Matrix", + "Adamantium Lump", + "Mesh Weave" + ], + "Iron II": [ + "Reinforced Cables", + "Artificial Vertebrae", + "Fine Auxiliary Core", + "Prey-Sight", + "Air Purificator", + "Sophisticated Material Bar" + ], + "Iron III": [ + "Electromantic Cable Bundle", + "Ancient Runes", + "Sensor Suite", + "Targeting Matrix", + "Air Purificator", + "Sophisticated Material Bar" + ], + "Bronze I": [ + "Stimm Injector", + "Battle Plan", + "Tank of Promethium", + "Powerful Auxiliary Core", + "Adamantium Bar", + "Mesh Weave Garment" + ], + "Bronze II": [ + "Advanced Stimm Injector", + "Battle Plan", + "Plasma Cell Bundle", + "Plasma Cell Crate", + "Drone Controller", + "Sophisticated Material Bar" + ], + "Bronze III": [ + "Kill Count", + "Exospine", + "Advanced Sensor Suite", + "Ratiocination Targeting", + "Advanced Drone Controller", + "Advanced Mesh Weave Garment" + ], + "Silver I": [ + "Advanced Stimm Injector", + "Ominous Xenos Glyphs", + "Advanced Sensor Suite", + "Bionic Neural Pathways", + "Advanced Drone Controller", + "Sophisticated Material Sheet" + ], + "Silver II": [ + "Advanced Stimm Injector", + "Exospine", + "Multi-Spectrum Sensor Suite", + "Bionic Neural Pathways", + "Sentry AI Drone Controller", + "Advanced Mesh Weave Garment" + ], + "Silver III": [ + "Auto-Reactive Stimm Injector", + "Portentious Xenos Glyphs", + "Advanced Sensor Suite", + "Overcapacitator", + "Advanced Drone Controller", + "Sophisticated Material Plates" + ], + "Gold I": [ + "Ta'Lissera Bond", + "Advanced Exospine", + "Multi-Spectrum Sensor Suite", + "Relic Auxiliary Core", + "Sentry AI Drone Controller", + "Mysterious Device" + ], + "Gold II": [ + "Auto-Reactive Stimm Injector", + "Advanced Exospine", + "Target Lock", + "Relic Auxiliary Core", + "Iridium Plating", + "Sophisticated Material Plates" + ], + "Gold III": [ + "Ta'Lissera Bond", + "Portentious Xenos Glyphs", + "Target Lock", + "Overcapacitator", + "Iridium Plating", + "Mysterious Device" + ], + "Diamond I": [ + "Ta'Lissera Bond", + "Advanced Exospine", + "Target Lock", + "Blessed Promethium Tank", + "Iridium Plating", + "Sophisticated Material Plates" + ] + }, + "Darkstrider": { + "Stone I": [ + "Field Ration", + "Mission Assignment", + "Single Power Pack", + "Targeting Link", + "Adamantium Ore", + "Sophisticated Material" + ], + "Stone II": [ + "Standard-Issue Tourniquet", + "Adamantium Filaments", + "Ballistics Data", + "Locator Beacon", + "Pile of Salvage", + "Box of Salvage" + ], + "Stone III": [ + "Standard-Issue Tourniquet", + "Mission Objective", + "Power Pack Bundle", + "Locator Beacon", + "Pile of Salvage", + "Mesh Weave" + ], + "Iron I": [ + "Enriched Rations", + "Advanced Filaments", + "Attack Vector Data-Slate", + "Targeting Matrix", + "Adamantium Lump", + "Mesh Weave" + ], + "Iron II": [ + "Satchel", + "Mission Objective", + "Power Pack Bundle", + "Prey-Sight", + "Air Purificator", + "Sophisticated Material Bar" + ], + "Iron III": [ + "Box of Rations", + "Ancient Runes", + "Sensor Suite", + "Targeting Matrix", + "Air Purificator", + "Sophisticated Material Bar" + ], + "Bronze I": [ + "Stimm Injector", + "Battle Plan", + "Bionic Eye", + "Powerful Auxiliary Core", + "Adamantium Bar", + "Mesh Weave Garment" + ], + "Bronze II": [ + "Advanced Stimm Injector", + "Battle Plan", + "High-Capacity Power Pack", + "Powerful Auxiliary Core", + "Drone Controller", + "Sophisticated Material Bar" + ], + "Bronze III": [ + "Kill Count", + "Exquisite Medical Supplies", + "Advanced Sensor Suite", + "Ratiocination Targeting", + "Advanced Drone Controller", + "Advanced Mesh Weave Garment" + ], + "Silver I": [ + "Advanced Stimm Injector", + "Ominous Xenos Glyphs", + "Advanced Sensor Suite", + "Bionic Neural Pathways", + "Advanced Drone Controller", + "Sophisticated Material Sheet" + ], + "Silver II": [ + "Advanced Stimm Injector", + "Mars-Pattern Bionics", + "Multi-Spectrum Sensor Suite", + "Bionic Neural Pathways", + "Sentry AI Drone Controller", + "Advanced Mesh Weave Garment" + ], + "Silver III": [ + "Auto-Reactive Stimm Injector", + "Portentious Xenos Glyphs", + "Advanced Sensor Suite", + "Overcapacitator", + "Advanced Drone Controller", + "Sophisticated Material Plates" + ], + "Gold I": [ + "Ta'Lissera Bond", + "Relic Bionic Enhancement", + "Multi-Spectrum Sensor Suite", + "Relic Auxiliary Core", + "Sentry AI Drone Controller", + "Mysterious Device" + ], + "Gold II": [ + "Auto-Reactive Stimm Injector", + "Relic Bionic Enhancement", + "Target Lock", + "Relic Auxiliary Core", + "Iridium Plating", + "Sophisticated Material Plates" + ], + "Gold III": [ + "Ta'Lissera Bond", + "Portentious Xenos Glyphs", + "Target Lock", + "Overcapacitator", + "Iridium Plating", + "Mysterious Device" + ], + "Diamond I": [ + "Ta'Lissera Bond", + "Grand Strategy", + "Target Lock", + "Relic Auxiliary Core", + "Iridium Plating", + "Sophisticated Material Plates" + ] + }, + "Aun'Shi": { + "Stone I": [ + "Field Ration", + "Healing Ointment", + "Basic Auxiliary Core", + "Targeting Link", + "Sophisticated Material", + "Pile of Salvage" + ], + "Stone II": [ + "Ropes and Chains", + "Adamantium Filaments", + "Vox-Caster", + "Fine Micro-Generator", + "Thick Skin", + "Cloak" + ], + "Stone III": [ + "Ropes and Chains", + "Writings", + "Power Pack Bundle", + "Fine Micro-Generator", + "Thick Skin", + "Cloak" + ], + "Iron I": [ + "Enriched Rations", + "Advanced Filaments", + "Attack Vector Data-Slate", + "Targeting Matrix", + "Sophisticated Material Ingot", + "Mesh Weave" + ], + "Iron II": ["Satchel", "Writings", "Power Pack Bundle", "Supernatural Sight", "Air Purificator", "Fine Cloak"], + "Iron III": [ + "Box of Rations", + "Ancient Runes", + "Sensor Suite", + "Targeting Matrix", + "Air Purificator", + "Fine Cloak" + ], + "Bronze I": [ + "Stimm Injector", + "Medical Supply Crate", + "Classified Data-Slate", + "Powerful Micro-Generator", + "Sophisticated Material Bar", + "Mesh Weave Garment" + ], + "Bronze II": [ + "Advanced Stimm Injector", + "Medical Supply Crate", + "Powerful Micro-Generator", + "Anointed Micro-Generator", + "Drone Controller", + "Fine Cloak" + ], + "Bronze III": [ + "Battle Scar", + "Exquisite Medical Supplies", + "Advanced Sensor Suite", + "Ratiocination Targeting", + "Advanced Drone Controller", + "Advanced Mesh Weave Garment" + ], + "Silver I": [ + "Advanced Stimm Injector", + "Ominous Xenos Glyphs", + "Advanced Sensor Suite", + "Relic Hilt", + "Advanced Drone Controller", + "Decorated Cloak" + ], + "Silver II": [ + "Advanced Stimm Injector", + "Exquisite Medical Supplies", + "Multi-Spectrum Sensor Suite", + "Relic Hilt", + "Sentry AI Drone Controller", + "Advanced Mesh Weave Garment" + ], + "Silver III": [ + "Auto-Reactive Stimm Injector", + "Portentious Xenos Glyphs", + "Advanced Sensor Suite", + "Overcapacitator", + "Advanced Drone Controller", + "Divine Cloak" + ], + "Gold I": [ + "Ta'Lissera Bond", + "Relic Bionic Enhancement", + "Multi-Spectrum Sensor Suite", + "Powered Blade", + "Sentry AI Drone Controller", + "Mysterious Device" + ], + "Gold II": [ + "Auto-Reactive Stimm Injector", + "Relic Bionic Enhancement", + "Target Lock", + "Relic Micro-Generator", + "Iridium Plating", + "Sophisticated Material Plates" + ], + "Gold III": [ + "Ta'Lissera Bond", + "Portentious Xenos Glyphs", + "Target Lock", + "Overcapacitator", + "Iridium Plating", + "Mysterious Device" + ], + "Diamond I": [ + "Ta'Lissera Bond", + "Grand Strategy", + "Target Lock", + "Hyperstim", + "Iridium Plating", + "Sophisticated Material Plates" + ] + }, + "Shadowsun": { + "Stone I": [ + "Mission Assignment", + "Mission Assignment", + "Basic Auxiliary Core", + "Targeting Link", + "Adamantium Ore", + "Sophisticated Material" + ], + "Stone II": [ + "Wires", + "Adamantium Filaments", + "Canister of Chemicals", + "Locator Beacon", + "Metal Joints", + "Box of Salvage" + ], + "Stone III": [ + "Wires", + "Mission Objective", + "Fine Auxiliary Core", + "Attack Vector Data-Slate", + "Metal Joints", + "Mesh Weave" + ], + "Iron I": [ + "Reinforced Cables", + "Advanced Filaments", + "Barrel of Promethium", + "Targeting Matrix", + "Adamantium Lump", + "Mesh Weave" + ], + "Iron II": [ + "Reinforced Cables", + "Artificial Vertebrae", + "Fine Auxiliary Core", + "Prey-Sight", + "Air Purificator", + "Sophisticated Material Bar" + ], + "Iron III": [ + "Electromantic Cable Bundle", + "Ancient Runes", + "Sensor Suite", + "Targeting Matrix", + "Air Purificator", + "Sophisticated Material Bar" + ], + "Bronze I": [ + "Stimm Injector", + "Battle Plan", + "Tank of Promethium", + "Powerful Auxiliary Core", + "Adamantium Bar", + "Mesh Weave Garment" + ], + "Bronze II": [ + "Advanced Stimm Injector", + "Battle Plan", + "Plasma Cell Bundle", + "Plasma Cell Crate", + "Drone Controller", + "Sophisticated Material Bar" + ], + "Bronze III": [ + "Kill Count", + "Exospine", + "Advanced Sensor Suite", + "Ratiocination Targeting", + "Advanced Drone Controller", + "Advanced Mesh Weave Garment" + ], + "Silver I": [ + "Advanced Stimm Injector", + "Ominous Xenos Glyphs", + "Advanced Sensor Suite", + "Bionic Neural Pathways", + "Advanced Drone Controller", + "Sophisticated Material Sheet" + ], + "Silver II": [ + "Advanced Stimm Injector", + "Exospine", + "Multi-Spectrum Sensor Suite", + "Bionic Neural Pathways", + "Sentry AI Drone Controller", + "Advanced Mesh Weave Garment" + ], + "Silver III": [ + "Auto-Reactive Stimm Injector", + "Portentious Xenos Glyphs", + "Advanced Sensor Suite", + "Overcapacitator", + "Advanced Drone Controller", + "Sophisticated Material Plates" + ], + "Gold I": [ + "Ta'Lissera Bond", + "Advanced Exospine", + "Multi-Spectrum Sensor Suite", + "Relic Auxiliary Core", + "Sentry AI Drone Controller", + "Mysterious Device" + ], + "Gold II": [ + "Auto-Reactive Stimm Injector", + "Advanced Exospine", + "Target Lock", + "Relic Auxiliary Core", + "Iridium Plating", + "Sophisticated Material Plates" + ], + "Gold III": [ + "Ta'Lissera Bond", + "Portentious Xenos Glyphs", + "Target Lock", + "Overcapacitator", + "Iridium Plating", + "Mysterious Device" + ], + "Diamond I": [ + "Ta'Lissera Bond", + "Advanced Exospine", + "Target Lock", + "Relic Auxiliary Core", + "Iridium Plating", + "Sophisticated Material Plates" + ] + }, + "Neurothrope": { + "Stone I": [ + "Chip Damage", + "Mutation: Warped Muscles", + "Canister of Chemicals", + "Canister of Chemicals", + "Sophisticated Material", + "Sophisticated Material" + ], + "Stone II": [ + "Mission Assignment", + "Nano Swarm", + "Combat Stimms", + "Razorsharp Spikes", + "Sophisticated Material", + "Mutation: Tough Skin" + ], + "Stone III": [ + "Mission Objective", + "Regenerating Nano Swarm", + "Otherworldly Energy", + "Nasty Spikes", + "Mutation: Scaly Skin", + "Mutation: Tough Skin" + ], + "Iron I": [ + "Regenerating Nano Swarm", + "Mutation: Warped Lungs", + "Combat Stimms", + "Combat Stimms", + "Mutation: Scaly Skin", + "Sophisticated Material Ingot" + ], + "Iron II": [ + "Mission Objective", + "Otherworldly Nano Swarm", + "Otherworldly Energy Reservoir", + "Combat Stimms", + "Subdermal Plating", + "Mutation: Scaly Skin" + ], + "Iron III": [ + "Battle Plan", + "Mutation: Warped Lungs", + "Toxin Sacs", + "Supernatural Sight", + "Sophisticated Material Ingot", + "Subdermal Plating" + ], + "Bronze I": [ + "Adrenal Glands", + "Mutation: Warped Heart", + "Supernatural Sight", + "Classified Data-Slate", + "Sophisticated Material Bar", + "Sophisticated Material Bar" + ], + "Bronze II": [ + "Adaptive Adrenal Glands", + "Otherworldly Nano Swarm", + "Classified Data-Slate", + "Refined Combat Stimms", + "Reinforced Chitin", + "Mutation: Warped Skin" + ], + "Bronze III": [ + "Battle Scar", + "Exospine", + "Adaptive Toxin Sacs", + "Murderous Spikes", + "Adaptive Chitin Carapace", + "Hypermaterial Shifter" + ], + "Silver I": [ + "Adaptive Adrenal Glands", + "Weathering", + "Adaptive Toxin Sacs", + "Warp Locus", + "Adaptive Chitin Carapace", + "Sophisticated Material Sheet" + ], + "Silver II": [ + "Synaptic Augmentation", + "Mutation: Regenerative Blood", + "Hyper-Adaptive Toxin Sacs", + "Refined Combat Stimms", + "Adaptive Chitin Carapace", + "Mutation: Metallic Skin" + ], + "Silver III": [ + "Adaptive Adrenal Glands", + "Mutation: Otherworldly Power", + "Adaptive Toxin Sacs", + "Imposing Horns", + "Psyk-Conductive Material", + "Sophisticated Material Sheet" + ], + "Gold I": [ + "Hyper-Adaptive Adrenal Glands", + "Advanced Exospine", + "Psychic Force Conduit", + "Psychic Focus", + "Hyper-Adaptive Chitin Carapace", + "Sophisticated Material Plates" + ], + "Gold II": [ + "Hypermetabolic Acceleration", + "Mutation: Otherworldly Power", + "Hyper-Adaptive Toxin Sacs", + "Imposing Horns", + "Hyper-Adaptive Chitin Carapace", + "Mutation: Impenetrable Skin" + ], + "Gold III": [ + "Hyper-Adaptive Adrenal Glands", + "Advanced Exospine", + "Implant Attack", + "Hyperstim", + "Symbiotic Carapace", + "Mutation: Impenetrable Skin" + ], + "Diamond I": [ + "Hypermetabolic Acceleration", + "Grand Strategy", + "Implant Attack", + "Psychic Focus", + "Symbiotic Carapace", + "Sophisticated Material Plates" + ] + }, + "Tyrant Guard": { + "Stone I": [ + "Nano Swarm", + "Mutation: Warped Muscles", + "Canister of Chemicals", + "Nasty Spikes", + "Sophisticated Material", + "Sophisticated Material" + ], + "Stone II": [ + "Field Ration", + "Nano Swarm", + "Combat Stimms", + "Razorsharp Spikes", + "Mutation: Tough Skin", + "Mutation: Tough Skin" + ], + "Stone III": [ + "Enriched Rations", + "Regenerating Nano Swarm", + "Otherworldly Energy", + "Canister of Chemicals", + "Air Purificator", + "Mutation: Scaly Skin" + ], + "Iron I": [ + "Regenerating Nano Swarm", + "Mission Objective", + "Combat Stimms", + "Combat Stimms", + "Mutation: Scaly Skin", + "Air Purificator" + ], + "Iron II": [ + "Enriched Rations", + "Battle Plan", + "Otherworldly Energy Reservoir", + "Slicing Claws", + "Subdermal Plating", + "Mutation: Scaly Skin" + ], + "Iron III": [ + "Box of Rations", + "Mutation: Warped Lungs", + "Toxin Sacs", + "Advanced Combat Stimms", + "Air Purificator", + "Subdermal Plating" + ], + "Bronze I": [ + "Adrenal Glands", + "Mutation: Warped Heart", + "Supernatural Sight", + "Classified Data-Slate", + "Mutation: Warped Skin", + "Sophisticated Material Bar" + ], + "Bronze II": [ + "Adaptive Adrenal Glands", + "Otherworldly Nano Swarm", + "Classified Data-Slate", + "Refined Combat Stimms", + "Reinforced Chitin", + "Mutation: Warped Skin" + ], + "Bronze III": [ + "Battle Scar", + "Exospine", + "Adaptive Toxin Sacs", + "Murderous Spikes", + "Adaptive Chitin Carapace", + "Duplicate Organ" + ], + "Silver I": [ + "Adaptive Adrenal Glands", + "Weathering", + "Adaptive Toxin Sacs", + "Warp Locus", + "Adaptive Chitin Carapace", + "Sophisticated Material Sheet" + ], + "Silver II": [ + "Synaptic Augmentation", + "Mutation: Regenerative Blood", + "Hyper-Adaptive Toxin Sacs", + "Refined Combat Stimms", + "Adaptive Chitin Carapace", + "Mutation: Metallic Skin" + ], + "Silver III": [ + "Adaptive Adrenal Glands", + "Grand Strategy", + "Adaptive Toxin Sacs", + "Imposing Horns", + "Psyk-Conductive Material", + "Sophisticated Material Plates" + ], + "Gold I": [ + "Hyper-Adaptive Adrenal Glands", + "Advanced Exospine", + "Psychic Force Conduit", + "Hyperstim", + "Hyper-Adaptive Chitin Carapace", + "Mutation: Impenetrable Skin" + ], + "Gold II": [ + "Hypermetabolic Acceleration", + "Mutation: Otherworldly Power", + "Hyper-Adaptive Toxin Sacs", + "Imposing Horns", + "Hyper-Adaptive Chitin Carapace", + "Mutation: Impenetrable Skin" + ], + "Gold III": [ + "Hyper-Adaptive Adrenal Glands", + "Advanced Exospine", + "Implant Attack", + "Hyperstim", + "Symbiotic Carapace", + "Mutation: Impenetrable Skin" + ], + "Diamond I": [ + "Hypermetabolic Acceleration", + "Grand Strategy", + "Implant Attack", + "Hyperstim", + "Symbiotic Carapace", + "Sophisticated Material Plates" + ] + }, + "Winged Tyrant Prime": { + "Stone I": [ + "Nano Swarm", + "Mutation: Warped Muscles", + "Canister of Chemicals", + "Nasty Spikes", + "Sophisticated Material", + "Sophisticated Material" + ], + "Stone II": [ + "Field Ration", + "Nano Swarm", + "Combat Stimms", + "Razorsharp Spikes", + "Mutation: Tough Skin", + "Mutation: Tough Skin" + ], + "Stone III": [ + "Enriched Rations", + "Regenerating Nano Swarm", + "Otherworldly Energy", + "Canister of Chemicals", + "Air Purificator", + "Mutation: Scaly Skin" + ], + "Iron I": [ + "Regenerating Nano Swarm", + "Mission Objective", + "Combat Stimms", + "Combat Stimms", + "Mutation: Scaly Skin", + "Sophisticated Material Ingot" + ], + "Iron II": [ + "Enriched Rations", + "Battle Plan", + "Otherworldly Energy Reservoir", + "Slicing Claws", + "Subdermal Plating", + "Mutation: Scaly Skin" + ], + "Iron III": [ + "Box of Rations", + "Mutation: Warped Lungs", + "Toxin Sacs", + "Advanced Combat Stimms", + "Sophisticated Material Ingot", + "Subdermal Plating" + ], + "Bronze I": [ + "Adrenal Glands", + "Mutation: Warped Heart", + "Supernatural Sight", + "Classified Data-Slate", + "Mutation: Warped Skin", + "Sophisticated Material Bar" + ], + "Bronze II": [ + "Adaptive Adrenal Glands", + "Otherworldly Nano Swarm", + "Classified Data-Slate", + "Refined Combat Stimms", + "Reinforced Chitin", + "Mutation: Warped Skin" + ], + "Bronze III": [ + "Battle Scar", + "Exospine", + "Adaptive Toxin Sacs", + "Murderous Spikes", + "Adaptive Chitin Carapace", + "Duplicate Organ" + ], + "Silver I": [ + "Adaptive Adrenal Glands", + "Weathering", + "Adaptive Toxin Sacs", + "Warp Locus", + "Adaptive Chitin Carapace", + "Sophisticated Material Sheet" + ], + "Silver II": [ + "Synaptic Augmentation", + "Mutation: Regenerative Blood", + "Hyper-Adaptive Toxin Sacs", + "Refined Combat Stimms", + "Adaptive Chitin Carapace", + "Mutation: Metallic Skin" + ], + "Silver III": [ + "Adaptive Adrenal Glands", + "Grand Strategy", + "Adaptive Toxin Sacs", + "Imposing Horns", + "Psyk-Conductive Material", + "Sophisticated Material Plates" + ], + "Gold I": [ + "Hyper-Adaptive Adrenal Glands", + "Advanced Exospine", + "Psychic Force Conduit", + "Hyperstim", + "Hyper-Adaptive Chitin Carapace", + "Mutation: Impenetrable Skin" + ], + "Gold II": [ + "Hypermetabolic Acceleration", + "Mutation: Otherworldly Power", + "Hyper-Adaptive Toxin Sacs", + "Imposing Horns", + "Hyper-Adaptive Chitin Carapace", + "Mutation: Impenetrable Skin" + ], + "Gold III": [ + "Hyper-Adaptive Adrenal Glands", + "Advanced Exospine", + "Implant Attack", + "Psychic Focus", + "Symbiotic Carapace", + "Mutation: Impenetrable Skin" + ], + "Diamond I": [ + "Hypermetabolic Acceleration", + "Grand Strategy", + "Implant Attack", + "Hyperstim", + "Symbiotic Carapace", + "Sophisticated Material Plates" + ] + }, + "Deathleaper": { + "Stone I": [ + "Nano Swarm", + "Mutation: Warped Muscles", + "Canister of Chemicals", + "Nasty Spikes", + "Sophisticated Material", + "Sophisticated Material" + ], + "Stone II": [ + "Chip Damage", + "Nano Swarm", + "Combat Stimms", + "Razorsharp Spikes", + "Mutation: Tough Skin", + "Mutation: Tough Skin" + ], + "Stone III": [ + "Helmet Trophy", + "Regenerating Nano Swarm", + "Otherworldly Energy", + "Canister of Chemicals", + "Air Purificator", + "Mutation: Scaly Skin" + ], + "Iron I": [ + "Regenerating Nano Swarm", + "Mission Objective", + "Combat Stimms", + "Combat Stimms", + "Mutation: Scaly Skin", + "Sophisticated Material Ingot" + ], + "Iron II": [ + "Helmet Trophy", + "Battle Plan", + "Otherworldly Energy Reservoir", + "Locator Beacon", + "Subdermal Plating", + "Mutation: Scaly Skin" + ], + "Iron III": [ + "Grand Skull Trophy", + "Mutation: Warped Lungs", + "Toxin Sacs", + "Advanced Combat Stimms", + "Sophisticated Material Ingot", + "Subdermal Plating" + ], + "Bronze I": [ + "Adrenal Glands", + "Mutation: Warped Heart", + "Supernatural Sight", + "Classified Data-Slate", + "Mutation: Warped Skin", + "Sophisticated Material Bar" + ], + "Bronze II": [ + "Adaptive Adrenal Glands", + "Otherworldly Nano Swarm", + "Classified Data-Slate", + "Refined Combat Stimms", + "Reinforced Chitin", + "Mutation: Warped Skin" + ], + "Bronze III": [ + "Battle Scar", + "Exospine", + "Adaptive Toxin Sacs", + "Murderous Spikes", + "Adaptive Chitin Carapace", + "Duplicate Organ" + ], + "Silver I": [ + "Adaptive Adrenal Glands", + "Secret Agenda", + "Adaptive Toxin Sacs", + "Warp Locus", + "Adaptive Chitin Carapace", + "Sophisticated Material Sheet" + ], + "Silver II": [ + "Synaptic Augmentation", + "Mutation: Regenerative Blood", + "Hyper-Adaptive Toxin Sacs", + "Refined Combat Stimms", + "Adaptive Chitin Carapace", + "Mutation: Metallic Skin" + ], + "Silver III": [ + "Adaptive Adrenal Glands", + "Grand Strategy", + "Adaptive Toxin Sacs", + "Imposing Horns", + "Psyk-Conductive Material", + "Sophisticated Material Plates" + ], + "Gold I": [ + "Hyper-Adaptive Adrenal Glands", + "Advanced Exospine", + "Psychic Force Conduit", + "Hyperstim", + "Hyper-Adaptive Chitin Carapace", + "Mutation: Impenetrable Skin" + ], + "Gold II": [ + "Hypermetabolic Acceleration", + "Mutation: Otherworldly Power", + "Hyper-Adaptive Toxin Sacs", + "Imposing Horns", + "Hyper-Adaptive Chitin Carapace", + "Mutation: Impenetrable Skin" + ], + "Gold III": [ + "Hyper-Adaptive Adrenal Glands", + "Advanced Exospine", + "Implant Attack", + "Psychic Focus", + "Symbiotic Carapace", + "Mutation: Impenetrable Skin" + ], + "Diamond I": [ + "Hypermetabolic Acceleration", + "Grand Strategy", + "Implant Attack", + "Hyperstim", + "Symbiotic Carapace", + "Sophisticated Material Plates" + ] + }, + "Angrax": { + "Stone I": [ + "Wires", + "Minor Bionic Enhancement", + "Weapon Parts", + "Nasty Spikes", + "Adamantium Ore", + "Mutation: Tough Skin" + ], + "Stone II": [ + "Wires", + "Mutation: Warped Muscles", + "Basic Auxiliary Core", + "Fine Micro-Generator", + "Armor Trim", + "Blessed Tasset Plate" + ], + "Stone III": [ + "Ropes and Chains", + "Helmet Trophy", + "Fine Auxiliary Core", + "Attack Vector Data-Slate", + "Metal Joints", + "Box of Salvage" + ], + "Iron I": [ + "Reinforced Cables", + "Mutation: Warped Lungs", + "Locator Beacon", + "Razorsharp Spikes", + "Adamantium Lump", + "Mutation: Scaly Skin" + ], + "Iron II": [ + "Reinforced Cables", + "Helmet Trophy", + "Fine Auxiliary Core", + "Prey-Sight", + "Air Purificator", + "Adamantium Bar" + ], + "Iron III": [ + "Electromantic Cable Bundle", + "Mutation: Warped Heart", + "Icon of Vengeance", + "Razorsharp Spikes", + "Adamantium Lump", + "Artificer Tasset Plate" + ], + "Bronze I": [ + "Eye of Horus", + "Grand Skull Trophy", + "Powerful Auxiliary Core", + "Bionic Eye", + "Impressive Armor Trim", + "Mutation: Warped Skin" + ], + "Bronze II": [ + "Warp Touched Eye of Horus", + "Advanced Bionics", + "Anointed Auxiliary Core", + "Powerful Micro-Generator", + "Blasphemous Armor Trim", + "Adamantium Bar" + ], + "Bronze III": [ + "Kill Count", + "Grand Helmet Trophy", + "Icon of Daemonic Vengeance", + "Murderous Spikes", + "Daemonic Armor Trim", + "Mutation: Metallic Skin" + ], + "Silver I": [ + "Warp Touched Eye of Horus", + "Mutation: Regenerative Blood", + "Icon of Daemonic Vengeance", + "Bionic Neural Pathways", + "Daemonic Armor Trim", + "Ancient Tasset Plate" + ], + "Silver II": [ + "Warp Touched Eye of Horus", + "Terminator Honours", + "Icon of Infernal Vengeance", + "Anointed Micro-Generator", + "Infernal Armor Trim", + "Mutation: Metallic Skin" + ], + "Silver III": [ + "Infernal Eye of Horus", + "Mutation: Otherworldly Power", + "Icon of Daemonic Vengeance", + "Imposing Horns", + "Daemonic Armor Trim", + "Relic Tasset Plate" + ], + "Gold I": [ + "Mark of Chaos Undivided", + "Grandiose Skull Ornament", + "Icon of Infernal Vengeance", + "Powered Blade", + "Infernal Armor Trim", + "Mutation: Impenetrable Skin" + ], + "Gold II": [ + "Infernal Eye of Horus", + "Grandiose Skull Ornament", + "Daemon Shells", + "Powered Blade", + "Black Rune", + "Relic Tasset Plate" + ], + "Gold III": [ + "Mark of Chaos Undivided", + "Mutation: Otherworldly Power", + "Daemon Shells", + "Imposing Horns", + "Black Rune", + "Mutation: Impenetrable Skin" + ], + "Diamond I": [ + "Mark of Chaos Undivided", + "Grand Strategy", + "Daemon Shells", + "Relic Auxiliary Core", + "Black Rune", + "Ceramite Plates" + ] + }, + "Volk": { + "Stone I": [ + "Wires", + "Minor Bionic Enhancement", + "Round of Ammo", + "Nasty Spikes", + "Adamantium Ore", + "Mutation: Tough Skin" + ], + "Stone II": [ + "Wires", + "Mutation: Warped Muscles", + "Weapon Parts", + "Plasma Cell", + "Adamantium Ore", + "Box of Salvage" + ], + "Stone III": [ + "Standard-Issue Tourniquet", + "Artificial Vertebrae", + "Magazine", + "Plasma Cell", + "Adamantium Ore", + "Mutation: Scaly Skin" + ], + "Iron I": [ + "Reinforced Cables", + "Mutation: Warped Lungs", + "Barrel of Promethium", + "Razorsharp Spikes", + "Adamantium Lump", + "Mutation: Scaly Skin" + ], + "Iron II": [ + "Reinforced Cables", + "Artificial Vertebrae", + "Magazine", + "Supernatural Sight", + "Air Purificator", + "Adamantium Bar" + ], + "Iron III": [ + "Electromantic Cable Bundle", + "Mutation: Warped Heart", + "Icon of Vengeance", + "Razorsharp Spikes", + "Air Purificator", + "Mutation: Warped Skin" + ], + "Bronze I": [ + "Eye of Horus", + "Advanced Bionics", + "Box of Ammo", + "Bionic Eye", + "Impressive Armor Trim", + "Mutation: Warped Skin" + ], + "Bronze II": [ + "Warp Touched Eye of Horus", + "Advanced Bionics", + "Blessed Promethium Tank", + "Plasma Cell Bundle", + "Blasphemous Armor Trim", + "Adamantium Bar" + ], + "Bronze III": [ + "Kill Count", + "Exospine", + "Icon of Daemonic Vengeance", + "Murderous Spikes", + "Daemonic Armor Trim", + "Mutation: Metallic Skin" + ], + "Silver I": [ + "Warp Touched Eye of Horus", + "Mutation: Regenerative Blood", + "Icon of Daemonic Vengeance", + "Bionic Neural Pathways", + "Daemonic Armor Trim", + "Adamantium Sheet" + ], + "Silver II": [ + "Warp Touched Eye of Horus", + "Golden Ornamental Skull", + "Icon of Infernal Vengeance", + "Plasma Cell Crate", + "Infernal Armor Trim", + "Mutation: Metallic Skin" + ], + "Silver III": [ + "Infernal Eye of Horus", + "Mutation: Otherworldly Power", + "Icon of Daemonic Vengeance", + "Imposing Horns", + "Daemonic Armor Trim", + "Adamantium Plates" + ], + "Gold I": [ + "Mark of Chaos Undivided", + "Relic Bionic Enhancement", + "Icon of Infernal Vengeance", + "Autoloader", + "Infernal Armor Trim", + "Mutation: Impenetrable Skin" + ], + "Gold II": [ + "Infernal Eye of Horus", + "Relic Bionic Enhancement", + "Daemon Shells", + "Autoloader", + "Black Rune", + "Adamantium Plates" + ], + "Gold III": [ + "Mark of Chaos Undivided", + "Mutation: Otherworldly Power", + "Daemon Shells", + "Imposing Horns", + "Black Rune", + "Mutation: Impenetrable Skin" + ], + "Diamond I": [ + "Mark of Chaos Undivided", + "Grand Strategy", + "Daemon Shells", + "Hyperstim", + "Black Rune", + "Ceramite Plates" + ] + }, + "Archimatos": { + "Stone I": [ + "Healing Ointment", + "Standard-Issue Tourniquet", + "Auspex", + "Nasty Spikes", + "Pile of Salvage", + "Mutation: Tough Skin" + ], + "Stone II": [ + "Scrolls", + "Mutation: Warped Muscles", + "Frag Grenade", + "Barrel of Promethium", + "Armor Trim", + "Blessed Tasset Plate" + ], + "Stone III": [ + "Scrolls", + "Helmet Trophy", + "Belt of Frag Grenades", + "Fine Micro-Generator", + "Armor Trim", + "Cloak" + ], + "Iron I": [ + "Writings", + "Mutation: Warped Lungs", + "Barrel of Promethium", + "Razorsharp Spikes", + "Adamantium Lump", + "Mutation: Scaly Skin" + ], + "Iron II": [ + "Writings", + "Satchel", + "Fine Auxiliary Core", + "Supernatural Sight", + "Box of Salvage", + "Adamantium Bar" + ], + "Iron III": [ + "Medical Supply Crate", + "Mutation: Warped Heart", + "Icon of Vengeance", + "Razorsharp Spikes", + "Box of Salvage", + "Fine Cloak" + ], + "Bronze I": [ + "Eye of Horus", + "Grand Skull Trophy", + "Krak Grenade", + "Powerful Micro-Generator", + "Impressive Armor Trim", + "Mutation: Warped Skin" + ], + "Bronze II": [ + "Warp Touched Eye of Horus", + "Grand Skull Trophy", + "Belt of Krak Grenades", + "Powerful Micro-Generator", + "Blasphemous Armor Trim", + "Fine Cloak" + ], + "Bronze III": [ + "Metal Decorative Skull", + "Grand Helmet Trophy", + "Icon of Daemonic Vengeance", + "Murderous Spikes", + "Daemonic Armor Trim", + "Mutation: Metallic Skin" + ], + "Silver I": [ + "Warp Touched Eye of Horus", + "Mutation: Regenerative Blood", + "Icon of Daemonic Vengeance", + "Blessed Promethium Canister", + "Daemonic Armor Trim", + "Decorated Cloak" + ], + "Silver II": [ + "Warp Touched Eye of Horus", + "Golden Ornamental Skull", + "Icon of Infernal Vengeance", + "Blessed Promethium Tank", + "Infernal Armor Trim", + "Mutation: Metallic Skin" + ], + "Silver III": [ + "Infernal Eye of Horus", + "Mutation: Otherworldly Power", + "Icon of Daemonic Vengeance", + "Imposing Horns", + "Daemonic Armor Trim", + "Divine Cloak" + ], + "Gold I": [ + "Mark of Chaos Undivided", + "Tome of Arcane Knowledge", + "Icon of Infernal Vengeance", + "Blessed Promethium Tank", + "Infernal Armor Trim", + "Mutation: Impenetrable Skin" + ], + "Gold II": [ + "Infernal Eye of Horus", + "Tome of Arcane Knowledge", + "Daemon Shells", + "Blessed Promethium Tank", + "Black Rune", + "Divine Cloak" + ], + "Gold III": [ + "Mark of Chaos Undivided", + "Mutation: Otherworldly Power", + "Daemon Shells", + "Imposing Horns", + "Black Rune", + "Mutation: Impenetrable Skin" + ], + "Diamond I": [ + "Mark of Chaos Undivided", + "Tome of Arcane Knowledge", + "Daemon Shells", + "Blessed Promethium Tank", + "Black Rune", + "Ceramite Plates" + ] + }, + "Haarken Worldclaimer": { + "Stone I": [ + "Mission Assignment", + "Minor Bionic Enhancement", + "Weapon Parts", + "Nasty Spikes", + "Pile of Salvage", + "Mutation: Tough Skin" + ], + "Stone II": [ + "Standard-Issue Tourniquet", + "Mutation: Warped Muscles", + "Frag Grenade", + "Fine Micro-Generator", + "Armor Trim", + "Box of Salvage" + ], + "Stone III": [ + "Ropes and Chains", + "Helmet Trophy", + "Belt of Frag Grenades", + "Barrel of Promethium", + "Armor Trim", + "Blessed Tasset Plate" + ], + "Iron I": [ + "Mission Objective", + "Mutation: Warped Lungs", + "Locator Beacon", + "Razorsharp Spikes", + "Adamantium Lump", + "Mutation: Scaly Skin" + ], + "Iron II": [ + "Satchel", + "Helmet Trophy", + "Fine Auxiliary Core", + "Prey-Sight", + "Air Purificator", + "Adamantium Bar" + ], + "Iron III": [ + "Battle Plan", + "Mutation: Warped Heart", + "Icon of Vengeance", + "Razorsharp Spikes", + "Adamantium Lump", + "Artificer Tasset Plate" + ], + "Bronze I": [ + "Eye of Horus", + "Grand Skull Trophy", + "Krak Grenade", + "Powerful Micro-Generator", + "Impressive Armor Trim", + "Mutation: Warped Skin" + ], + "Bronze II": [ + "Warp Touched Eye of Horus", + "Advanced Bionics", + "Belt of Krak Grenades", + "Powerful Micro-Generator", + "Blasphemous Armor Trim", + "Adamantium Bar" + ], + "Bronze III": [ + "Kill Count", + "Grand Helmet Trophy", + "Icon of Daemonic Vengeance", + "Murderous Spikes", + "Daemonic Armor Trim", + "Mutation: Metallic Skin" + ], + "Silver I": [ + "Warp Touched Eye of Horus", + "Mutation: Regenerative Blood", + "Icon of Daemonic Vengeance", + "Blessed Promethium Canister", + "Daemonic Armor Trim", + "Ancient Tasset Plate" + ], + "Silver II": [ + "Warp Touched Eye of Horus", + "Golden Ornamental Skull", + "Icon of Infernal Vengeance", + "Blessed Promethium Tank", + "Infernal Armor Trim", + "Mutation: Metallic Skin" + ], + "Silver III": [ + "Infernal Eye of Horus", + "Mutation: Otherworldly Power", + "Icon of Daemonic Vengeance", + "Imposing Horns", + "Daemonic Armor Trim", + "Relic Tasset Plate" + ], + "Gold I": [ + "Mark of Chaos Undivided", + "Grandiose Skull Ornament", + "Icon of Infernal Vengeance", + "Powered Blade", + "Infernal Armor Trim", + "Mutation: Impenetrable Skin" + ], + "Gold II": [ + "Infernal Eye of Horus", + "Grandiose Skull Ornament", + "Daemon Shells", + "Powered Blade", + "Black Rune", + "Relic Tasset Plate" + ], + "Gold III": [ + "Mark of Chaos Undivided", + "Mutation: Otherworldly Power", + "Daemon Shells", + "Imposing Horns", + "Black Rune", + "Mutation: Impenetrable Skin" + ], + "Diamond I": [ + "Mark of Chaos Undivided", + "Grand Strategy", + "Daemon Shells", + "Hyperstim", + "Black Rune", + "Ceramite Plates" + ] + }, + "Abaddon The Despoiler": { + "Stone I": [ + "Minor Bionic Enhancement", + "Ropes and Chains", + "Vox-Caster", + "Nasty Spikes", + "Armor Trim", + "Mutation: Tough Skin" + ], + "Stone II": [ + "Minor Bionic Enhancement", + "Mutation: Warped Muscles", + "Auspex", + "Attack Vector Data-Slate", + "Metal Joints", + "Box of Salvage" + ], + "Stone III": [ + "Wires", + "Helmet Trophy", + "Fine Auxiliary Core", + "Fine Micro-Generator", + "Adamantium Ore", + "Cloak" + ], + "Iron I": [ + "Reinforced Cables", + "Mutation: Warped Lungs", + "Locator Beacon", + "Razorsharp Spikes", + "Adamantium Lump", + "Mutation: Scaly Skin" + ], + "Iron II": [ + "Reinforced Cables", + "Mission Objective", + "Fine Auxiliary Core", + "Supernatural Sight", + "Box of Salvage", + "Adamantium Bar" + ], + "Iron III": [ + "Advanced Bionics", + "Mutation: Warped Heart", + "Icon of Vengeance", + "Razorsharp Spikes", + "Adamantium Lump", + "Artificer Tasset Plate" + ], + "Bronze I": [ + "Eye of Horus", + "Grand Skull Trophy", + "Powerful Auxiliary Core", + "Classified Data-Slate", + "Impressive Armor Trim", + "Mutation: Warped Skin" + ], + "Bronze II": [ + "Warp Touched Eye of Horus", + "Battle Plan", + "Anointed Auxiliary Core", + "Powerful Micro-Generator", + "Blasphemous Armor Trim", + "Adamantium Bar" + ], + "Bronze III": [ + "Kill Count", + "Grand Helmet Trophy", + "Icon of Daemonic Vengeance", + "Murderous Spikes", + "Daemonic Armor Trim", + "Mutation: Metallic Skin" + ], + "Silver I": [ + "Warp Touched Eye of Horus", + "Mutation: Regenerative Blood", + "Icon of Daemonic Vengeance", + "Bionic Neural Pathways", + "Daemonic Armor Trim", + "Decorated Cloak" + ], + "Silver II": [ + "Warp Touched Eye of Horus", + "Terminator Honours", + "Icon of Infernal Vengeance", + "Anointed Micro-Generator", + "Infernal Armor Trim", + "Mutation: Metallic Skin" + ], + "Silver III": [ + "Infernal Eye of Horus", + "Mutation: Otherworldly Power", + "Icon of Daemonic Vengeance", + "Imposing Horns", + "Daemonic Armor Trim", + "Relic Tasset Plate" + ], + "Gold I": [ + "Mark of Chaos Undivided", + "Grandiose Skull Ornament", + "Icon of Infernal Vengeance", + "Powered Blade", + "Infernal Armor Trim", + "Mutation: Impenetrable Skin" + ], + "Gold II": [ + "Infernal Eye of Horus", + "Grandiose Skull Ornament", + "Daemon Shells", + "Powered Blade", + "Black Rune", + "Relic Tasset Plate" + ], + "Gold III": [ + "Mark of Chaos Undivided", + "Mutation: Otherworldly Power", + "Daemon Shells", + "Imposing Horns", + "Black Rune", + "Mutation: Impenetrable Skin" + ], + "Diamond I": [ + "Mark of Chaos Undivided", + "Grand Strategy", + "Daemon Shells", + "Relic Auxiliary Core", + "Black Rune", + "Ceramite Plates" + ] + }, + "Typhus": { + "Stone I": [ + "Chip Damage", + "Minor Bionic Enhancement", + "Vox-Caster", + "Nasty Spikes", + "Adamantium Ore", + "Mutation: Tough Skin" + ], + "Stone II": [ + "Ropes and Chains", + "Mutation: Warped Muscles", + "Auspex", + "Attack Vector Data-Slate", + "Pile of Salvage", + "Blessed Tasset Plate" + ], + "Stone III": ["Wires", "Helmet Trophy", "Fine Auxiliary Core", "Fine Micro-Generator", "Armor Trim", "Cloak"], + "Iron I": [ + "Reinforced Cables", + "Mutation: Warped Lungs", + "Locator Beacon", + "Razorsharp Spikes", + "Adamantium Lump", + "Mutation: Scaly Skin" + ], + "Iron II": [ + "Reinforced Cables", + "Helmet Trophy", + "Fine Auxiliary Core", + "Supernatural Sight", + "Box of Salvage", + "Adamantium Bar" + ], + "Iron III": [ + "Electromantic Cable Bundle", + "Mutation: Warped Heart", + "Sigil of Decay", + "Razorsharp Spikes", + "Adamantium Lump", + "Artificer Tasset Plate" + ], + "Bronze I": [ + "Plague Bell", + "Grand Skull Trophy", + "Powerful Auxiliary Core", + "Classified Data-Slate", + "Impressive Armor Trim", + "Mutation: Warped Skin" + ], + "Bronze II": [ + "Death Bell", + "Advanced Bionics", + "Anointed Auxiliary Core", + "Powerful Micro-Generator", + "Unnatural Vapour Dispenser", + "Adamantium Bar" + ], + "Bronze III": [ + "Battle Scar", + "Grand Helmet Trophy", + "Sigil of Inevitable Decay", + "Murderous Spikes", + "Death Shroud", + "Mutation: Metallic Skin" + ], + "Silver I": [ + "Death Bell", + "Mutation: Regenerative Blood", + "Sigil of Inevitable Decay", + "Bionic Neural Pathways", + "Death Shroud", + "Decorated Cloak" + ], + "Silver II": [ + "Death Bell", + "Terminator Honours", + "Sigil of Eternal Decay", + "Anointed Micro-Generator", + "Immaterial Shroud", + "Mutation: Metallic Skin" + ], + "Silver III": [ + "Bell of Despair", + "Mutation: Otherworldly Power", + "Sigil of Inevitable Decay", + "Imposing Horns", + "Death Shroud", + "Relic Tasset Plate" + ], + "Gold I": [ + "Mark of Nurgle", + "Tome of Arcane Knowledge", + "Sigil of Eternal Decay", + "Powered Blade", + "Immaterial Shroud", + "Mutation: Impenetrable Skin" + ], + "Gold II": [ + "Bell of Despair", + "Tome of Arcane Knowledge", + "Virulent Rounds", + "Powered Blade", + "Cloud of Flies", + "Relic Tasset Plate" + ], + "Gold III": [ + "Mark of Nurgle", + "Mutation: Otherworldly Power", + "Virulent Rounds", + "Imposing Horns", + "Cloud of Flies", + "Mutation: Impenetrable Skin" + ], + "Diamond I": [ + "Mark of Nurgle", + "Grandiose Skull Ornament", + "Virulent Rounds", + "Relic Auxiliary Core", + "Cloud of Flies", + "Adamantium Plates" + ] + }, + "Maladus": { + "Stone I": [ + "Wires", + "Minor Bionic Enhancement", + "Weapon Parts", + "Nasty Spikes", + "Adamantium Ore", + "Mutation: Tough Skin" + ], + "Stone II": [ + "Chip Damage", + "Mutation: Warped Muscles", + "Basic Auxiliary Core", + "Combat Stimms", + "Metal Joints", + "Blessed Tasset Plate" + ], + "Stone III": [ + "Chip Damage", + "Helmet Trophy", + "Fine Auxiliary Core", + "Combat Stimms", + "Armor Trim", + "Blessed Tasset Plate" + ], + "Iron I": [ + "Reinforced Cables", + "Mutation: Warped Lungs", + "Locator Beacon", + "Razorsharp Spikes", + "Adamantium Lump", + "Mutation: Scaly Skin" + ], + "Iron II": [ + "Reinforced Cables", + "Helmet Trophy", + "Fine Auxiliary Core", + "Prey-Sight", + "Box of Salvage", + "Adamantium Bar" + ], + "Iron III": [ + "Advanced Bionics", + "Mutation: Warped Heart", + "Sigil of Decay", + "Razorsharp Spikes", + "Adamantium Lump", + "Artificer Tasset Plate" + ], + "Bronze I": [ + "Plague Bell", + "Grand Skull Trophy", + "Powerful Auxiliary Core", + "Bionic Eye", + "Impressive Armor Trim", + "Mutation: Warped Skin" + ], + "Bronze II": [ + "Death Bell", + "Grand Skull Trophy", + "Powerful Auxiliary Core", + "Advanced Combat Stimms", + "Unnatural Vapour Dispenser", + "Adamantium Bar" + ], + "Bronze III": [ + "Battle Scar", + "Grand Helmet Trophy", + "Sigil of Inevitable Decay", + "Murderous Spikes", + "Death Shroud", + "Mutation: Metallic Skin" + ], + "Silver I": [ + "Death Bell", + "Mutation: Regenerative Blood", + "Sigil of Inevitable Decay", + "Bionic Neural Pathways", + "Death Shroud", + "Ancient Tasset Plate" + ], + "Silver II": [ + "Death Bell", + "Terminator Honours", + "Sigil of Eternal Decay", + "Refined Combat Stimms", + "Immaterial Shroud", + "Mutation: Metallic Skin" + ], + "Silver III": [ + "Bell of Despair", + "Mutation: Otherworldly Power", + "Sigil of Inevitable Decay", + "Imposing Horns", + "Death Shroud", + "Relic Tasset Plate" + ], + "Gold I": [ + "Mark of Nurgle", + "Relic Bionic Enhancement", + "Sigil of Eternal Decay", + "Powered Blade", + "Immaterial Shroud", + "Mutation: Impenetrable Skin" + ], + "Gold II": [ + "Bell of Despair", + "Relic Bionic Enhancement", + "Virulent Rounds", + "Powered Blade", + "Cloud of Flies", + "Relic Tasset Plate" + ], + "Gold III": [ + "Mark of Nurgle", + "Mutation: Otherworldly Power", + "Virulent Rounds", + "Imposing Horns", + "Cloud of Flies", + "Mutation: Impenetrable Skin" + ], + "Diamond I": [ + "Mark of Nurgle", + "Grandiose Skull Ornament", + "Virulent Rounds", + "Relic Auxiliary Core", + "Cloud of Flies", + "Adamantium Plates" + ] + }, + "Nauseous Rotbone": { + "Stone I": [ + "Standard-Issue Tourniquet", + "Healing Ointment", + "Vox-Caster", + "Nasty Spikes", + "Pile of Salvage", + "Mutation: Tough Skin" + ], + "Stone II": [ + "Ropes and Chains", + "Mutation: Warped Muscles", + "Frag Grenade", + "Barrel of Promethium", + "Armor Trim", + "Blessed Tasset Plate" + ], + "Stone III": ["Chip Damage", "Satchel", "Belt of Frag Grenades", "Combat Stimms", "Pile of Salvage", "Cloak"], + "Iron I": [ + "Enriched Rations", + "Mutation: Warped Lungs", + "Fine Micro-Generator", + "Razorsharp Spikes", + "Adamantium Lump", + "Mutation: Scaly Skin" + ], + "Iron II": ["Writings", "Satchel", "Fine Auxiliary Core", "Prey-Sight", "Box of Salvage", "Adamantium Bar"], + "Iron III": [ + "Box of Rations", + "Mutation: Warped Heart", + "Sigil of Decay", + "Razorsharp Spikes", + "Adamantium Lump", + "Artificer Tasset Plate" + ], + "Bronze I": [ + "Plague Bell", + "Medical Supply Crate", + "Krak Grenade", + "Advanced Combat Stimms", + "Impressive Armor Trim", + "Mutation: Warped Skin" + ], + "Bronze II": [ + "Death Bell", + "Medical Supply Crate", + "Belt of Krak Grenades", + "Advanced Combat Stimms", + "Unnatural Vapour Dispenser", + "Adamantium Bar" + ], + "Bronze III": [ + "Battle Scar", + "Exquisite Medical Supplies", + "Sigil of Inevitable Decay", + "Murderous Spikes", + "Death Shroud", + "Mutation: Metallic Skin" + ], + "Silver I": [ + "Death Bell", + "Mutation: Regenerative Blood", + "Sigil of Inevitable Decay", + "Blessed Promethium Canister", + "Death Shroud", + "Decorated Cloak" + ], + "Silver II": [ + "Death Bell", + "Golden Ornamental Skull", + "Sigil of Eternal Decay", + "Refined Combat Stimms", + "Immaterial Shroud", + "Mutation: Metallic Skin" + ], + "Silver III": [ + "Bell of Despair", + "Mutation: Otherworldly Power", + "Sigil of Inevitable Decay", + "Imposing Horns", + "Death Shroud", + "Relic Tasset Plate" + ], + "Gold I": [ + "Mark of Nurgle", + "Tome of Arcane Knowledge", + "Sigil of Eternal Decay", + "Blessed Promethium Tank", + "Immaterial Shroud", + "Mutation: Impenetrable Skin" + ], + "Gold II": [ + "Bell of Despair", + "Tome of Arcane Knowledge", + "Virulent Rounds", + "Blessed Promethium Tank", + "Cloud of Flies", + "Divine Cloak" + ], + "Gold III": [ + "Mark of Nurgle", + "Mutation: Otherworldly Power", + "Virulent Rounds", + "Imposing Horns", + "Cloud of Flies", + "Mutation: Impenetrable Skin" + ], + "Diamond I": [ + "Mark of Nurgle", + "Grandiose Skull Ornament", + "Virulent Rounds", + "Relic Micro-Generator", + "Cloud of Flies", + "Adamantium Plates" + ] + }, + "Pestillian": { + "Stone I": [ + "Chip Damage", + "Healing Ointment", + "Weapon Parts", + "Nasty Spikes", + "Pile of Salvage", + "Mutation: Tough Skin" + ], + "Stone II": [ + "Standard-Issue Tourniquet", + "Mutation: Warped Muscles", + "Frag Grenade", + "Barrel of Promethium", + "Armor Trim", + "Blessed Tasset Plate" + ], + "Stone III": [ + "Ropes and Chains", + "Satchel", + "Belt of Frag Grenades", + "Combat Stimms", + "Pile of Salvage", + "Cloak" + ], + "Iron I": [ + "Enriched Rations", + "Mutation: Warped Lungs", + "Fine Micro-Generator", + "Razorsharp Spikes", + "Adamantium Lump", + "Mutation: Scaly Skin" + ], + "Iron II": [ + "Enriched Rations", + "Satchel", + "Fine Auxiliary Core", + "Prey-Sight", + "Box of Salvage", + "Adamantium Bar" + ], + "Iron III": [ + "Box of Rations", + "Mutation: Warped Heart", + "Sigil of Decay", + "Razorsharp Spikes", + "Adamantium Lump", + "Artificer Tasset Plate" + ], + "Bronze I": [ + "Plague Bell", + "Medical Supply Crate", + "Krak Grenade", + "Advanced Combat Stimms", + "Impressive Armor Trim", + "Mutation: Warped Skin" + ], + "Bronze II": [ + "Death Bell", + "Medical Supply Crate", + "Belt of Krak Grenades", + "Advanced Combat Stimms", + "Unnatural Vapour Dispenser", + "Adamantium Bar" + ], + "Bronze III": [ + "Battle Scar", + "Exquisite Medical Supplies", + "Sigil of Inevitable Decay", + "Murderous Spikes", + "Death Shroud", + "Mutation: Metallic Skin" + ], + "Silver I": [ + "Death Bell", + "Mutation: Regenerative Blood", + "Sigil of Inevitable Decay", + "Blessed Promethium Canister", + "Death Shroud", + "Decorated Cloak" + ], + "Silver II": [ + "Death Bell", + "Golden Ornamental Skull", + "Sigil of Eternal Decay", + "Refined Combat Stimms", + "Immaterial Shroud", + "Mutation: Metallic Skin" + ], + "Silver III": [ + "Bell of Despair", + "Mutation: Otherworldly Power", + "Sigil of Inevitable Decay", + "Imposing Horns", + "Death Shroud", + "Relic Tasset Plate" + ], + "Gold I": [ + "Mark of Nurgle", + "Tome of Arcane Knowledge", + "Sigil of Eternal Decay", + "Blessed Promethium Tank", + "Immaterial Shroud", + "Mutation: Impenetrable Skin" + ], + "Gold II": [ + "Bell of Despair", + "Tome of Arcane Knowledge", + "Virulent Rounds", + "Blessed Promethium Tank", + "Cloud of Flies", + "Relic Tasset Plate" + ], + "Gold III": [ + "Mark of Nurgle", + "Mutation: Otherworldly Power", + "Virulent Rounds", + "Imposing Horns", + "Cloud of Flies", + "Mutation: Impenetrable Skin" + ], + "Diamond I": [ + "Mark of Nurgle", + "Grandiose Skull Ornament", + "Virulent Rounds", + "Blessed Promethium Tank", + "Cloud of Flies", + "Adamantium Plates" + ] + }, + "Corrodius": { + "Stone I": [ + "Chip Damage", + "Field Ration", + "Vox-Caster", + "Nasty Spikes", + "Adamantium Ore", + "Mutation: Tough Skin" + ], + "Stone II": [ + "Ropes and Chains", + "Mutation: Warped Muscles", + "Frag Grenade", + "Plasma Cell", + "Armor Trim", + "Blessed Tasset Plate" + ], + "Stone III": [ + "Standard-Issue Tourniquet", + "Satchel", + "Belt of Frag Grenades", + "Plasma Cell", + "Pile of Salvage", + "Cloak" + ], + "Iron I": [ + "Enriched Rations", + "Mutation: Warped Lungs", + "Fine Micro-Generator", + "Razorsharp Spikes", + "Adamantium Lump", + "Mutation: Scaly Skin" + ], + "Iron II": ["Writings", "Satchel", "Fine Auxiliary Core", "Prey-Sight", "Box of Salvage", "Adamantium Bar"], + "Iron III": [ + "Box of Rations", + "Mutation: Warped Heart", + "Sigil of Decay", + "Razorsharp Spikes", + "Adamantium Lump", + "Artificer Tasset Plate" + ], + "Bronze I": [ + "Plague Bell", + "Grand Skull Trophy", + "Krak Grenade", + "Plasma Cell Bundle", + "Impressive Armor Trim", + "Mutation: Warped Skin" + ], + "Bronze II": [ + "Death Bell", + "Grand Skull Trophy", + "Belt of Krak Grenades", + "Plasma Cell Bundle", + "Unnatural Vapour Dispenser", + "Adamantium Bar" + ], + "Bronze III": [ + "Battle Scar", + "Grand Helmet Trophy", + "Sigil of Inevitable Decay", + "Murderous Spikes", + "Death Shroud", + "Mutation: Metallic Skin" + ], + "Silver I": [ + "Death Bell", + "Mutation: Regenerative Blood", + "Sigil of Inevitable Decay", + "Bionic Neural Pathways", + "Death Shroud", + "Decorated Cloak" + ], + "Silver II": [ + "Death Bell", + "Golden Ornamental Skull", + "Sigil of Eternal Decay", + "Plasma Cell Crate", + "Immaterial Shroud", + "Mutation: Metallic Skin" + ], + "Silver III": [ + "Bell of Despair", + "Mutation: Otherworldly Power", + "Sigil of Inevitable Decay", + "Imposing Horns", + "Death Shroud", + "Relic Tasset Plate" + ], + "Gold I": [ + "Mark of Nurgle", + "Relic Bionic Enhancement", + "Sigil of Eternal Decay", + "Relic Auxiliary Core", + "Immaterial Shroud", + "Mutation: Impenetrable Skin" + ], + "Gold II": [ + "Bell of Despair", + "Relic Bionic Enhancement", + "Virulent Rounds", + "Relic Auxiliary Core", + "Cloud of Flies", + "Relic Tasset Plate" + ], + "Gold III": [ + "Mark of Nurgle", + "Mutation: Otherworldly Power", + "Virulent Rounds", + "Imposing Horns", + "Cloud of Flies", + "Mutation: Impenetrable Skin" + ], + "Diamond I": [ + "Mark of Nurgle", + "Grandiose Skull Ornament", + "Virulent Rounds", + "Blessed Promethium Tank", + "Cloud of Flies", + "Adamantium Plates" + ] + }, + "Yazaghor": { + "Stone I": [ + "Field Ration", + "Mutation: Warped Muscles", + "Ballistics Data", + "Nasty Spikes", + "Thick Skin", + "Sophisticated Material" + ], + "Stone II": [ + "Standard-Issue Tourniquet", + "Scrolls", + "Attack Vector Data-Slate", + "Razorsharp Spikes", + "Armor Trim", + "Mutation: Tough Skin" + ], + "Stone III": [ + "Enriched Rations", + "Bionic Enhancement", + "Ballistics Data", + "Canister of Chemicals", + "Box of Salvage", + "Blessed Tasset Plate" + ], + "Iron I": [ + "First Aid Kit", + "Mutation: Warped Lungs", + "Locator Beacon", + "Combat Stimms", + "Cloak", + "Sophisticated Material Ingot" + ], + "Iron II": [ + "Satchel", + "Box of Rations", + "Adamantium Blades", + "Barrel of Promethium", + "Crate of Salvage", + "Mutation: Scaly Skin" + ], + "Iron III": [ + "Box of Rations", + "Writings", + "Inferno Bolts", + "Advanced Combat Stimms", + "Adamantium Lump", + "Artificer Tasset Plate" + ], + "Bronze I": [ + "Tainted Text", + "Mutation: Warped Heart", + "Supernatural Sight", + "Tank of Promethium", + "Impressive Armor Trim", + "Sophisticated Material Bar" + ], + "Bronze II": [ + "Malefic Scroll", + "Grand Skull Trophy", + "Bionic Eye", + "Refined Combat Stimms", + "Ritual Implements", + "Mutation: Warped Skin" + ], + "Bronze III": [ + "Metal Decorative Skull", + "Grand Helmet Trophy", + "Ensorcelled Infusion", + "Murderous Spikes", + "Cabalistic Implements", + "Hypermaterial Shifter" + ], + "Silver I": [ + "Malefic Scroll", + "Golden Ornamental Skull", + "Ensorcelled Infusion", + "Warp Locus", + "Cabalistic Implements", + "Sophisticated Material Sheet" + ], + "Silver II": [ + "Malefic Scroll", + "Mutation: Regenerative Blood", + "Warpflame Infusion", + "Refined Combat Stimms", + "Hypermaterial Shifter", + "Mutation: Metallic Skin" + ], + "Silver III": [ + "Blessing of Tzeentch", + "Tome of Arcane Knowledge", + "Ensorcelled Infusion", + "Imposing Horns", + "Cabalistic Implements", + "Relic Tasset Plate" + ], + "Gold I": [ + "Athenaean Scroll", + "Grandiose Skull Ornament", + "Master-Crafted Ammo", + "Blessed Promethium Tank", + "Great Cult Implements", + "Sophisticated Material Plates" + ], + "Gold II": [ + "Mark of Tzeentch", + "Mutation: Otherworldly Power", + "Warpflame Infusion", + "Imposing Horns", + "Great Cult Implements", + "Mutation: Impenetrable Skin" + ], + "Gold III": [ + "Athenaean Scroll", + "Tome of Arcane Knowledge", + "Boonstone", + "Blessed Promethium Tank", + "Warpweave Robe", + "Relic Tasset Plate" + ], + "Diamond I": [ + "Mark of Tzeentch", + "Grand Strategy", + "Boonstone", + "Blessed Promethium Tank", + "Warpweave Robe", + "Adamantium Plates" + ] + }, + "Toth": { + "Stone I": [ + "Wires", + "Mutation: Warped Muscles", + "Round of Ammo", + "Nasty Spikes", + "Metal Joints", + "Adamantium Ore" + ], + "Stone II": [ + "Ropes and Chains", + "Mission Assignment", + "Attack Vector Data-Slate", + "Magazine", + "Armor Trim", + "Mutation: Tough Skin" + ], + "Stone III": [ + "Reinforced Cables", + "Bionic Enhancement", + "Weapon Parts", + "Canister of Chemicals", + "Advanced Rebreather", + "Blessed Tasset Plate" + ], + "Iron I": [ + "First Aid Kit", + "Mutation: Warped Lungs", + "Divinator Class Auspex", + "Divinator Class Auspex", + "Cloak", + "Adamantium Lump" + ], + "Iron II": [ + "Satchel", + "Battle Plan", + "Locator Beacon", + "Razorsharp Spikes", + "Crate of Salvage", + "Mutation: Scaly Skin" + ], + "Iron III": [ + "Electromantic Cable Bundle", + "Mission Objective", + "Inferno Bolts", + "Box of Ammo", + "Sophisticated Material Ingot", + "Artificer Tasset Plate" + ], + "Bronze I": [ + "Tainted Text", + "Mutation: Warped Heart", + "Supernatural Sight", + "Bionic Eye", + "Impressive Armor Trim", + "Adamantium Bar" + ], + "Bronze II": [ + "Malefic Scroll", + "Grand Skull Trophy", + "Classified Data-Slate", + "Anointed Auxiliary Core", + "Ritual Implements", + "Mutation: Warped Skin" + ], + "Bronze III": [ + "Metal Decorative Skull", + "Grand Helmet Trophy", + "Ensorcelled Infusion", + "Murderous Spikes", + "Cabalistic Implements", + "Hypermaterial Shifter" + ], + "Silver I": [ + "Malefic Scroll", + "Terminator Honours", + "Ensorcelled Infusion", + "Warp Locus", + "Cabalistic Implements", + "Adamantium Sheet" + ], + "Silver II": [ + "Malefic Scroll", + "Mutation: Regenerative Blood", + "Warpflame Infusion", + "Anointed Auxiliary Core", + "Hypermaterial Shifter", + "Mutation: Metallic Skin" + ], + "Silver III": [ + "Blessing of Tzeentch", + "Relic Bionic Enhancement", + "Ensorcelled Infusion", + "Autoloader", + "Cabalistic Implements", + "Relic Tasset Plate" + ], + "Gold I": [ + "Athenaean Scroll", + "Grandiose Skull Ornament", + "Master-Crafted Ammo", + "Powered Blade", + "Great Cult Implements", + "Adamantium Plates" + ], + "Gold II": [ + "Mark of Tzeentch", + "Mutation: Otherworldly Power", + "Warpflame Infusion", + "Imposing Horns", + "Great Cult Implements", + "Mutation: Impenetrable Skin" + ], + "Gold III": [ + "Athenaean Scroll", + "Relic Bionic Enhancement", + "Boonstone", + "Relic Auxiliary Core", + "Warpweave Robe", + "Relic Tasset Plate" + ], + "Diamond I": [ + "Mark of Tzeentch", + "Grand Strategy", + "Boonstone", + "Blessed Promethium Tank", + "Warpweave Robe", + "Ceramite Plates" + ] + }, + "Abraxas": { + "Stone I": [ + "Healing Ointment", + "Mutation: Warped Muscles", + "Auspex", + "Nasty Spikes", + "Rebreather", + "Sophisticated Material" + ], + "Stone II": [ + "Scrolls", + "Mission Assignment", + "Attack Vector Data-Slate", + "Razorsharp Spikes", + "Armor Trim", + "Mutation: Tough Skin" + ], + "Stone III": [ + "Writings", + "Bionic Enhancement", + "Vox-Caster", + "Canister of Chemicals", + "Advanced Rebreather", + "Cloak" + ], + "Iron I": [ + "First Aid Kit", + "Mutation: Warped Lungs", + "Divinator Class Auspex", + "Fine Micro-Generator", + "Blessed Tasset Plate", + "Sophisticated Material Ingot" + ], + "Iron II": [ + "Satchel", + "Battle Plan", + "Adamantium Blades", + "Barrel of Promethium", + "Artificer Tasset Plate", + "Mutation: Scaly Skin" + ], + "Iron III": [ + "Medical Supply Crate", + "Mission Objective", + "Inferno Bolts", + "Powerful Micro-Generator", + "Adamantium Lump", + "Crate of Salvage" + ], + "Bronze I": [ + "Tainted Text", + "Mutation: Warped Heart", + "Supernatural Sight", + "Tank of Promethium", + "Impressive Armor Trim", + "Fine Cloak" + ], + "Bronze II": [ + "Malefic Scroll", + "Grand Skull Trophy", + "Classified Data-Slate", + "Anointed Micro-Generator", + "Ritual Implements", + "Mutation: Warped Skin" + ], + "Bronze III": [ + "Metal Decorative Skull", + "Grand Helmet Trophy", + "Ensorcelled Infusion", + "Murderous Spikes", + "Cabalistic Implements", + "Hypermaterial Shifter" + ], + "Silver I": [ + "Malefic Scroll", + "Golden Ornamental Skull", + "Ensorcelled Infusion", + "Blessed Promethium Canister", + "Cabalistic Implements", + "Sophisticated Material Sheet" + ], + "Silver II": [ + "Malefic Scroll", + "Mutation: Regenerative Blood", + "Warpflame Infusion", + "Anointed Micro-Generator", + "Hypermaterial Shifter", + "Mutation: Metallic Skin" + ], + "Silver III": [ + "Blessing of Tzeentch", + "Tome of Arcane Knowledge", + "Ensorcelled Infusion", + "Blessed Promethium Tank", + "Cabalistic Implements", + "Divine Cloak" + ], + "Gold I": [ + "Athenaean Scroll", + "Grandiose Skull Ornament", + "Warp Locus", + "Relic Micro-Generator", + "Great Cult Implements", + "Sophisticated Material Plates" + ], + "Gold II": [ + "Mark of Tzeentch", + "Mutation: Otherworldly Power", + "Warpflame Infusion", + "Imposing Horns", + "Great Cult Implements", + "Mutation: Impenetrable Skin" + ], + "Gold III": [ + "Athenaean Scroll", + "Tome of Arcane Knowledge", + "Boonstone", + "Blessed Promethium Tank", + "Warpweave Robe", + "Divine Cloak" + ], + "Diamond I": [ + "Mark of Tzeentch", + "Tome of Arcane Knowledge", + "Boonstone", + "Blessed Promethium Tank", + "Warpweave Robe", + "Ceramite Plates" + ] + }, + "Thaumachus": { + "Stone I": [ + "Healing Ointment", + "Mutation: Warped Muscles", + "Auspex", + "Nasty Spikes", + "Rebreather", + "Sophisticated Material" + ], + "Stone II": [ + "Scrolls", + "Mission Assignment", + "Attack Vector Data-Slate", + "Razorsharp Spikes", + "Armor Trim", + "Mutation: Tough Skin" + ], + "Stone III": [ + "Writings", + "Bionic Enhancement", + "Vox-Caster", + "Canister of Chemicals", + "Advanced Rebreather", + "Cloak" + ], + "Iron I": [ + "First Aid Kit", + "Mutation: Warped Lungs", + "Divinator Class Auspex", + "Fine Micro-Generator", + "Blessed Tasset Plate", + "Sophisticated Material Ingot" + ], + "Iron II": [ + "Satchel", + "Battle Plan", + "Adamantium Blades", + "Barrel of Promethium", + "Artificer Tasset Plate", + "Mutation: Scaly Skin" + ], + "Iron III": [ + "Medical Supply Crate", + "Mission Objective", + "Inferno Bolts", + "Powerful Micro-Generator", + "Adamantium Lump", + "Crate of Salvage" + ], + "Bronze I": [ + "Tainted Text", + "Mutation: Warped Heart", + "Supernatural Sight", + "Tank of Promethium", + "Impressive Armor Trim", + "Fine Cloak" + ], + "Bronze II": [ + "Malefic Scroll", + "Grand Skull Trophy", + "Classified Data-Slate", + "Anointed Micro-Generator", + "Ritual Implements", + "Mutation: Warped Skin" + ], + "Bronze III": [ + "Metal Decorative Skull", + "Grand Helmet Trophy", + "Ensorcelled Infusion", + "Murderous Spikes", + "Cabalistic Implements", + "Hypermaterial Shifter" + ], + "Silver I": [ + "Malefic Scroll", + "Golden Ornamental Skull", + "Ensorcelled Infusion", + "Blessed Promethium Canister", + "Cabalistic Implements", + "Sophisticated Material Sheet" + ], + "Silver II": [ + "Malefic Scroll", + "Mutation: Regenerative Blood", + "Warpflame Infusion", + "Anointed Micro-Generator", + "Hypermaterial Shifter", + "Mutation: Metallic Skin" + ], + "Silver III": [ + "Blessing of Tzeentch", + "Tome of Arcane Knowledge", + "Ensorcelled Infusion", + "Blessed Promethium Tank", + "Cabalistic Implements", + "Divine Cloak" + ], + "Gold I": [ + "Athenaean Scroll", + "Grandiose Skull Ornament", + "Warp Locus", + "Relic Micro-Generator", + "Great Cult Implements", + "Sophisticated Material Plates" + ], + "Gold II": [ + "Mark of Tzeentch", + "Mutation: Otherworldly Power", + "Warpflame Infusion", + "Imposing Horns", + "Great Cult Implements", + "Mutation: Impenetrable Skin" + ], + "Gold III": [ + "Athenaean Scroll", + "Tome of Arcane Knowledge", + "Boonstone", + "Blessed Promethium Tank", + "Warpweave Robe", + "Divine Cloak" + ], + "Diamond I": [ + "Mark of Tzeentch", + "Tome of Arcane Knowledge", + "Boonstone", + "Blessed Promethium Tank", + "Warpweave Robe", + "Ceramite Plates" + ] + }, + "Ahriman": { + "Stone I": [ + "Healing Ointment", + "Mutation: Warped Muscles", + "Can of Promethium", + "Nasty Spikes", + "Armor Trim", + "Rebreather" + ], + "Stone II": [ + "Scrolls", + "Ropes and Chains", + "Barrel of Promethium", + "Locator Beacon", + "Mutation: Tough Skin", + "Rebreather" + ], + "Stone III": ["Writings", "Satchel", "Otherworldly Energy", "Auspex", "Blessed Tasset Plate", "Cloak"], + "Iron I": [ + "First Aid Kit", + "Mission Objective", + "Barrel of Promethium", + "Fine Micro-Generator", + "Mutation: Scaly Skin", + "Ceramite Lump" + ], + "Iron II": [ + "Writings", + "Battle Plan", + "Otherworldly Energy Reservoir", + "Locator Beacon", + "Artificer Tasset Plate", + "Cloak" + ], + "Iron III": [ + "Battle Plan", + "Mutation: Warped Lungs", + "Inferno Bolts", + "Powerful Micro-Generator", + "Blessed Tasset Plate", + "Subdermal Plating" + ], + "Bronze I": [ + "Tainted Text", + "Mutation: Warped Heart", + "Supernatural Sight", + "Classified Data-Slate", + "Mutation: Warped Skin", + "Ceramite Bar" + ], + "Bronze II": [ + "Malefic Scroll", + "Grand Skull Trophy", + "Tank of Promethium", + "Anointed Micro-Generator", + "Ritual Implements", + "Fine Cloak" + ], + "Bronze III": [ + "Ancient Runes", + "Grand Helmet Trophy", + "Ensorcelled Infusion", + "Murderous Spikes", + "Cabalistic Implements", + "Duplicate Organ" + ], + "Silver I": [ + "Malefic Scroll", + "Secret Agenda", + "Ensorcelled Infusion", + "Warp Locus", + "Cabalistic Implements", + "Ceramite Sheet" + ], + "Silver II": [ + "Blessing of Tzeentch", + "Mutation: Regenerative Blood", + "Warpflame Infusion", + "Anointed Micro-Generator", + "Cabalistic Implements", + "Decorated Cloak" + ], + "Silver III": [ + "Malefic Scroll", + "Grand Strategy", + "Ensorcelled Infusion", + "Imposing Horns", + "Psyk-Conductive Material", + "Ceramite Plates" + ], + "Gold I": [ + "Athenaean Scroll", + "Grandiose Skull Ornament", + "Psychic Force Conduit", + "Relic Micro-Generator", + "Great Cult Implements", + "Divine Cloak" + ], + "Gold II": [ + "Mark of Tzeentch", + "Mutation: Otherworldly Power", + "Warpflame Infusion", + "Imposing Horns", + "Great Cult Implements", + "Mutation: Impenetrable Skin" + ], + "Gold III": [ + "Athenaean Scroll", + "Tome of Arcane Knowledge", + "Boonstone", + "Psychic Focus", + "Warpweave Robe", + "Divine Cloak" + ], + "Diamond I": [ + "Mark of Tzeentch", + "Tome of Arcane Knowledge", + "Boonstone", + "Blessed Promethium Tank", + "Warpweave Robe", + "Ceramite Plates" + ] + }, + "Ragnar Blackmane": { + "Stone I": [ + "Ropes and Chains", + "The Iron Phoenix", + "Canister of Chemicals", + "Weapon Anointment Oils", + "Armor Trim", + "Fine Purity Seal" + ], + "Stone II": [ + "Field Ration", + "Minor Bionic Enhancement", + "Combat Stimms", + "Blessed Weapon Oils", + "Rebreather", + "Purity Seal" + ], + "Stone III": [ + "Enriched Rations", + "Bionic Enhancement", + "Vox-Caster", + "Auspex", + "Blessed Tasset Plate", + "Oath Seal" + ], + "Iron I": [ + "Holster and Pockets", + "Helmet Trophy", + "Combat Stimms", + "Fine Micro-Generator", + "Cloak", + "Adamantium Lump" + ], + "Iron II": [ + "Enriched Rations", + "Grand Skull Trophy", + "Adamantium Blades", + "Divinator Class Auspex", + "Artificer Tasset Plate", + "Oath Seal" + ], + "Iron III": [ + "Box of Rations", + "The Gold Phoenix", + "Wolf Tooth Necklace", + "Powerful Micro-Generator", + "Sophisticated Material Ingot", + "Subdermal Plating" + ], + "Bronze I": [ + "Wolf Tail Talisman", + "The Phoenix Ascendant", + "Prey-Sight", + "Classified Data-Slate", + "Fine Cloak", + "Ceramite Bar" + ], + "Bronze II": [ + "Runic Talisman", + "Advanced Bionics", + "Krak Grenade", + "Anointed Micro-Generator", + "Beast Hide", + "Blessed Purity Seal" + ], + "Bronze III": [ + "Kill Count", + "Mars-Pattern Bionics", + "Thunderwolf Tooth Necklace", + "Sanctified Weapon Oils", + "Ice Troll Hide", + "Duplicate Organ" + ], + "Silver I": [ + "Runic Talisman", + "Terminator Honours", + "Thunderwolf Tooth Necklace", + "Relic Hilt", + "Ice Troll Hide", + "Ceramite Sheet" + ], + "Silver II": [ + "Mjod", + "Greater Reliquary of Protection", + "Kraken Tooth Necklace", + "Anointed Micro-Generator", + "Ice Troll Hide", + "Grand Purity Seal" + ], + "Silver III": [ + "Runic Talisman", + "Grandiose Skull Ornament", + "Thunderwolf Tooth Necklace", + "Digital Weapons", + "Archeo-Tech Remnant", + "Ceramite Plates" + ], + "Gold I": [ + "Talisman of Storms", + "Relic Bionic Enhancement", + "Archeotech Bionics", + "Relic Micro-Generator", + "Ice Wyrm Hide", + "Seal of the Emperor's Protection" + ], + "Gold II": [ + "Personal Saga", + "Legendary Reliquary of Protection", + "Kraken Tooth Necklace", + "Digital Weapons", + "Ice Wyrm Hide", + "Divine Cloak" + ], + "Gold III": [ + "Talisman of Storms", + "Grandiose Skull Ornament", + "Frostblade", + "Powered Blade", + "Runic Tasset Plate", + "Seal of the Emperor's Protection" + ], + "Diamond I": [ + "Personal Saga", + "Grand Strategy", + "Frostblade", + "Hyperstim", + "Runic Tasset Plate", + "Ceramite Plates" + ] + }, + "Actus": { + "Stone I": [ + "Ropes and Chains", + "The Iron Phoenix", + "Weapon Parts", + "Weapon Anointment Oils", + "Sophisticated Material", + "Adamantium Ore" + ], + "Stone II": [ + "Scrolls", + "Minor Bionic Enhancement", + "Blessed Weapon Oils", + "Plasma Cell", + "Purity Seal", + "Rebreather" + ], + "Stone III": [ + "Writings", + "Bionic Enhancement", + "Basic Auxiliary Core", + "Single Power Pack", + "Cloak", + "Air Purificator" + ], + "Iron I": [ + "Holster and Pockets", + "Reinforced Cables", + "Locator Beacon", + "Plasma Cell", + "Oath Seal", + "Adamantium Lump" + ], + "Iron II": [ + "Writings", + "Electromantic Cable Bundle", + "Divinator Class Auspex", + "Power Pack Bundle", + "Cloak", + "Subdermal Plating" + ], + "Iron III": [ + "The Gold Phoenix", + "Grandiloquent Litanical", + "Motive Force Capacitator", + "Powerful Auxiliary Core", + "Sophisticated Material Ingot", + "Valuable Fabric" + ], + "Bronze I": [ + "The Phoenix Ascendant", + "Repair-Kit", + "High-Capacity Power Pack", + "Classified Data-Slate", + "Adamantium Bar", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Servo-Arc Claw", + "Advanced Bionics", + "Anointed Auxiliary Core", + "Bionic Eye", + "Cogwheel Crest", + "Fine Cloak" + ], + "Bronze III": [ + "Metal Decorative Skull", + "Mars-Pattern Bionics", + "Sanctified Weapon Oils", + "Enhanced Motive Force Capacitator", + "Enhanced Cogwheel Crest", + "Unyielding Rivets" + ], + "Silver I": [ + "Servo-Arc Claw", + "Golden Ornamental Skull", + "Enhanced Motive Force Capacitator", + "Bionic Neural Pathways", + "Enhanced Cogwheel Crest", + "Adamantium Sheet" + ], + "Silver II": [ + "Blessed Cogitator", + "Greater Reliquary of Protection", + "Relic Motive Force Capacitator", + "Anointed Auxiliary Core", + "Enhanced Cogwheel Crest", + "Decorated Cloak" + ], + "Silver III": [ + "Advanced Exospine", + "Servo-Arc Claw", + "Digital Weapons", + "Enhanced Motive Force Capacitator", + "Archeo-Tech Remnant", + "Adamantium Plates" + ], + "Gold I": [ + "Mechadendrite Hive", + "Relic Bionic Enhancement", + "Relic Auxiliary Core", + "Archeotech Bionics", + "Artificer Cogwheel Crest", + "Divine Cloak" + ], + "Gold II": [ + "Sanctus Canister", + "Legendary Reliquary of Protection", + "Relic Motive Force Capacitator", + "Digital Weapons", + "Artificer Cogwheel Crest", + "Seal of the Emperor's Protection" + ], + "Gold III": [ + "Mechadendrite Hive", + "Grandiose Skull Ornament", + "Prehensile Dataspike", + "Plasma Coil", + "Kataphron Armour", + "Divine Cloak" + ], + "Diamond I": [ + "Sanctus Canister", + "Tome of Arcane Knowledge", + "Prehensile Dataspike", + "Plasma Coil", + "Kataphron Armour", + "Adamantium Plates" + ] + }, + "Vitruvius": { + "Stone I": [ + "Ropes and Chains", + "The Iron Phoenix", + "Weapon Parts", + "Weapon Anointment Oils", + "Sophisticated Material", + "Adamantium Ore" + ], + "Stone II": [ + "Scrolls", + "Minor Bionic Enhancement", + "Plasma Cell", + "Blessed Weapon Oils", + "Purity Seal", + "Rebreather" + ], + "Stone III": [ + "Writings", + "Bionic Enhancement", + "Basic Auxiliary Core", + "Single Power Pack", + "Cloak", + "Air Purificator" + ], + "Iron I": [ + "Holster and Pockets", + "Reinforced Cables", + "Locator Beacon", + "Plasma Cell", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "Writings", + "Electromantic Cable Bundle", + "Divinator Class Auspex", + "Power Pack Bundle", + "Cloak", + "Subdermal Plating" + ], + "Iron III": [ + "The Gold Phoenix", + "Grandiloquent Litanical", + "Motive Force Capacitator", + "Powerful Auxiliary Core", + "Sophisticated Material Ingot", + "Valuable Fabric" + ], + "Bronze I": [ + "The Phoenix Ascendant", + "Repair-Kit", + "High-Capacity Power Pack", + "Classified Data-Slate", + "Adamantium Bar", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Servo-Arc Claw", + "Advanced Bionics", + "Anointed Auxiliary Core", + "Bionic Eye", + "Cogwheel Crest", + "Fine Cloak" + ], + "Bronze III": [ + "Metal Decorative Skull", + "Mars-Pattern Bionics", + "Sanctified Weapon Oils", + "Enhanced Motive Force Capacitator", + "Enhanced Cogwheel Crest", + "Unyielding Rivets" + ], + "Silver I": [ + "Servo-Arc Claw", + "Golden Ornamental Skull", + "Enhanced Motive Force Capacitator", + "Bionic Neural Pathways", + "Enhanced Cogwheel Crest", + "Adamantium Sheet" + ], + "Silver II": [ + "Blessed Cogitator", + "Greater Reliquary of Protection", + "Relic Motive Force Capacitator", + "Anointed Auxiliary Core", + "Enhanced Cogwheel Crest", + "Decorated Cloak" + ], + "Silver III": [ + "Advanced Exospine", + "Servo-Arc Claw", + "Digital Weapons", + "Enhanced Motive Force Capacitator", + "Archeo-Tech Remnant", + "Adamantium Plates" + ], + "Gold I": [ + "Mechadendrite Hive", + "Relic Bionic Enhancement", + "Relic Auxiliary Core", + "Archeotech Bionics", + "Artificer Cogwheel Crest", + "Divine Cloak" + ], + "Gold II": [ + "Sanctus Canister", + "Legendary Reliquary of Protection", + "Relic Motive Force Capacitator", + "Digital Weapons", + "Artificer Cogwheel Crest", + "Seal of the Emperor's Protection" + ], + "Gold III": [ + "Mechadendrite Hive", + "Grandiose Skull Ornament", + "Prehensile Dataspike", + "Plasma Coil", + "Kataphron Armour", + "Divine Cloak" + ], + "Diamond I": [ + "Sanctus Canister", + "Tome of Arcane Knowledge", + "Prehensile Dataspike", + "Plasma Coil", + "Kataphron Armour", + "Adamantium Plates" + ] + }, + "Tan Gi'Da": { + "Stone I": [ + "Ropes and Chains", + "The Iron Phoenix", + "Weapon Anointment Oils", + "Auspex", + "Sophisticated Material", + "Adamantium Ore" + ], + "Stone II": [ + "Mission Assignment", + "Minor Bionic Enhancement", + "Blessed Weapon Oils", + "Fine Micro-Generator", + "Rebreather", + "Purity Seal" + ], + "Stone III": [ + "Mission Objective", + "Bionic Enhancement", + "Vox-Caster", + "Basic Auxiliary Core", + "Cloak", + "Air Purificator" + ], + "Iron I": [ + "Holster and Pockets", + "Reinforced Cables", + "Locator Beacon", + "Fine Micro-Generator", + "Adamantium Lump", + "Oath Seal" + ], + "Iron II": [ + "Mission Objective", + "Electromantic Cable Bundle", + "Adamantium Blades", + "Divinator Class Auspex", + "Cloak", + "Crate of Salvage" + ], + "Iron III": [ + "The Gold Phoenix", + "Battle Plan", + "Motive Force Capacitator", + "Powerful Auxiliary Core", + "Sophisticated Material Ingot", + "Valuable Fabric" + ], + "Bronze I": [ + "The Phoenix Ascendant", + "Repair-Kit", + "Prey-Sight", + "Classified Data-Slate", + "Adamantium Bar", + "Blessed Purity Seal" + ], + "Bronze II": [ + "Advanced Bionics", + "Servo-Arc Claw", + "Bionic Eye", + "Anointed Auxiliary Core", + "Cogwheel Crest", + "Fine Cloak" + ], + "Bronze III": [ + "Metal Decorative Skull", + "Mars-Pattern Bionics", + "Sanctified Weapon Oils", + "Enhanced Motive Force Capacitator", + "Enhanced Cogwheel Crest", + "Unyielding Rivets" + ], + "Silver I": [ + "Servo-Arc Claw", + "Golden Ornamental Skull", + "Enhanced Motive Force Capacitator", + "Bionic Neural Pathways", + "Enhanced Cogwheel Crest", + "Adamantium Sheet" + ], + "Silver II": [ + "Blessed Cogitator", + "Greater Reliquary of Protection", + "Relic Motive Force Capacitator", + "Anointed Auxiliary Core", + "Enhanced Cogwheel Crest", + "Decorated Cloak" + ], + "Silver III": [ + "Grand Strategy", + "Servo-Arc Claw", + "Digital Weapons", + "Enhanced Motive Force Capacitator", + "Archeo-Tech Remnant", + "Adamantium Plates" + ], + "Gold I": [ + "Mechadendrite Hive", + "Relic Bionic Enhancement", + "Relic Auxiliary Core", + "Archeotech Bionics", + "Artificer Cogwheel Crest", + "Divine Cloak" + ], + "Gold II": [ + "Sanctus Canister", + "Legendary Reliquary of Protection", + "Relic Motive Force Capacitator", + "Digital Weapons", + "Artificer Cogwheel Crest", + "Seal of the Emperor's Protection" + ], + "Gold III": [ + "Mechadendrite Hive", + "Grandiose Skull Ornament", + "Prehensile Dataspike", + "Powered Blade", + "Kataphron Armour", + "Divine Cloak" + ], + "Diamond I": [ + "Sanctus Canister", + "Grand Strategy", + "Prehensile Dataspike", + "Relic Micro-Generator", + "Kataphron Armour", + "Adamantium Plates" + ] + } } diff --git a/src/assets/recipeData.json b/src/assets/recipeData.json index b275ba71..7264aedb 100644 --- a/src/assets/recipeData.json +++ b/src/assets/recipeData.json @@ -1,6369 +1,6369 @@ { - "Valuable Fabric": { - "material": "Valuable Fabric", - "craftable": false, - "stat": "Armour", - "rarity": "Rare", - "icon": "Valuable Fabric.png" - }, - "Unyielding Rivets": { - "material": "Unyielding Rivets", - "craftable": false, - "stat": "Armour", - "rarity": "Epic", - "icon": "Unyielding Rivets.png" - }, - "Motive Force Capacitator": { - "material": "Motive Force Capacitator", - "craftable": false, - "stat": "Damage", - "rarity": "Rare", - "icon": "Motive Force Capacitator.png" - }, - "Cogwheel Crest": { - "material": "Cogwheel Crest", - "craftable": false, - "stat": "Armour", - "rarity": "Rare", - "icon": "Cogwheel Crest.png" - }, - "Blessed Cogitator": { - "material": "Blessed Cogitator", - "craftable": false, - "stat": "Health", - "rarity": "Legendary", - "icon": "Blessed Cogitator.png" - }, - "Adamantium Filaments": { - "material": "Adamantium Filaments", - "craftable": false, - "stat": "Health", - "rarity": "Common", - "icon": "adamantium filaments.png" - }, - "Adamantium Ore": { - "material": "Adamantium Ore", - "craftable": false, - "stat": "Armour", - "rarity": "Common", - "icon": "adamantium ore.png" - }, - "Adrenal Glands": { - "material": "Adrenal Glands", - "craftable": false, - "stat": "Health", - "faction": "Tyranids", - "rarity": "Rare", - "icon": "adrenal glands.jpg" - }, - "Advanced Filaments": { - "material": "Advanced Filaments", - "craftable": false, - "stat": "Health", - "rarity": "Uncommon", - "icon": "advanced filaments.png" - }, - "Advanced Rebreather": { - "material": "Advanced Rebreather", - "craftable": false, - "stat": "Armour", - "rarity": "Uncommon", - "icon": "advanced rebreather.png" - }, - "Air Purificator": { - "material": "Air Purificator", - "craftable": false, - "stat": "Armour", - "rarity": "Uncommon", - "icon": "air purificator.png" - }, - "Ancient Runes": { - "material": "Ancient Runes", - "craftable": false, - "stat": "Health", - "rarity": "Rare", - "icon": "ancient runes.png" - }, - "Archeotech Bionics": { - "material": "Archeotech Bionics", - "craftable": false, - "stat": "Damage", - "rarity": "Legendary", - "icon": "archeotech bionics.png" - }, - "Archeo-Tech Remnant": { - "material": "Archeo-Tech Remnant", - "craftable": false, - "stat": "Armour", - "rarity": "Legendary", - "icon": "archeo-tech remnant.jpg" - }, - "Ard Plate": { - "material": "Ard Plate", - "craftable": false, - "stat": "Armour", - "faction": "Orks", - "rarity": "Rare", - "icon": "ard plate.jpg" - }, - "Armor Trim": { - "material": "Armor Trim", - "craftable": false, - "stat": "Armour", - "rarity": "Common", - "icon": "armor trim.png" - }, - "Artificer Tasset Plate": { - "material": "Artificer Tasset Plate", - "craftable": false, - "stat": "Armour", - "rarity": "Rare", - "icon": "artificer tasset plate.png" - }, - "Artificial Vertebrae": { - "material": "Artificial Vertebrae", - "craftable": false, - "stat": "Health", - "rarity": "Uncommon", - "icon": "artificial vertebrae.png" - }, - "Attack Vector Data-Slate": { - "material": "Attack Vector Data-Slate", - "craftable": false, - "stat": "Damage", - "rarity": "Uncommon", - "icon": "attack vector data-slate.png" - }, - "Auspex": { - "material": "Auspex", - "craftable": false, - "stat": "Damage", - "rarity": "Common", - "icon": "auspex.png" - }, - "Bad Moon Teef": { - "material": "Bad Moon Teef", - "craftable": false, - "stat": "Health", - "faction": "Orks", - "rarity": "Rare", - "icon": "bad moon teef.png" - }, - "Ballistics Data": { - "material": "Ballistics Data", - "craftable": false, - "stat": "Damage", - "rarity": "Common", - "icon": "ballistics data.png" - }, - "Barrel of Promethium": { - "material": "Barrel of Promethium", - "craftable": false, - "stat": "Damage", - "rarity": "Uncommon", - "icon": "barrel of promethium.png" - }, - "Basic Auxiliary Core": { - "material": "Basic Auxiliary Core", - "craftable": false, - "stat": "Damage", - "rarity": "Common", - "icon": "basic auxiliary core.png" - }, - "Battle Scar": { - "material": "Battle Scar", - "craftable": false, - "stat": "Health", - "rarity": "Rare", - "icon": "battle scar.png" - }, - "Beast Hide": { - "material": "Beast Hide", - "craftable": false, - "stat": "Armour", - "faction": "Space Wolves", - "rarity": "Rare", - "icon": "beast hide.jpg" - }, - "Bionic Eye": { - "material": "Bionic Eye", - "craftable": false, - "stat": "Damage", - "rarity": "Rare", - "icon": "bionic eye.png" - }, - "Bionic Neural Pathways": { - "material": "Bionic Neural Pathways", - "craftable": false, - "stat": "Damage", - "rarity": "Epic", - "icon": "bionic neural pathways.png" - }, - "Bladesman's Honour": { - "material": "Bladesman's Honour", - "craftable": false, - "stat": "Damage", - "rarity": "Rare", - "icon": "bladesman_s honour.png" - }, - "Blasphemous Armor Trim": { - "material": "Blasphemous Armor Trim", - "craftable": false, - "stat": "Armour", - "faction": "Black Legion", - "rarity": "Rare", - "icon": "blasphemous armor trim.png" - }, - "Blessed Corset Armor": { - "material": "Blessed Corset Armor", - "craftable": false, - "stat": "Armour", - "faction": "Adepta Sororitas", - "rarity": "Rare", - "icon": "blessed corset armor.png" - }, - "Blessed Promethium Canister": { - "material": "Blessed Promethium Canister", - "craftable": false, - "stat": "Damage", - "rarity": "Epic", - "icon": "blessed promethium canister.png" - }, - "Blessed Tabbard": { - "material": "Blessed Tabbard", - "label": "Blessed Tabard", - "craftable": false, - "stat": "Armour", - "faction": "Black Templars", - "rarity": "Rare", - "icon": "blessed tabbard.jpg" - }, - "Blessed Tasset Plate": { - "material": "Blessed Tasset Plate", - "craftable": false, - "stat": "Armour", - "rarity": "Uncommon", - "icon": "blessed tasset plate.png" - }, - "Blessing of Nurgle": { - "material": "Blessing of Nurgle", - "craftable": false, - "stat": "Health", - "faction": "Death Guard", - "rarity": "Legendary", - "icon": "blessing of nurgle.jpg" - }, - "Blessing of the Dark Gods": { - "material": "Blessing of the Dark Gods", - "craftable": false, - "stat": "Health", - "faction": "Black Legion", - "rarity": "Legendary", - "icon": "blessing of the dark gods.jpg" - }, - "Blessing of Tzeentch": { - "material": "Blessing of Tzeentch", - "craftable": false, - "stat": "Health", - "faction": "Thousand Sons", - "rarity": "Legendary", - "icon": "blessing of tzeentch.jpg" - }, - "Bones of the Paragons": { - "material": "Bones of the Paragons", - "craftable": false, - "stat": "Health", - "faction": "Black Templars", - "rarity": "Legendary", - "icon": "bones of the paragons.jpg" - }, - "Box of Salvage": { - "material": "Box of Salvage", - "craftable": false, - "stat": "Armour", - "rarity": "Uncommon", - "icon": "box of salvage.png" - }, - "Can of Promethium": { - "material": "Can of Promethium", - "craftable": false, - "stat": "Damage", - "rarity": "Common", - "icon": "can of promethium.png" - }, - "Canister of Chemicals": { - "material": "Canister of Chemicals", - "craftable": false, - "stat": "Damage", - "rarity": "Common", - "icon": "canister of chemicals.png" - }, - "Ceramite Lump": { - "material": "Ceramite Lump", - "craftable": false, - "stat": "Armour", - "rarity": "Uncommon", - "icon": "ceramite lump.png" - }, - "Chain of Zeal": { - "material": "Chain of Zeal", - "craftable": false, - "stat": "Damage", - "faction": "Black Templars", - "rarity": "Rare", - "icon": "chain of zeal.jpg" - }, - "Chapter Pendant": { - "material": "Chapter Pendant", - "craftable": false, - "stat": "Damage", - "faction": "Dark Angels", - "rarity": "Rare", - "icon": "chapter pendant.jpg" - }, - "Chip Damage": { - "material": "Chip Damage", - "craftable": false, - "stat": "Health", - "rarity": "Common", - "icon": "chip damage.png" - }, - "Classified Data-Slate": { - "material": "Classified Data-Slate", - "craftable": false, - "stat": "Damage", - "rarity": "Rare", - "icon": "classified data-slate.png" - }, - "Cloak": { - "material": "Cloak", - "craftable": false, - "stat": "Armour", - "rarity": "Uncommon", - "icon": "cloak.png" - }, - "Codex Astartes Page": { - "material": "Codex Astartes Page", - "craftable": false, - "stat": "Health", - "faction": "Ultramarines", - "rarity": "Legendary", - "icon": "codex astartes page.jpg" - }, - "Combat Stimms": { - "material": "Combat Stimms", - "craftable": false, - "stat": "Damage", - "rarity": "Uncommon", - "icon": "combat stimms.png" - }, - "Crate of Salvage": { - "material": "Crate of Salvage", - "craftable": false, - "stat": "Armour", - "rarity": "Rare", - "icon": "crate of salvage.png" - }, - "Dark Hood": { - "material": "Dark Hood", - "craftable": false, - "stat": "Armour", - "faction": "Dark Angels", - "rarity": "Rare", - "icon": "dark hood.jpg" - }, - "Divinator Class Auspex": { - "material": "Divinator Class Auspex", - "craftable": false, - "stat": "Damage", - "rarity": "Uncommon", - "icon": "divinator class auspex.png" - }, - "Drone Controller": { - "material": "Drone Controller", - "craftable": false, - "stat": "Armour", - "faction": "Tau Empire", - "rarity": "Rare", - "icon": "drone controller.jpg" - }, - "Duplicate Organ": { - "material": "Duplicate Organ", - "craftable": false, - "stat": "Armour", - "rarity": "Epic", - "icon": "duplicate organ.jpg" - }, - "Engram Neurochip": { - "material": "Engram Neurochip", - "craftable": false, - "stat": "Health", - "faction": "Tau Empire", - "rarity": "Legendary", - "icon": "engram neurochip.jpg" - }, - "Engrammatic Entangler": { - "material": "Engrammatic Entangler", - "craftable": false, - "stat": "Health", - "faction": "Necrons", - "rarity": "Legendary", - "icon": "engrammatic entangler.jpg" - }, - "Enriched Rations": { - "material": "Enriched Rations", - "craftable": false, - "stat": "Health", - "rarity": "Uncommon", - "icon": "enriched rations.png" - }, - "Entrenching Tool": { - "material": "Entrenching Tool", - "craftable": false, - "stat": "Damage", - "faction": "Astra Militarum", - "rarity": "Rare", - "icon": "entrenching tool.png" - }, - "Eye of Horus": { - "material": "Eye of Horus", - "craftable": false, - "stat": "Health", - "faction": "Black Legion", - "rarity": "Rare", - "icon": "eye of horus.png" - }, - "Field Ration": { - "material": "Field Ration", - "craftable": false, - "stat": "Health", - "rarity": "Common", - "icon": "field ration.png" - }, - "Fine Micro-Generator": { - "material": "Fine Micro-Generator", - "craftable": false, - "stat": "Damage", - "rarity": "Uncommon", - "icon": "fine micro-generator.png" - }, - "Fine Purity Seal": { - "material": "Fine Purity Seal", - "craftable": false, - "stat": "Armour", - "rarity": "Common", - "icon": "fine purity seal.png" - }, - "Flak Plates": { - "material": "Flak Plates", - "craftable": false, - "stat": "Armour", - "faction": "Astra Militarum", - "rarity": "Rare", - "icon": "flak plates.png" - }, - "Frag Grenade": { - "material": "Frag Grenade", - "craftable": false, - "stat": "Damage", - "rarity": "Common", - "icon": "frag grenade.png" - }, - "Golden Ornamental Skull": { - "material": "Golden Ornamental Skull", - "craftable": false, - "stat": "Health", - "rarity": "Epic", - "icon": "golden ornamental skull.png" - }, - "Greater Reliquary of Vengeance": { - "material": "Greater Reliquary of Vengeance", - "craftable": false, - "stat": "Damage", - "rarity": "Epic", - "icon": "greater reliquary of vengeance.png" - }, - "Healing Ointment": { - "material": "Healing Ointment", - "craftable": false, - "stat": "Health", - "rarity": "Common", - "icon": "healing ointment.png" - }, - "Helmet Trophy": { - "material": "Helmet Trophy", - "craftable": false, - "stat": "Health", - "rarity": "Uncommon", - "icon": "helmet trophy.png" - }, - "Holy Chaplet": { - "material": "Holy Chaplet", - "craftable": false, - "stat": "Health", - "faction": "Adepta Sororitas", - "rarity": "Legendary", - "icon": "holy chaplet.jpg" - }, - "Honourifica Imperialis": { - "material": "Honourifica Imperialis", - "craftable": false, - "stat": "Health", - "faction": "Astra Militarum", - "rarity": "Legendary", - "icon": "honourifica imperialis.jpg" - }, - "Hymn of Martyrs": { - "material": "Hymn of Martyrs", - "craftable": false, - "stat": "Damage", - "faction": "Adepta Sororitas", - "rarity": "Rare", - "icon": "hymn of martyrs.png" - }, - "Hypermaterial Shifter": { - "material": "Hypermaterial Shifter", - "craftable": false, - "stat": "Armour", - "rarity": "Epic", - "icon": "hypermaterial shifter.png" - }, - "Icon of Vengeance": { - "material": "Icon of Vengeance", - "craftable": false, - "stat": "Damage", - "faction": "Black Legion", - "rarity": "Rare", - "icon": "icon of vengeance.png" - }, - "Inferno Bolts": { - "material": "Inferno Bolts", - "craftable": false, - "stat": "Damage", - "faction": "Thousand Sons", - "rarity": "Rare", - "icon": "inferno bolts.jpg" - }, - "Iron Jaw": { - "material": "Iron Jaw", - "craftable": false, - "stat": "Damage", - "faction": "Orks", - "rarity": "Rare", - "icon": "iron jaw.png" - }, - "Key of Ignorance": { - "material": "Key of Ignorance", - "craftable": false, - "stat": "Health", - "faction": "Dark Angels", - "rarity": "Rare", - "icon": "key of ignorance.jpg" - }, - "Kill Count": { - "material": "Kill Count", - "craftable": false, - "stat": "Health", - "rarity": "Rare", - "icon": "kill count.png" - }, - "Krak Grenade": { - "material": "Krak Grenade", - "craftable": false, - "stat": "Damage", - "rarity": "Rare", - "icon": "krak grenade.png" - }, - "Kustom Gubbinz": { - "material": "Kustom Gubbinz", - "craftable": false, - "stat": "Health", - "faction": "Orks", - "rarity": "Legendary", - "icon": "kustom gubbinz.jpg" - }, - "Lesser Reliquary of Protection": { - "material": "Lesser Reliquary of Protection", - "craftable": false, - "stat": "Health", - "rarity": "Common", - "icon": "lesser reliquary of protection.png" - }, - "Lesser Reliquary of Vengeance": { - "material": "Lesser Reliquary of Vengeance", - "craftable": false, - "stat": "Damage", - "rarity": "Common", - "icon": "lesser reliquary of vengeance.jpg" - }, - "Locator Beacon": { - "material": "Locator Beacon", - "craftable": false, - "stat": "Damage", - "rarity": "Uncommon", - "icon": "locator beacon.png" - }, - "Marksman's Honour": { - "material": "Marksman's Honour", - "craftable": false, - "stat": "Damage", - "rarity": "Uncommon", - "icon": "marksman_s honour.png" - }, - "Master-Crafted Ammo": { - "material": "Master-Crafted Ammo", - "craftable": false, - "stat": "Damage", - "rarity": "Legendary", - "icon": "master-crafted ammo.png" - }, - "Mesh Weave": { - "material": "Mesh Weave", - "craftable": false, - "stat": "Armour", - "rarity": "Uncommon", - "icon": "mesh weave.png" - }, - "Metal Decorative Skull": { - "material": "Metal Decorative Skull", - "craftable": false, - "stat": "Health", - "rarity": "Rare", - "icon": "metal decorative skull.png" - }, - "Metal Joints": { - "material": "Metal Joints", - "craftable": false, - "stat": "Armour", - "rarity": "Common", - "icon": "metal joints.png" - }, - "Minor Bionic Enhancement": { - "material": "Minor Bionic Enhancement", - "craftable": false, - "stat": "Health", - "rarity": "Common", - "icon": "minor bionic enhancement.png" - }, - "Mission Assignment": { - "material": "Mission Assignment", - "craftable": false, - "stat": "Health", - "rarity": "Common", - "icon": "mission assignment.png" - }, - "Mission Objective": { - "material": "Mission Objective", - "craftable": false, - "stat": "Health", - "rarity": "Uncommon", - "icon": "mission objective.png" - }, - "Mjod": { - "material": "Mjod", - "craftable": false, - "stat": "Health", - "faction": "Space Wolves", - "rarity": "Legendary", - "icon": "mjod.jpg" - }, - "Mutation: Scaly Skin": { - "material": "Mutation: Scaly Skin", - "craftable": false, - "stat": "Armour", - "rarity": "Uncommon", - "icon": "mutation_ scaly skin.png" - }, - "Mutation: Tough Skin": { - "material": "Mutation: Tough Skin", - "craftable": false, - "stat": "Armour", - "rarity": "Common", - "icon": "mutation_ tough skin.png" - }, - "Mutation: Warped Heart": { - "material": "Mutation: Warped Heart", - "craftable": false, - "stat": "Health", - "rarity": "Rare", - "icon": "mutation_ warped heart.png" - }, - "Mutation: Warped Lungs": { - "material": "Mutation: Warped Lungs", - "craftable": false, - "stat": "Health", - "rarity": "Uncommon", - "icon": "mutation_ warped lungs.png" - }, - "Mutation: Warped Muscles": { - "material": "Mutation: Warped Muscles", - "craftable": false, - "stat": "Health", - "rarity": "Common", - "icon": "mutation_ warped muscles.png" - }, - "Nano Swarm": { - "material": "Nano Swarm", - "craftable": false, - "stat": "Health", - "faction": "Necrons", - "rarity": "Common", - "icon": "nano swarm.png" - }, - "Nasty Spikes": { - "material": "Nasty Spikes", - "craftable": false, - "stat": "Damage", - "rarity": "Common", - "icon": "nasty spikes.jpg" - }, - "Oath Seal": { - "material": "Oath Seal", - "craftable": false, - "stat": "Armour", - "rarity": "Uncommon", - "icon": "oath seal.png" - }, - "Otherworldly Energy": { - "material": "Otherworldly Energy", - "craftable": false, - "stat": "Damage", - "rarity": "Common", - "icon": "otherworldly energy.png" - }, - "Pile of Salvage": { - "material": "Pile of Salvage", - "craftable": false, - "stat": "Armour", - "rarity": "Common", - "icon": "pile of salvage.png" - }, - "Plague Bell": { - "material": "Plague Bell", - "craftable": false, - "stat": "Health", - "faction": "Death Guard", - "rarity": "Rare", - "icon": "plague bell.png" - }, - "Plasma Cell": { - "material": "Plasma Cell", - "craftable": false, - "stat": "Damage", - "rarity": "Uncommon", - "icon": "plasma cell.png" - }, - "Psychic Force Conduit": { - "material": "Psychic Force Conduit", - "craftable": false, - "stat": "Damage", - "rarity": "Legendary", - "icon": "psychic force conduit.jpg" - }, - "Psyk-Conductive Material": { - "material": "Psyk-Conductive Material", - "craftable": false, - "stat": "Armour", - "rarity": "Legendary", - "icon": "psyk-conductive material.jpg" - }, - "Psytronome": { - "material": "Psytronome", - "craftable": false, - "stat": "Damage", - "faction": "Aeldari", - "rarity": "Rare", - "icon": "psytronome.png" - }, - "Purity Seal": { - "material": "Purity Seal", - "craftable": false, - "stat": "Armour", - "rarity": "Common", - "icon": "purity seal.png" - }, - "Purity Seal of the Primarch": { - "material": "Purity Seal of the Primarch", - "craftable": false, - "stat": "Armour", - "faction": "Ultramarines", - "rarity": "Legendary", - "icon": "purity seal of the primarch.png" - }, - "Rebreather": { - "material": "Rebreather", - "craftable": false, - "stat": "Armour", - "rarity": "Common", - "icon": "rebreather.png" - }, - "Reconstitution Protocols": { - "material": "Reconstitution Protocols", - "craftable": false, - "stat": "Health", - "faction": "Necrons", - "rarity": "Rare", - "icon": "reconstitution protocols.png" - }, - "Reinforced Cables": { - "material": "Reinforced Cables", - "craftable": false, - "stat": "Health", - "rarity": "Uncommon", - "icon": "reinforced cables.png" - }, - "Reinforced Chitin": { - "material": "Reinforced Chitin", - "craftable": false, - "stat": "Armour", - "faction": "Tyranids", - "rarity": "Rare", - "icon": "reinforced chitin.jpg" - }, - "Reinforced Scale-Plates": { - "material": "Reinforced Scale-Plates", - "craftable": false, - "stat": "Armour", - "rarity": "Uncommon", - "icon": "reinforced scale-plates.png" - }, - "Relic Hilt": { - "material": "Relic Hilt", - "craftable": false, - "stat": "Damage", - "rarity": "Epic", - "icon": "relic hilt.jpg" - }, - "Reliquary of Protection": { - "material": "Reliquary of Protection", - "craftable": false, - "stat": "Health", - "rarity": "Uncommon", - "icon": "reliquary of protection.png" - }, - "Reliquary of Vengeance": { - "material": "Reliquary of Vengeance", - "craftable": false, - "stat": "Damage", - "rarity": "Uncommon", - "icon": "reliquary of vengeance.png" - }, - "Repair-Kit": { - "material": "Repair-Kit", - "label": "Repair Tool", - "craftable": false, - "stat": "Health", - "rarity": "Rare", - "icon": "repair-kit.png" - }, - "Revered Talisman": { - "material": "Revered Talisman", - "craftable": false, - "stat": "Armour", - "rarity": "Epic", - "icon": "revered talisman.png" - }, - "Righteous Candle": { - "material": "Righteous Candle", - "craftable": false, - "stat": "Health", - "faction": "Black Templars", - "rarity": "Rare", - "icon": "righteous candle.jpg" - }, - "Ritual Implements": { - "material": "Ritual Implements", - "craftable": false, - "stat": "Armour", - "faction": "Thousand Sons", - "rarity": "Rare", - "icon": "ritual implements.png" - }, - "Ropes and Chains": { - "material": "Ropes and Chains", - "craftable": false, - "stat": "Health", - "rarity": "Common", - "icon": "ropes and chains.png" - }, - "Rose of Martyrs": { - "material": "Rose of Martyrs", - "craftable": false, - "stat": "Health", - "faction": "Adepta Sororitas", - "rarity": "Rare", - "icon": "rose of martyrs.png" - }, - "Round of Ammo": { - "material": "Round of Ammo", - "craftable": false, - "stat": "Damage", - "rarity": "Common", - "icon": "round of ammo.png" - }, - "Runes of Fate": { - "material": "Runes of Fate", - "craftable": false, - "stat": "Health", - "faction": "Aeldari", - "rarity": "Legendary", - "icon": "runes of fate.jpg" - }, - "Satchel": { - "material": "Satchel", - "craftable": false, - "stat": "Health", - "rarity": "Uncommon", - "icon": "satchel.png" - }, - "Scrolls": { - "material": "Scrolls", - "craftable": false, - "stat": "Health", - "rarity": "Common", - "icon": "scrolls.png" - }, - "Secret Agenda": { - "material": "Secret Agenda", - "craftable": false, - "stat": "Health", - "rarity": "Epic", - "icon": "secret agenda.jpg" - }, - "Sensor Suite": { - "material": "Sensor Suite", - "craftable": false, - "stat": "Damage", - "faction": "Tau Empire", - "rarity": "Rare", - "icon": "sensor suite.jpg" - }, - "Sigil of Decay": { - "material": "Sigil of Decay", - "craftable": false, - "stat": "Damage", - "faction": "Death Guard", - "rarity": "Rare", - "icon": "sigil of decay.png" - }, - "Single Power Pack": { - "material": "Single Power Pack", - "craftable": false, - "stat": "Damage", - "rarity": "Common", - "icon": "single power pack.png" - }, - "Slicing Claws": { - "material": "Slicing Claws", - "craftable": false, - "stat": "Damage", - "rarity": "Uncommon", - "icon": "slicing claws.jpg" - }, - "Sophisticated Material": { - "material": "Sophisticated Material", - "craftable": false, - "stat": "Armour", - "rarity": "Common", - "icon": "sophisticated material.png" - }, - "Special Issue Ammo": { - "material": "Special Issue Ammo", - "craftable": false, - "stat": "Damage", - "rarity": "Epic", - "icon": "special issue ammo.png" - }, - "Standard-Issue Tourniquet": { - "material": "Standard-Issue Tourniquet", - "craftable": false, - "stat": "Health", - "rarity": "Common", - "icon": "standard-issue tourniquet.png" - }, - "Stimm Injector": { - "material": "Stimm Injector", - "craftable": false, - "stat": "Health", - "faction": "Tau Empire", - "rarity": "Rare", - "icon": "stimm injector.jpg" - }, - "Stone Guardian Fragment": { - "material": "Stone Guardian Fragment", - "craftable": false, - "stat": "Health", - "faction": "Dark Angels", - "rarity": "Legendary", - "icon": "stone guardian fragment.jpg" - }, - "Subdermal Plating": { - "material": "Subdermal Plating", - "craftable": false, - "stat": "Armour", - "rarity": "Rare", - "icon": "subdermal plating.jpg" - }, - "Synaptic Augmentation": { - "material": "Synaptic Augmentation", - "craftable": false, - "stat": "Health", - "faction": "Tyranids", - "rarity": "Legendary", - "icon": "synaptic augmentation.jpg" - }, - "Tainted Text": { - "material": "Tainted Text", - "craftable": false, - "stat": "Health", - "faction": "Thousand Sons", - "rarity": "Rare", - "icon": "tainted text.jpg" - }, - "Tank of Promethium": { - "material": "Tank of Promethium", - "craftable": false, - "stat": "Damage", - "rarity": "Rare", - "icon": "tank of promethium.png" - }, - "Targeting Link": { - "material": "Targeting Link", - "craftable": false, - "stat": "Damage", - "rarity": "Common", - "icon": "targeting link.png" - }, - "Terminator Honours": { - "material": "Terminator Honours", - "craftable": false, - "stat": "Health", - "rarity": "Epic", - "icon": "terminator honours.png" - }, - "The Gold Phoenix": { - "material": "The Gold Phoenix", - "craftable": false, - "stat": "Health", - "rarity": "Uncommon", - "icon": "the gold phoenix.png" - }, - "The Iron Phoenix": { - "material": "The Iron Phoenix", - "craftable": false, - "stat": "Health", - "rarity": "Common", - "icon": "the iron phoenix.png" - }, - "The Phoenix Ascendant": { - "material": "The Phoenix Ascendant", - "craftable": false, - "stat": "Health", - "rarity": "Rare", - "icon": "the phoenix ascendant.png" - }, - "The Silver Aquila": { - "material": "The Silver Aquila", - "craftable": false, - "stat": "Health", - "rarity": "Common", - "icon": "the silver aquila.png" - }, - "The Silver Eagle with Swords": { - "material": "The Silver Eagle with Swords", - "craftable": false, - "stat": "Health", - "rarity": "Uncommon", - "icon": "the silver eagle with swords.png" - }, - "The Silver Scope": { - "material": "The Silver Scope", - "craftable": false, - "stat": "Health", - "rarity": "Uncommon", - "icon": "the silver scope.png" - }, - "Thick Skin": { - "material": "Thick Skin", - "craftable": false, - "stat": "Armour", - "rarity": "Common", - "icon": "thick skin.jpg" - }, - "Toxin Sacs": { - "material": "Toxin Sacs", - "craftable": false, - "stat": "Damage", - "faction": "Tyranids", - "rarity": "Rare", - "icon": "toxin sacs.jpg" - }, - "Unnatural Vapour Dispenser": { - "material": "Unnatural Vapour Dispenser", - "craftable": false, - "stat": "Armour", - "faction": "Death Guard", - "rarity": "Rare", - "icon": "unnatural vapour dispenser.png" - }, - "Viridian Energy Tesseract": { - "material": "Viridian Energy Tesseract", - "craftable": false, - "stat": "Damage", - "faction": "Necrons", - "rarity": "Rare", - "icon": "viridian energy tesseract.png" - }, - "Vox-Caster": { - "material": "Vox-Caster", - "craftable": false, - "stat": "Damage", - "rarity": "Common", - "icon": "vox-caster.png" - }, - "Warp Locus": { - "material": "Warp Locus", - "craftable": false, - "stat": "Damage", - "rarity": "Epic", - "icon": "warp locus.jpg" - }, - "Waystone": { - "material": "Waystone", - "craftable": false, - "stat": "Health", - "faction": "Aeldari", - "rarity": "Rare", - "icon": "waystone.png" - }, - "Weapon Anointment Oils": { - "material": "Weapon Anointment Oils", - "craftable": false, - "stat": "Damage", - "rarity": "Common", - "icon": "weapon anointment oils.jpg" - }, - "Weapon Parts": { - "material": "Weapon Parts", - "craftable": false, - "stat": "Damage", - "rarity": "Common", - "icon": "weapon parts.png" - }, - "Weathering": { - "material": "Weathering", - "craftable": false, - "stat": "Health", - "rarity": "Epic", - "icon": "weathering.jpg" - }, - "Wires": { - "material": "Wires", - "craftable": false, - "stat": "Health", - "rarity": "Common", - "icon": "wires.png" - }, - "Wolf Tail Talisman": { - "material": "Wolf Tail Talisman", - "craftable": false, - "stat": "Health", - "faction": "Space Wolves", - "rarity": "Rare", - "icon": "wolf tail talisman.jpg" - }, - "Wolf Tooth Necklace": { - "material": "Wolf Tooth Necklace", - "craftable": false, - "stat": "Damage", - "faction": "Space Wolves", - "rarity": "Rare", - "icon": "wolf tooth necklace.jpg" - }, - "Wraithbone Plate": { - "material": "Wraithbone Plate", - "craftable": false, - "stat": "Armour", - "faction": "Aeldari", - "rarity": "Rare", - "icon": "wraithbone plate.jpg" - }, - "Writings": { - "material": "Writings", - "craftable": false, - "stat": "Health", - "rarity": "Uncommon", - "icon": "writings.png" - }, - "Zeidos Ribbon": { - "material": "Zeidos Ribbon", - "craftable": false, - "stat": "Health", - "faction": "Astra Militarum", - "rarity": "Rare", - "icon": "zeidos ribbon.png" - }, - "Adamantine Mantle": { - "material": "Adamantine Mantle", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Ultramarines", - "recipe": [ - { - "material": "Codex Astartes Page", - "count": 10 - }, - { - "material": "Adamantium Sheet", - "count": 1 - }, - { - "material": "Fine Cloak", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "adamantine mantle.jpg" - }, - "Adamantium Bar": { - "material": "Adamantium Bar", - "rarity": "Rare", - "stat": "Armour", - "recipe": [ - { - "material": "Adamantium Ore", - "count": 8 - }, - { - "material": "Pile of Salvage", - "count": 4 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "adamantium bar.png" - }, - "Adamantium Blades": { - "material": "Adamantium Blades", - "rarity": "Uncommon", - "stat": "Damage", - "recipe": [ - { - "material": "Weapon Parts", - "count": 2 - }, - { - "material": "Adamantium Ore", - "count": 2 - }, - { - "material": "Ropes and Chains", - "count": 2 - }, - { - "material": "Gold", - "count": 25 - } - ], - "craftable": true, - "icon": "adamantium blades.jpg" - }, - "Adamantium Lump": { - "material": "Adamantium Lump", - "rarity": "Uncommon", - "stat": "Armour", - "recipe": [ - { + "Valuable Fabric": { + "material": "Valuable Fabric", + "craftable": false, + "stat": "Armour", + "rarity": "Rare", + "icon": "Valuable Fabric.png" + }, + "Unyielding Rivets": { + "material": "Unyielding Rivets", + "craftable": false, + "stat": "Armour", + "rarity": "Epic", + "icon": "Unyielding Rivets.png" + }, + "Motive Force Capacitator": { + "material": "Motive Force Capacitator", + "craftable": false, + "stat": "Damage", + "rarity": "Rare", + "icon": "Motive Force Capacitator.png" + }, + "Cogwheel Crest": { + "material": "Cogwheel Crest", + "craftable": false, + "stat": "Armour", + "rarity": "Rare", + "icon": "Cogwheel Crest.png" + }, + "Blessed Cogitator": { + "material": "Blessed Cogitator", + "craftable": false, + "stat": "Health", + "rarity": "Legendary", + "icon": "Blessed Cogitator.png" + }, + "Adamantium Filaments": { + "material": "Adamantium Filaments", + "craftable": false, + "stat": "Health", + "rarity": "Common", + "icon": "adamantium filaments.png" + }, + "Adamantium Ore": { "material": "Adamantium Ore", - "count": 6 - }, - { - "material": "Gold", - "count": 25 - } - ], - "craftable": true, - "icon": "adamantium lump.png" - }, - "Adamantium Plates": { - "material": "Adamantium Plates", - "rarity": "Legendary", - "stat": "Armour", - "recipe": [ - { - "material": "Adamantium Sheet", - "count": 1 - }, - { - "material": "Crate of Salvage", - "count": 8 - }, - { - "material": "Adamantium Lump", - "count": 2 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "adamantium plates.png" - }, - "Adamantium Sheet": { - "material": "Adamantium Sheet", - "rarity": "Epic", - "stat": "Armour", - "recipe": [ - { - "material": "Adamantium Bar", - "count": 1 - }, - { - "material": "Box of Salvage", - "count": 6 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "adamantium sheet.png" - }, - "Adaptive Adrenal Glands": { - "material": "Adaptive Adrenal Glands", - "rarity": "Epic", - "stat": "Health", - "faction": "Tyranids", - "recipe": [ - { + "craftable": false, + "stat": "Armour", + "rarity": "Common", + "icon": "adamantium ore.png" + }, + "Adrenal Glands": { "material": "Adrenal Glands", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "adaptive adrenal glands.png" - }, - "Adaptive Chitin Carapace": { - "material": "Adaptive Chitin Carapace", - "rarity": "Epic", - "stat": "Armour", - "faction": "Tyranids", - "recipe": [ - { - "material": "Reinforced Chitin", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "adaptive chitin carapace.png" - }, - "Adaptive Toxin Sacs": { - "material": "Adaptive Toxin Sacs", - "rarity": "Epic", - "stat": "Damage", - "faction": "Tyranids", - "recipe": [ - { - "material": "Toxin Sacs", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "adaptive toxin sacs.png" - }, - "Advanced Bionics": { - "material": "Advanced Bionics", - "rarity": "Rare", - "stat": "Health", - "recipe": [ - { - "material": "Bionic Enhancement", - "count": 2 - }, - { - "material": "Standard-Issue Tourniquet", - "count": 5 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "advanced bionics.png" - }, - "Advanced Combat Stimms": { - "material": "Advanced Combat Stimms", - "rarity": "Rare", - "stat": "Damage", - "recipe": [ - { - "material": "First Aid Kit", - "count": 2 - }, - { - "material": "Combat Stimms", - "count": 5 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "advanced combat stimms.jpg" - }, - "Advanced Drone Controller": { - "material": "Advanced Drone Controller", - "rarity": "Epic", - "stat": "Armour", - "faction": "Tau Empire", - "recipe": [ - { - "material": "Drone Controller", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "advanced drone controller.jpg" - }, - "Advanced Exospine": { - "material": "Advanced Exospine", - "rarity": "Legendary", - "stat": "Health", - "recipe": [ - { - "material": "Electromantic Cable Bundle", - "count": 1 - }, - { - "material": "Subdermal Plating", - "count": 8 - }, - { - "material": "Exospine", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "advanced exospine.jpg" - }, - "Advanced Mesh Weave Garment": { - "material": "Advanced Mesh Weave Garment", - "rarity": "Epic", - "stat": "Armour", - "recipe": [ - { - "material": "Mesh Weave Garment", - "count": 1 - }, - { - "material": "Mesh Weave", - "count": 6 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "advanced mesh weave garment.jpg" - }, - "Advanced Sensor Suite": { - "material": "Advanced Sensor Suite", - "rarity": "Epic", - "stat": "Damage", - "faction": "Tau Empire", - "recipe": [ - { - "material": "Sensor Suite", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "advanced sensor suite.jpg" - }, - "Advanced Stimm Injector": { - "material": "Advanced Stimm Injector", - "rarity": "Epic", - "stat": "Health", - "faction": "Tau Empire", - "recipe": [ - { - "material": "Stimm Injector", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "advanced stimm injector.jpg" - }, - "Ancient Tasset Plate": { - "material": "Ancient Tasset Plate", - "rarity": "Epic", - "stat": "Armour", - "recipe": [ - { - "material": "Impressive Armor Trim", - "count": 1 - }, - { - "material": "Blessed Tasset Plate", - "count": 6 - }, - { - "material": "Golden Ornamental Skull", - "count": 1 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "ancient tasset plate.jpg" - }, - "Anointed Auxiliary Core": { - "material": "Anointed Auxiliary Core", - "rarity": "Epic", - "stat": "Damage", - "recipe": [ - { - "material": "Powerful Auxiliary Core", - "count": 1 - }, - { - "material": "Classified Data-Slate", - "count": 6 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "anointed auxiliary core.png" - }, - "Anointed Micro-Generator": { - "material": "Anointed Micro-Generator", - "rarity": "Epic", - "stat": "Damage", - "recipe": [ - { - "material": "Powerful Micro-Generator", - "count": 1 - }, - { - "material": "Classified Data-Slate", - "count": 6 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "anointed micro-generator.png" - }, - "Arbiter's Gaze": { - "material": "Arbiter's Gaze", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Dark Angels", - "recipe": [ - { - "material": "Stone Guardian Fragment", - "count": 9 - }, - { - "material": "Bionic Eye", - "count": 8 - }, - { - "material": "Bionic Neural Pathways", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "arbiter_s gaze.jpg" - }, - "Artificer Cogwheel Crest": { - "material": "Artificer Cogwheel Crest", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Adeptus Mechanicus", - "recipe": [ - { - "material": "Enhanced Cogwheel Crest", - "count": 2 - }, - { - "material": "Grand Purity Seal", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "artificer cogwheel crest.png" - }, - "Artificer Flak Plates": { - "material": "Artificer Flak Plates", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Astra Militarum", - "recipe": [ - { - "material": "High-Grade Flak Plates", - "count": 2 - }, - { - "material": "Grand Purity Seal", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "artificer flak plates.png" - }, - "Athenaean Scroll": { - "material": "Athenaean Scroll", - "rarity": "Legendary", - "stat": "Health", - "faction": "Thousand Sons", - "recipe": [ - { - "material": "Malefic Scroll", - "count": 2 - }, - { - "material": "Mutation: Regenerative Blood", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "athenaean scroll.jpg" - }, - "Autoloader": { - "material": "Autoloader", - "rarity": "Legendary", - "stat": "Damage", - "recipe": [ - { - "material": "Box of Ammo", - "count": 1 - }, - { - "material": "Belt of Krak Grenades", - "count": 1 - }, - { - "material": "Special Issue Ammo", - "count": 3 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "autoloader.jpg" - }, - "Auto-Reactive Stimm Injector": { - "material": "Auto-Reactive Stimm Injector", - "rarity": "Legendary", - "stat": "Health", - "faction": "Tau Empire", - "recipe": [ - { - "material": "Advanced Stimm Injector", - "count": 2 - }, - { - "material": "Ominous Xenos Glyphs", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "auto-reactive stimm injector.jpg" - }, - "Bastion Honour": { - "material": "Bastion Honour", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Astra Militarum", - "recipe": [ - { - "material": "Honourifica Imperialis", - "count": 9 - }, - { - "material": "High-Grade Flak Plates", - "count": 1 - }, - { - "material": "Golden Ornamental Skull", - "count": 5 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "bastion honour.jpg" - }, - "Battle Plan": { - "material": "Battle Plan", - "rarity": "Rare", - "stat": "Health", - "recipe": [ - { - "material": "Kill Count", - "count": 3 - }, - { - "material": "Mission Objective", - "count": 4 - }, - { - "material": "Mission Assignment", - "count": 5 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "battle plan.png" - }, - "Bell of Despair": { - "material": "Bell of Despair", - "rarity": "Legendary", - "stat": "Health", - "faction": "Death Guard", - "recipe": [ - { - "material": "Death Bell", - "count": 2 - }, - { - "material": "Mutation: Regenerative Blood", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "bell of despair.jpg" - }, - "Belt of Frag Grenades": { - "material": "Belt of Frag Grenades", - "rarity": "Uncommon", - "stat": "Damage", - "recipe": [ - { - "material": "Frag Grenade", - "count": 6 - }, - { - "material": "Gold", - "count": 25 - } - ], - "craftable": true, - "icon": "belt of frag grenades.png" - }, - "Belt of Krak Grenades": { - "material": "Belt of Krak Grenades", - "rarity": "Epic", - "stat": "Damage", - "recipe": [ - { - "material": "Krak Grenade", - "count": 10 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "belt of krak grenades.png" - }, - "Bionic Enhancement": { - "material": "Bionic Enhancement", - "rarity": "Uncommon", - "stat": "Health", - "recipe": [ - { - "material": "Minor Bionic Enhancement", - "count": 6 - }, - { - "material": "Gold", - "count": 25 - } - ], - "craftable": true, - "icon": "bionic enhancement.png" - }, - "Black Rune": { - "material": "Black Rune", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Black Legion", - "recipe": [ - { - "material": "Blessing of the Dark Gods", - "count": 9 - }, - { - "material": "Icon of Daemonic Vengeance", - "count": 1 - }, - { + "craftable": false, + "stat": "Health", + "faction": "Tyranids", + "rarity": "Rare", + "icon": "adrenal glands.jpg" + }, + "Advanced Filaments": { + "material": "Advanced Filaments", + "craftable": false, + "stat": "Health", + "rarity": "Uncommon", + "icon": "advanced filaments.png" + }, + "Advanced Rebreather": { + "material": "Advanced Rebreather", + "craftable": false, + "stat": "Armour", + "rarity": "Uncommon", + "icon": "advanced rebreather.png" + }, + "Air Purificator": { + "material": "Air Purificator", + "craftable": false, + "stat": "Armour", + "rarity": "Uncommon", + "icon": "air purificator.png" + }, + "Ancient Runes": { "material": "Ancient Runes", - "count": 7 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "black rune.jpg" - }, - "Blessed Bolts": { - "material": "Blessed Bolts", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Adepta Sororitas", - "recipe": [ - { - "material": "Holy Chaplet", - "count": 9 - }, - { - "material": "Supernatural Sight", - "count": 1 - }, - { - "material": "Special Issue Ammo", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "blessed bolts.jpg" - }, - "Blessed Promethium Tank": { - "material": "Blessed Promethium Tank", - "rarity": "Legendary", - "stat": "Damage", - "recipe": [ - { - "material": "Tank of Promethium", - "count": 10 - }, - { - "material": "Blessed Promethium Canister", - "count": 5 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "blessed promethium tank.png" - }, - "Blessed Purity Seal": { - "material": "Blessed Purity Seal", - "rarity": "Rare", - "stat": "Armour", - "recipe": [ - { - "material": "Oath Seal", - "count": 6 - }, - { - "material": "Purity Seal", - "count": 4 - }, - { - "material": "Fine Purity Seal", - "count": 4 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "blessed purity seal.png" - }, - "Blessed Weapon Oils": { - "material": "Blessed Weapon Oils", - "rarity": "Uncommon", - "stat": "Damage", - "recipe": [ - { - "material": "Weapon Anointment Oils", - "count": 6 - }, - { - "material": "Canister of Chemicals", - "count": 3 - }, - { - "material": "Gold", - "count": 25 - } - ], - "craftable": true, - "icon": "blessed weapon oils.png" - }, - "Bolts of Furious Vengeance": { - "material": "Bolts of Furious Vengeance", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Dark Angels", - "recipe": [ - { - "material": "Bolts of Judgement", - "count": 2 - }, - { - "material": "Sanctified Weapon Oils", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "bolts of furious vengeance.jpg" - }, - "Bolts of Judgement": { - "material": "Bolts of Judgement", - "rarity": "Epic", - "stat": "Damage", - "faction": "Dark Angels", - "recipe": [ - { - "material": "Chapter Pendant", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "bolts of judgement.jpg" - }, - "Boonstone": { - "material": "Boonstone", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Thousand Sons", - "recipe": [ - { - "material": "Blessing of Tzeentch", - "count": 9 - }, - { - "material": "Sophisticated Material Ingot", - "count": 3 - }, - { - "material": "Warp Locus", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "boonstone.jpg" - }, - "Bosspole": { - "material": "Bosspole", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Orks", - "recipe": [ - { - "material": "Kustom Gubbinz", - "count": 9 - }, - { - "material": "Iron Jaw", - "count": 8 - }, - { - "material": "Grand Skull Trophy", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "bosspole.jpg" - }, - "Box of Ammo": { - "material": "Box of Ammo", - "rarity": "Rare", - "stat": "Damage", - "recipe": [ - { - "material": "Magazine", - "count": 2 - }, - { - "material": "Belt of Frag Grenades", - "count": 1 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "box of ammo.png" - }, - "Box of Rations": { - "material": "Box of Rations", - "rarity": "Rare", - "stat": "Health", - "recipe": [ - { - "material": "Enriched Rations", - "count": 8 - }, - { - "material": "Field Ration", - "count": 7 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "box of rations.png" - }, - "Brutal Iron Jaw": { - "material": "Brutal Iron Jaw", - "rarity": "Epic", - "stat": "Damage", - "faction": "Orks", - "recipe": [ - { - "material": "Iron Jaw", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "brutal iron jaw.jpg" - }, - "Cabalistic Implements": { - "material": "Cabalistic Implements", - "rarity": "Epic", - "stat": "Armour", - "faction": "Thousand Sons", - "recipe": [ - { - "material": "Ritual Implements", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "cabalistic implements.jpg" - }, - "Calibanite Hood": { - "material": "Calibanite Hood", - "rarity": "Epic", - "stat": "Armour", - "faction": "Dark Angels", - "recipe": [ - { - "material": "Dark Hood", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "calibanite hood.jpg" - }, - "Candelabrum of Burning Wrath": { - "material": "Candelabrum of Burning Wrath", - "rarity": "Legendary", - "stat": "Health", - "faction": "Black Templars", - "recipe": [ - { - "material": "Lights of Purgation", - "count": 2 - }, - { - "material": "Greater Reliquary of Vengeance", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "candelabrum of burning wrath.jpg" - }, - "Ceramite Bar": { - "material": "Ceramite Bar", - "rarity": "Rare", - "stat": "Armour", - "recipe": [ - { - "material": "Ceramite Lump", - "count": 5 - }, - { - "material": "Pile of Salvage", - "count": 6 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "ceramite bar.png" - }, - "Ceramite Plates": { - "material": "Ceramite Plates", - "rarity": "Legendary", - "stat": "Armour", - "recipe": [ - { - "material": "Ceramite Sheet", - "count": 1 - }, - { - "material": "Crate of Salvage", - "count": 8 - }, - { - "material": "Ceramite Lump", - "count": 9 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "ceramite plates.png" - }, - "Ceramite Sheet": { - "material": "Ceramite Sheet", - "rarity": "Epic", - "stat": "Armour", - "recipe": [ - { - "material": "Ceramite Bar", - "count": 1 - }, - { - "material": "Box of Salvage", - "count": 6 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "ceramite sheet.png" - }, - "Chain of Righteous Zeal": { - "material": "Chain of Righteous Zeal", - "rarity": "Epic", - "stat": "Damage", - "faction": "Black Templars", - "recipe": [ - { - "material": "Chain of Zeal", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "chain of righteous zeal.jpg" - }, - "Chain of Zealous Wrath": { - "material": "Chain of Zealous Wrath", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Black Templars", - "recipe": [ - { - "material": "Chain of Righteous Zeal", - "count": 2 - }, - { - "material": "Sanctified Weapon Oils", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "chain of zealous wrath.jpg" - }, - "Cloud of Flies": { - "material": "Cloud of Flies", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Death Guard", - "recipe": [ - { - "material": "Blessing of Nurgle", - "count": 9 - }, - { - "material": "Death Shroud", - "count": 1 - }, - { - "material": "Warp Locus", - "count": 5 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "cloud of flies.jpg" - }, - "Codex Astartes": { - "material": "Codex Astartes", - "rarity": "Legendary", - "stat": "Health", - "faction": "Ultramarines", - "recipe": [ - { - "material": "Codex Astartes Page", - "count": 9 - }, - { - "material": "Battle Plan", - "count": 1 - }, - { - "material": "Terminator Honours", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "codex astartes.jpg" - }, - "Crusader's Tabbard": { - "material": "Crusader's Tabbard", - "rarity": "Epic", - "stat": "Armour", - "faction": "Black Templars", - "recipe": [ - { - "material": "Blessed Tabbard", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "crusader_s tabbard.jpg" - }, - "Cybork Body Parts": { - "material": "Cybork Body Parts", - "rarity": "Legendary", - "stat": "Health", - "faction": "Orks", - "recipe": [ - { - "material": "Kustom Gubbinz", - "count": 9 - }, - { - "material": "Advanced Bionics", - "count": 1 - }, - { - "material": "Bionic Neural Pathways", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "cybork body parts.jpg" - }, - "Daemon Shells": { - "material": "Daemon Shells", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Black Legion", - "recipe": [ - { - "material": "Blessing of the Dark Gods", - "count": 9 - }, - { - "material": "Supernatural Sight", - "count": 1 - }, - { - "material": "Special Issue Ammo", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "daemon shells.jpg" - }, - "Daemonic Armor Trim": { - "material": "Daemonic Armor Trim", - "rarity": "Epic", - "stat": "Armour", - "faction": "Black Legion", - "recipe": [ - { - "material": "Blasphemous Armor Trim", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "daemonic armor trim.png" - }, - "Death Bell": { - "material": "Death Bell", - "rarity": "Epic", - "stat": "Health", - "faction": "Death Guard", - "recipe": [ - { - "material": "Plague Bell", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "death bell.jpg" - }, - "Death Shroud": { - "material": "Death Shroud", - "rarity": "Epic", - "stat": "Armour", - "faction": "Death Guard", - "recipe": [ - { - "material": "Unnatural Vapour Dispenser", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "death shroud.jpg" - }, - "Decorated Cloak": { - "material": "Decorated Cloak", - "rarity": "Epic", - "stat": "Armour", - "recipe": [ - { - "material": "Fine Cloak", - "count": 1 - }, - { - "material": "Metal Decorative Skull", - "count": 3 - }, - { - "material": "Writings", - "count": 3 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "decorated cloak.png" - }, - "Ded 'Ard Plate": { - "material": "Ded 'Ard Plate", - "rarity": "Epic", - "stat": "Armour", - "faction": "Orks", - "recipe": [ - { + "craftable": false, + "stat": "Health", + "rarity": "Rare", + "icon": "ancient runes.png" + }, + "Archeotech Bionics": { + "material": "Archeotech Bionics", + "craftable": false, + "stat": "Damage", + "rarity": "Legendary", + "icon": "archeotech bionics.png" + }, + "Archeo-Tech Remnant": { + "material": "Archeo-Tech Remnant", + "craftable": false, + "stat": "Armour", + "rarity": "Legendary", + "icon": "archeo-tech remnant.jpg" + }, + "Ard Plate": { "material": "Ard Plate", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "ded _ard plate.jpg" - }, - "Ded Brutal Iron Jaw": { - "material": "Ded Brutal Iron Jaw", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Orks", - "recipe": [ - { - "material": "Brutal Iron Jaw", - "count": 2 - }, - { - "material": "Murderous Spikes", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "ded brutal iron jaw.jpg" - }, - "Ded Shiny 'Ard Plate": { - "material": "Ded Shiny 'Ard Plate", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Orks", - "recipe": [ - { - "material": "Ded 'Ard Plate", - "count": 2 - }, - { - "material": "Scale-Plate Mantle", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "ded shiny _ard plate.jpg" - }, - "Digital Weapons": { - "material": "Digital Weapons", - "rarity": "Legendary", - "stat": "Damage", - "recipe": [ - { - "material": "Sanctified Weapon Oils", - "count": 2 - }, - { - "material": "Special Issue Ammo", - "count": 2 - }, - { - "material": "Weapon Parts", - "count": 2 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "digital weapons.png" - }, - "Divine Cloak": { - "material": "Divine Cloak", - "rarity": "Legendary", - "stat": "Armour", - "recipe": [ - { - "material": "Decorated Cloak", - "count": 1 - }, - { - "material": "Golden Ornamental Skull", - "count": 6 - }, - { - "material": "Satchel", - "count": 8 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "divine cloak.png" - }, - "Electromantic Cable Bundle": { - "material": "Electromantic Cable Bundle", - "rarity": "Rare", - "stat": "Health", - "recipe": [ - { - "material": "Wires", - "count": 8 - }, - { - "material": "Reinforced Cables", - "count": 4 - }, - { - "material": "Weapon Parts", - "count": 4 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "electromantic cable bundle.jpg" - }, - "Enhanced Cogwheel Crest": { - "material": "Enhanced Cogwheel Crest", - "rarity": "Epic", - "stat": "Armour", - "faction": "Adeptus Mechanicus", - "recipe": [ - { - "material": "Cogwheel Crest", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "enhanced cogwheel crest.png" - }, - "Enhanced Motive Force Capacitator": { - "material": "Enhanced Motive Force Capacitator", - "rarity": "Epic", - "stat": "Damage", - "faction": "Adeptus Mechanicus", - "recipe": [ - { - "material": "Motive Force Capacitator", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "enhanced motive force capacitator.png" - }, - "Ensorcelled Infusion": { - "material": "Ensorcelled Infusion", - "rarity": "Epic", - "stat": "Damage", - "faction": "Thousand Sons", - "recipe": [ - { - "material": "Inferno Bolts", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "ensorcelled infusion.png" - }, - "Epaulettes": { - "material": "Epaulettes", - "rarity": "Epic", - "stat": "Health", - "faction": "Astra Militarum", - "recipe": [ - { - "material": "Zeidos Ribbon", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "epaulettes.png" - }, - "Epaulettes of Renown": { - "material": "Epaulettes of Renown", - "rarity": "Legendary", - "stat": "Health", - "faction": "Astra Militarum", - "recipe": [ - { - "material": "Epaulettes", - "count": 2 - }, - { - "material": "Greater Reliquary of Protection", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "epaulettes of renown.png" - }, - "Exospine": { - "material": "Exospine", - "rarity": "Epic", - "stat": "Health", - "recipe": [ - { - "material": "Electromantic Cable Bundle", - "count": 1 - }, - { + "craftable": false, + "stat": "Armour", + "faction": "Orks", + "rarity": "Rare", + "icon": "ard plate.jpg" + }, + "Armor Trim": { + "material": "Armor Trim", + "craftable": false, + "stat": "Armour", + "rarity": "Common", + "icon": "armor trim.png" + }, + "Artificer Tasset Plate": { + "material": "Artificer Tasset Plate", + "craftable": false, + "stat": "Armour", + "rarity": "Rare", + "icon": "artificer tasset plate.png" + }, + "Artificial Vertebrae": { "material": "Artificial Vertebrae", - "count": 7 - }, - { - "material": "Single Power Pack", - "count": 7 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "exospine.jpg" - }, - "Exquisite Medical Supplies": { - "material": "Exquisite Medical Supplies", - "rarity": "Epic", - "stat": "Health", - "recipe": [ - { - "material": "Medical Supply Crate", - "count": 1 - }, - { - "material": "Box of Rations", - "count": 1 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "exquisite medical supplies.jpg" - }, - "Filligrane Psytronome": { - "material": "Filligrane Psytronome", - "rarity": "Epic", - "stat": "Damage", - "faction": "Aeldari", - "recipe": [ - { - "material": "Psytronome", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "filligrane psytronome.jpg" - }, - "Filligrane Wraithbone Plate": { - "material": "Filligrane Wraithbone Plate", - "rarity": "Epic", - "stat": "Armour", - "faction": "Aeldari", - "recipe": [ - { - "material": "Wraithbone Plate", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "filligrane wraithbone plate.jpg" - }, - "Fine Auxiliary Core": { - "material": "Fine Auxiliary Core", - "rarity": "Uncommon", - "stat": "Damage", - "recipe": [ - { + "craftable": false, + "stat": "Health", + "rarity": "Uncommon", + "icon": "artificial vertebrae.png" + }, + "Attack Vector Data-Slate": { + "material": "Attack Vector Data-Slate", + "craftable": false, + "stat": "Damage", + "rarity": "Uncommon", + "icon": "attack vector data-slate.png" + }, + "Auspex": { + "material": "Auspex", + "craftable": false, + "stat": "Damage", + "rarity": "Common", + "icon": "auspex.png" + }, + "Bad Moon Teef": { + "material": "Bad Moon Teef", + "craftable": false, + "stat": "Health", + "faction": "Orks", + "rarity": "Rare", + "icon": "bad moon teef.png" + }, + "Ballistics Data": { + "material": "Ballistics Data", + "craftable": false, + "stat": "Damage", + "rarity": "Common", + "icon": "ballistics data.png" + }, + "Barrel of Promethium": { + "material": "Barrel of Promethium", + "craftable": false, + "stat": "Damage", + "rarity": "Uncommon", + "icon": "barrel of promethium.png" + }, + "Basic Auxiliary Core": { "material": "Basic Auxiliary Core", - "count": 6 - }, - { - "material": "Gold", - "count": 25 - } - ], - "craftable": true, - "icon": "fine auxiliary core.png" - }, - "Fine Cloak": { - "material": "Fine Cloak", - "rarity": "Rare", - "stat": "Armour", - "recipe": [ - { - "material": "Cloak", - "count": 4 - }, - { - "material": "Ropes and Chains", - "count": 4 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "fine cloak.png" - }, - "First Aid Kit": { - "material": "First Aid Kit", - "rarity": "Uncommon", - "stat": "Health", - "recipe": [ - { - "material": "Standard-Issue Tourniquet", - "count": 3 - }, - { - "material": "Healing Ointment", - "count": 3 - }, - { - "material": "Gold", - "count": 25 - } - ], - "craftable": true, - "icon": "first aid kit.png" - }, - "Frostblade": { - "material": "Frostblade", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Space Wolves", - "recipe": [ - { - "material": "Mjod", - "count": 9 - }, - { - "material": "Adamantium Blades", - "count": 3 - }, - { - "material": "Relic Hilt", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "frostblade.jpg" - }, - "Grand Helmet Trophy": { - "material": "Grand Helmet Trophy", - "rarity": "Epic", - "stat": "Health", - "recipe": [ - { - "material": "Grand Skull Trophy", - "count": 1 - }, - { - "material": "Kill Count", - "count": 7 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "grand helmet trophy.png" - }, - "Grand Purity Seal": { - "material": "Grand Purity Seal", - "rarity": "Epic", - "stat": "Armour", - "recipe": [ - { - "material": "Blessed Purity Seal", - "count": 1 - }, - { - "material": "The Gold Phoenix", - "count": 6 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "grand purity seal.png" - }, - "Grand Skull Trophy": { - "material": "Grand Skull Trophy", - "rarity": "Rare", - "stat": "Health", - "recipe": [ - { + "craftable": false, + "stat": "Damage", + "rarity": "Common", + "icon": "basic auxiliary core.png" + }, + "Battle Scar": { "material": "Battle Scar", - "count": 3 - }, - { - "material": "Helmet Trophy", - "count": 4 - }, - { - "material": "Chip Damage", - "count": 5 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "grand skull trophy.png" - }, - "Grand Strategy": { - "material": "Grand Strategy", - "rarity": "Legendary", - "stat": "Health", - "recipe": [ - { - "material": "Attack Vector Data-Slate", - "count": 9 - }, - { - "material": "Battle Plan", - "count": 2 - }, - { - "material": "Secret Agenda", - "count": 7 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "grand strategy.png" - }, - "Grandiloquent Litanical": { - "material": "Grandiloquent Litanical", - "rarity": "Rare", - "stat": "Health", - "recipe": [ - { - "material": "Writings", - "count": 8 - }, - { - "material": "Ropes and Chains", - "count": 7 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "grandiloquent litanical.png" - }, - "Grandiose Skull Ornament": { - "material": "Grandiose Skull Ornament", - "rarity": "Legendary", - "stat": "Health", - "recipe": [ - { - "material": "Golden Ornamental Skull", - "count": 5 - }, - { - "material": "Metal Decorative Skull", - "count": 9 - }, - { - "material": "Grand Helmet Trophy", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "grandiose skull ornament.jpg" - }, - "Great Cult Implements": { - "material": "Great Cult Implements", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Thousand Sons", - "recipe": [ - { - "material": "Cabalistic Implements", - "count": 2 - }, - { - "material": "Mutation: Metallic Skin", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "great cult implements.jpg" - }, - "Greater Reliquary of Protection": { - "material": "Greater Reliquary of Protection", - "rarity": "Epic", - "stat": "Health", - "recipe": [ - { - "material": "The Phoenix Ascendant", - "count": 4 - }, - { - "material": "Reliquary of Protection", - "count": 6 - }, - { - "material": "Lesser Reliquary of Protection", - "count": 6 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "greater reliquary of protection.png" - }, - "Heirloom Entrenching Tool": { - "material": "Heirloom Entrenching Tool", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Astra Militarum", - "recipe": [ - { - "material": "Veteran's Entrenching Tool", - "count": 2 - }, - { - "material": "Sanctified Weapon Oils", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "heirloom entrenching tool.jpg" - }, - "Hellfury Bolts": { - "material": "Hellfury Bolts", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Ultramarines", - "recipe": [ - { - "material": "Codex Astartes Page", - "count": 9 - }, - { - "material": "Prey-Sight", - "count": 1 - }, - { - "material": "Special Issue Ammo", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "hellfury bolts.jpg" - }, - "High-Capacity Power Pack": { - "material": "High-Capacity Power Pack", - "rarity": "Rare", - "stat": "Damage", - "recipe": [ - { - "material": "Power Pack Bundle", - "count": 2 - }, - { - "material": "Plasma Cell", - "count": 5 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "high-capacity power pack.png" - }, - "High-Grade Flak Plates": { - "material": "High-Grade Flak Plates", - "rarity": "Epic", - "stat": "Armour", - "faction": "Astra Militarum", - "recipe": [ - { - "material": "Flak Plates", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "high-grade flak plates.png" - }, - "Holster and Pockets": { - "material": "Holster and Pockets", - "rarity": "Uncommon", - "stat": "Health", - "recipe": [ - { - "material": "Ropes and Chains", - "count": 3 - }, - { - "material": "Weapon Parts", - "count": 3 - }, - { - "material": "Gold", - "count": 25 - } - ], - "craftable": true, - "icon": "holster and pockets.png" - }, - "Holy Corset Armor": { - "material": "Holy Corset Armor", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Adepta Sororitas", - "recipe": [ - { - "material": "Sanctified Corset Armor", - "count": 2 - }, - { - "material": "Grand Purity Seal", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "holy corset armor.jpg" - }, - "Hymn of Sacrifice": { - "material": "Hymn of Sacrifice", - "rarity": "Epic", - "stat": "Damage", - "faction": "Adepta Sororitas", - "recipe": [ - { - "material": "Hymn of Martyrs", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "hymn of sacrifice.png" - }, - "Hymn of the Divine": { - "material": "Hymn of the Divine", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Adepta Sororitas", - "recipe": [ - { - "material": "Hymn of Sacrifice", - "count": 2 - }, - { - "material": "Sanctified Weapon Oils", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "hymn of the divine.jpg" - }, - "Hyper-Adaptive Adrenal Glands": { - "material": "Hyper-Adaptive Adrenal Glands", - "rarity": "Legendary", - "stat": "Health", - "faction": "Tyranids", - "recipe": [ - { - "material": "Adaptive Adrenal Glands", - "count": 2 - }, - { - "material": "Mutation: Regenerative Blood", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "hyper-adaptive adrenal glands.png" - }, - "Hyper-Adaptive Chitin Carapace": { - "material": "Hyper-Adaptive Chitin Carapace", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Tyranids", - "recipe": [ - { - "material": "Adaptive Chitin Carapace", - "count": 2 - }, - { - "material": "Mutation: Metallic Skin", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "hyper-adaptive chitin carapace.png" - }, - "Hyper-Adaptive Toxin Sacs": { - "material": "Hyper-Adaptive Toxin Sacs", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Tyranids", - "recipe": [ - { - "material": "Adaptive Toxin Sacs", - "count": 2 - }, - { - "material": "Murderous Spikes", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "hyper-adaptive toxin sacs.png" - }, - "Hypermetabolic Acceleration": { - "material": "Hypermetabolic Acceleration", - "rarity": "Legendary", - "stat": "Health", - "faction": "Tyranids", - "recipe": [ - { - "material": "Synaptic Augmentation", - "count": 9 - }, - { - "material": "Medical Supply Crate", - "count": 1 - }, - { - "material": "Blessed Promethium Canister", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "hypermetabolic acceleration.png" - }, - "Hyperstim": { - "material": "Hyperstim", - "rarity": "Legendary", - "stat": "Damage", - "recipe": [ - { - "material": "Combat Stimms", - "count": 6 - }, - { - "material": "Box of Rations", - "count": 2 - }, - { - "material": "Blessed Promethium Canister", - "count": 3 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "hyperstim.png" - }, - "Ice Troll Hide": { - "material": "Ice Troll Hide", - "rarity": "Epic", - "stat": "Armour", - "faction": "Space Wolves", - "recipe": [ - { + "craftable": false, + "stat": "Health", + "rarity": "Rare", + "icon": "battle scar.png" + }, + "Beast Hide": { "material": "Beast Hide", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "ice troll hide.jpg" - }, - "Ice Wyrm Hide": { - "material": "Ice Wyrm Hide", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Space Wolves", - "recipe": [ - { - "material": "Ice Troll Hide", - "count": 2 - }, - { - "material": "Grand Purity Seal", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "ice wyrm hide.jpg" - }, - "Icon of Daemonic Vengeance": { - "material": "Icon of Daemonic Vengeance", - "rarity": "Epic", - "stat": "Damage", - "faction": "Black Legion", - "recipe": [ - { - "material": "Icon of Vengeance", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "icon of daemonic vengeance.png" - }, - "Icon of Infernal Vengeance": { - "material": "Icon of Infernal Vengeance", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Black Legion", - "recipe": [ - { - "material": "Icon of Daemonic Vengeance", - "count": 2 - }, - { - "material": "Murderous Spikes", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "icon of infernal vengeance.png" - }, - "Immaterial Shroud": { - "material": "Immaterial Shroud", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Death Guard", - "recipe": [ - { - "material": "Death Shroud", - "count": 2 - }, - { - "material": "Mutation: Metallic Skin", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "immaterial shroud.jpg" - }, - "Implant Attack": { - "material": "Implant Attack", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Tyranids", - "recipe": [ - { - "material": "Synaptic Augmentation", - "count": 9 - }, - { - "material": "Supernatural Sight", - "count": 1 - }, - { - "material": "Relic Hilt", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "implant attack.png" - }, - "Imposing Horns": { - "material": "Imposing Horns", - "rarity": "Legendary", - "stat": "Damage", - "recipe": [ - { - "material": "Murderous Spikes", - "count": 2 - }, - { - "material": "Golden Ornamental Skull", - "count": 2 - }, - { - "material": "Mutation: Tough Skin", - "count": 2 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "imposing horns.png" - }, - "Impressive Armor Trim": { - "material": "Impressive Armor Trim", - "rarity": "Rare", - "stat": "Armour", - "recipe": [ - { - "material": "Armor Trim", - "count": 5 - }, - { - "material": "Metal Decorative Skull", - "count": 2 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "impressive armor trim.png" - }, - "Infernal Armor Trim": { - "material": "Infernal Armor Trim", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Black Legion", - "recipe": [ - { - "material": "Daemonic Armor Trim", - "count": 2 - }, - { - "material": "Mutation: Metallic Skin", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "infernal armor trim.png" - }, - "Infernal Eye of Horus": { - "material": "Infernal Eye of Horus", - "rarity": "Legendary", - "stat": "Health", - "faction": "Black Legion", - "recipe": [ - { - "material": "Warp Touched Eye of Horus", - "count": 2 - }, - { - "material": "Mutation: Regenerative Blood", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "infernal eye of horus.png" - }, - "Inner Circle Hood": { - "material": "Inner Circle Hood", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Dark Angels", - "recipe": [ - { - "material": "Calibanite Hood", - "count": 2 - }, - { - "material": "Grand Purity Seal", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "inner circle hood.jpg" - }, - "Iridium Plating": { - "material": "Iridium Plating", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Tau Empire", - "recipe": [ - { - "material": "Engram Neurochip", - "count": 9 - }, - { - "material": "Advanced Stimm Injector", - "count": 1 - }, - { - "material": "Sophisticated Material Bar", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "iridium plating.jpg" - }, - "Kataphron Armour": { - "material": "Kataphron Armour", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Adeptus Mechanicus", - "recipe": [ - { - "material": "Blessed Cogitator", - "count": 9 - }, - { - "material": "Exospine", - "count": 1 - }, - { - "material": "Unyielding Rivets", - "count": 4 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "kataphron armour.png" - }, - "Key of Achrabael": { - "material": "Key of Achrabael", - "rarity": "Legendary", - "stat": "Health", - "faction": "Dark Angels", - "recipe": [ - { - "material": "Key of Knowledge", - "count": 2 - }, - { - "material": "Greater Reliquary of Protection", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "key of achrabael.jpg" - }, - "Key of Knowledge": { - "material": "Key of Knowledge", - "rarity": "Epic", - "stat": "Health", - "faction": "Dark Angels", - "recipe": [ - { - "material": "Key of Ignorance", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "key of knowledge.jpg" - }, - "Kraken Tooth Necklace": { - "material": "Kraken Tooth Necklace", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Space Wolves", - "recipe": [ - { - "material": "Thunderwolf Tooth Necklace", - "count": 2 - }, - { - "material": "Sanctified Weapon Oils", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "kraken tooth necklace.jpg" - }, - "Legendary Reliquary of Protection": { - "material": "Legendary Reliquary of Protection", - "rarity": "Legendary", - "stat": "Health", - "recipe": [ - { - "material": "Greater Reliquary of Protection", - "count": 1 - }, - { - "material": "Zeidos Ribbon", - "count": 5 - }, - { - "material": "The Silver Aquila", - "count": 10 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "legendary reliquary of protection.png" - }, - "Legendary Reliquary of Vengeance": { - "material": "Legendary Reliquary of Vengeance", - "rarity": "Legendary", - "stat": "Damage", - "recipe": [ - { - "material": "Greater Reliquary of Vengeance", - "count": 9 - }, - { - "material": "Reliquary of Vengeance", - "count": 9 - }, - { - "material": "Sanctified Weapon Oils", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "legendary reliquary of vengeance.jpg" - }, - "Lights of Purgation": { - "material": "Lights of Purgation", - "rarity": "Epic", - "stat": "Health", - "faction": "Black Templars", - "recipe": [ - { - "material": "Righteous Candle", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "lights of purgation.jpg" - }, - "Magazine": { - "material": "Magazine", - "rarity": "Uncommon", - "stat": "Damage", - "recipe": [ - { - "material": "Round of Ammo", - "count": 6 - }, - { - "material": "Gold", - "count": 25 - } - ], - "craftable": true, - "icon": "magazine.png" - }, - "Malefic Scroll": { - "material": "Malefic Scroll", - "rarity": "Epic", - "stat": "Health", - "faction": "Thousand Sons", - "recipe": [ - { - "material": "Tainted Text", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "malefic scroll.jpg" - }, - "Mark of Chaos Undivided": { - "material": "Mark of Chaos Undivided", - "rarity": "Legendary", - "stat": "Health", - "faction": "Black Legion", - "recipe": [ - { - "material": "Blessing of the Dark Gods", - "count": 9 - }, - { - "material": "Grand Skull Trophy", - "count": 1 - }, - { - "material": "Warp Locus", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "mark of chaos undivided.jpg" - }, - "Mark of Nurgle": { - "material": "Mark of Nurgle", - "rarity": "Legendary", - "stat": "Health", - "faction": "Death Guard", - "recipe": [ - { + "craftable": false, + "stat": "Armour", + "faction": "Space Wolves", + "rarity": "Rare", + "icon": "beast hide.jpg" + }, + "Bionic Eye": { + "material": "Bionic Eye", + "craftable": false, + "stat": "Damage", + "rarity": "Rare", + "icon": "bionic eye.png" + }, + "Bionic Neural Pathways": { + "material": "Bionic Neural Pathways", + "craftable": false, + "stat": "Damage", + "rarity": "Epic", + "icon": "bionic neural pathways.png" + }, + "Bladesman's Honour": { + "material": "Bladesman's Honour", + "craftable": false, + "stat": "Damage", + "rarity": "Rare", + "icon": "bladesman_s honour.png" + }, + "Blasphemous Armor Trim": { + "material": "Blasphemous Armor Trim", + "craftable": false, + "stat": "Armour", + "faction": "Black Legion", + "rarity": "Rare", + "icon": "blasphemous armor trim.png" + }, + "Blessed Corset Armor": { + "material": "Blessed Corset Armor", + "craftable": false, + "stat": "Armour", + "faction": "Adepta Sororitas", + "rarity": "Rare", + "icon": "blessed corset armor.png" + }, + "Blessed Promethium Canister": { + "material": "Blessed Promethium Canister", + "craftable": false, + "stat": "Damage", + "rarity": "Epic", + "icon": "blessed promethium canister.png" + }, + "Blessed Tabbard": { + "material": "Blessed Tabbard", + "label": "Blessed Tabard", + "craftable": false, + "stat": "Armour", + "faction": "Black Templars", + "rarity": "Rare", + "icon": "blessed tabbard.jpg" + }, + "Blessed Tasset Plate": { + "material": "Blessed Tasset Plate", + "craftable": false, + "stat": "Armour", + "rarity": "Uncommon", + "icon": "blessed tasset plate.png" + }, + "Blessing of Nurgle": { "material": "Blessing of Nurgle", - "count": 9 - }, - { - "material": "Grand Skull Trophy", - "count": 1 - }, - { - "material": "Warp Locus", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "mark of nurgle.jpg" - }, - "Mark of Tzeentch": { - "material": "Mark of Tzeentch", - "rarity": "Legendary", - "stat": "Health", - "faction": "Thousand Sons", - "recipe": [ - { + "craftable": false, + "stat": "Health", + "faction": "Death Guard", + "rarity": "Legendary", + "icon": "blessing of nurgle.jpg" + }, + "Blessing of the Dark Gods": { + "material": "Blessing of the Dark Gods", + "craftable": false, + "stat": "Health", + "faction": "Black Legion", + "rarity": "Legendary", + "icon": "blessing of the dark gods.jpg" + }, + "Blessing of Tzeentch": { "material": "Blessing of Tzeentch", - "count": 9 - }, - { - "material": "Battle Plan", - "count": 1 - }, - { - "material": "Warp Locus", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "mark of tzeentch.jpg" - }, - "Mars-Pattern Bionics": { - "material": "Mars-Pattern Bionics", - "rarity": "Epic", - "stat": "Health", - "recipe": [ - { - "material": "Advanced Bionics", - "count": 1 - }, - { - "material": "Bionic Eye", - "count": 7 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "mars-pattern bionics.jpg" - }, - "Mechadendrite Hive": { - "material": "Mechadendrite Hive", - "rarity": "Legendary", - "stat": "Health", - "faction": "Adeptus Mechanicus", - "recipe": [ - { - "material": "Servo-Arc Claw", - "count": 2 - }, - { - "material": "Greater Reliquary of Protection", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "mechadendrite hive.png" - }, - "Medallion Resolute": { - "material": "Medallion Resolute", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Astra Militarum", - "recipe": [ - { - "material": "Honourifica Imperialis", - "count": 9 - }, - { - "material": "Battle Plan", - "count": 1 - }, - { - "material": "Relic Hilt", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "medallion resolute.jpg" - }, - "Medical Supply Crate": { - "material": "Medical Supply Crate", - "rarity": "Rare", - "stat": "Health", - "recipe": [ - { - "material": "First Aid Kit", - "count": 2 - }, - { - "material": "Field Ration", - "count": 5 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "medical supply crate.jpg" - }, - "Mesh Weave Garment": { - "material": "Mesh Weave Garment", - "rarity": "Rare", - "stat": "Armour", - "recipe": [ - { - "material": "Mesh Weave", - "count": 6 - }, - { - "material": "Rebreather", - "count": 4 - }, - { - "material": "Adamantium Filaments", - "count": 4 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "mesh weave garment.jpg" - }, - "Molecular Vaporiser": { - "material": "Molecular Vaporiser", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Necrons", - "recipe": [ - { - "material": "Engrammatic Entangler", - "count": 9 - }, - { - "material": "Otherworldly Nano Swarm", - "count": 1 - }, - { - "material": "Hypermaterial Shifter", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "molecular vaporiser.jpg" - }, - "Multi-Spectrum Sensor Suite": { - "material": "Multi-Spectrum Sensor Suite", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Tau Empire", - "recipe": [ - { - "material": "Advanced Sensor Suite", - "count": 2 - }, - { - "material": "Ratiocination Targeting", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "multi-spectrum sensor suite.jpg" - }, - "Murderous Spikes": { - "material": "Murderous Spikes", - "rarity": "Rare", - "stat": "Damage", - "recipe": [ - { - "material": "Razorsharp Spikes", - "count": 2 - }, - { - "material": "Slicing Claws", - "count": 2 - }, - { - "material": "Weapon Parts", - "count": 2 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "murderous spikes.jpg" - }, - "Mutation: Impenetrable Skin": { - "material": "Mutation: Impenetrable Skin", - "rarity": "Legendary", - "stat": "Armour", - "recipe": [ - { - "material": "Mutation: Metallic Skin", - "count": 1 - }, - { - "material": "Warp Locus", - "count": 7 - }, - { - "material": "Thick Skin", - "count": 9 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "mutation_ impenetrable skin.png" - }, - "Mutation: Metallic Skin": { - "material": "Mutation: Metallic Skin", - "rarity": "Epic", - "stat": "Armour", - "recipe": [ - { - "material": "Mutation: Warped Skin", - "count": 1 - }, - { - "material": "Mutation: Scaly Skin", - "count": 6 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "mutation_ metallic skin.png" - }, - "Mutation: Otherworldly Power": { - "material": "Mutation: Otherworldly Power", - "rarity": "Legendary", - "stat": "Health", - "recipe": [ - { - "material": "Mutation: Regenerative Blood", - "count": 1 - }, - { - "material": "Mutation: Warped Heart", - "count": 5 - }, - { - "material": "Mutation: Warped Muscles", - "count": 10 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "mutation_ otherworldly power.png" - }, - "Mutation: Regenerative Blood": { - "material": "Mutation: Regenerative Blood", - "rarity": "Epic", - "stat": "Health", - "recipe": [ - { - "material": "Mutation: Warped Heart", - "count": 4 - }, - { - "material": "Mutation: Warped Lungs", - "count": 6 - }, - { - "material": "Mutation: Warped Muscles", - "count": 6 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "mutation_ regenerative blood.png" - }, - "Mutation: Warped Skin": { - "material": "Mutation: Warped Skin", - "rarity": "Rare", - "stat": "Armour", - "recipe": [ - { - "material": "Mutation: Scaly Skin", - "count": 6 - }, - { - "material": "Mutation: Tough Skin", - "count": 4 - }, - { - "material": "Mutation: Warped Muscles", - "count": 4 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "mutation_ warped skin.jpg" - }, - "Mysterious Device": { - "material": "Mysterious Device", - "rarity": "Legendary", - "stat": "Armour", - "recipe": [ - { - "material": "Sophisticated Material Sheet", - "count": 1 - }, - { - "material": "Hypermaterial Shifter", - "count": 7 - }, - { - "material": "Plasma Cell", - "count": 10 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "mysterious device.jpg" - }, - "Necrodermis Nano Scarab Swarm": { - "material": "Necrodermis Nano Scarab Swarm", - "rarity": "Epic", - "stat": "Health", - "faction": "Necrons", - "recipe": [ - { - "material": "Otherworldly Nano Swarm", - "count": 1 - }, - { - "material": "Sophisticated Material Ingot", - "count": 3 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "necrodermis nano scarab swarm.png" - }, - "Nob Teef": { - "material": "Nob Teef", - "rarity": "Epic", - "stat": "Health", - "faction": "Orks", - "recipe": [ - { - "material": "Bad Moon Teef", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "nob teef.jpg" - }, - "Octarian Crusade Seal": { - "material": "Octarian Crusade Seal", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Black Templars", - "recipe": [ - { + "craftable": false, + "stat": "Health", + "faction": "Thousand Sons", + "rarity": "Legendary", + "icon": "blessing of tzeentch.jpg" + }, + "Bones of the Paragons": { "material": "Bones of the Paragons", - "count": 9 - }, - { - "material": "Crusader's Tabbard", - "count": 1 - }, - { - "material": "Bladesman's Honour", - "count": 7 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "octarian crusade seal.jpg" - }, - "Ominous Xenos Glyphs": { - "material": "Ominous Xenos Glyphs", - "rarity": "Epic", - "stat": "Health", - "recipe": [ - { - "material": "Ancient Runes", - "count": 4 - }, - { - "material": "Writings", - "count": 6 - }, - { - "material": "Scrolls", - "count": 6 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "ominous xenos glyphs.jpg" - }, - "Otherworldly Energy Reservoir": { - "material": "Otherworldly Energy Reservoir", - "rarity": "Uncommon", - "stat": "Damage", - "recipe": [ - { - "material": "Otherworldly Energy", - "count": 6 - }, - { - "material": "Gold", - "count": 25 - } - ], - "craftable": true, - "icon": "otherworldly energy reservoir.jpg" - }, - "Otherworldly Nano Swarm": { - "material": "Otherworldly Nano Swarm", - "rarity": "Rare", - "stat": "Health", - "recipe": [ - { - "material": "Advanced Filaments", - "count": 8 - }, - { - "material": "Nano Swarm", - "count": 7 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "otherworldly nano swarm.png" - }, - "Overcapacitator": { - "material": "Overcapacitator", - "rarity": "Legendary", - "stat": "Damage", - "recipe": [ - { - "material": "Ratiocination Targeting", - "count": 2 - }, - { - "material": "Bionic Neural Pathways", - "count": 2 - }, - { - "material": "Wires", - "count": 2 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "overcapacitator.jpg" - }, - "Perfidious Relic of the Unforgiven": { - "material": "Perfidious Relic of the Unforgiven", - "rarity": "Legendary", - "stat": "Health", - "faction": "Dark Angels", - "recipe": [ - { - "material": "Stone Guardian Fragment", - "count": 9 - }, - { - "material": "Impressive Armor Trim", - "count": 2 - }, - { - "material": "Terminator Honours", - "count": 5 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "perfidious relic of the unforgiven.jpg" - }, - "Personal Saga": { - "material": "Personal Saga", - "rarity": "Legendary", - "stat": "Health", - "faction": "Space Wolves", - "recipe": [ - { - "material": "Mjod", - "count": 9 - }, - { - "material": "Grand Skull Trophy", - "count": 1 - }, - { - "material": "Terminator Honours", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "personal saga.jpg" - }, - "Phylacterine Hive": { - "material": "Phylacterine Hive", - "rarity": "Legendary", - "stat": "Health", - "faction": "Necrons", - "recipe": [ - { - "material": "Engrammatic Entangler", - "count": 9 - }, - { - "material": "Otherworldly Nano Swarm", - "count": 1 - }, - { - "material": "Hypermaterial Shifter", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "phylacterine hive.jpg" - }, - "Plasma Cell Bundle": { - "material": "Plasma Cell Bundle", - "rarity": "Rare", - "stat": "Damage", - "recipe": [ - { - "material": "Plasma Cell", - "count": 6 - }, - { - "material": "Barrel of Promethium", - "count": 3 - }, - { + "craftable": false, + "stat": "Health", + "faction": "Black Templars", + "rarity": "Legendary", + "icon": "bones of the paragons.jpg" + }, + "Box of Salvage": { + "material": "Box of Salvage", + "craftable": false, + "stat": "Armour", + "rarity": "Uncommon", + "icon": "box of salvage.png" + }, + "Can of Promethium": { "material": "Can of Promethium", - "count": 7 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "plasma cell bundle.png" - }, - "Plasma Cell Crate": { - "material": "Plasma Cell Crate", - "rarity": "Epic", - "stat": "Damage", - "recipe": [ - { - "material": "Plasma Cell Bundle", - "count": 1 - }, - { - "material": "Crate of Salvage", - "count": 6 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "plasma cell crate.jpg" - }, - "Plasma Coil": { - "material": "Plasma Coil", - "rarity": "Legendary", - "stat": "Damage", - "recipe": [ - { - "material": "Blessed Promethium Canister", - "count": 3 - }, - { - "material": "Plasma Cell Crate", - "count": 1 - }, - { - "material": "High-Capacity Power Pack", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "plasma coil.png" - }, - "Portentious Xenos Glyphs": { - "material": "Portentious Xenos Glyphs", - "rarity": "Legendary", - "stat": "Health", - "recipe": [ - { - "material": "Ominous Xenos Glyphs", - "count": 1 - }, - { - "material": "Ancient Runes", - "count": 5 - }, - { - "material": "Adamantium Filaments", - "count": 10 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "portentious xenos glyphs.jpg" - }, - "Power Pack Bundle": { - "material": "Power Pack Bundle", - "rarity": "Uncommon", - "stat": "Damage", - "recipe": [ - { - "material": "Single Power Pack", - "count": 6 - }, - { - "material": "Gold", - "count": 25 - } - ], - "craftable": true, - "icon": "power pack bundle.png" - }, - "Powered Blade": { - "material": "Powered Blade", - "rarity": "Legendary", - "stat": "Damage", - "recipe": [ - { - "material": "Adamantium Blades", - "count": 1 - }, - { - "material": "Relic Hilt", - "count": 4 - }, - { - "material": "Anointed Micro-Generator", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "powered blade.jpg" - }, - "Powerful Auxiliary Core": { - "material": "Powerful Auxiliary Core", - "rarity": "Rare", - "stat": "Damage", - "recipe": [ - { - "material": "Fine Micro-Generator", - "count": 5 - }, - { - "material": "Fine Auxiliary Core", - "count": 2 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "powerful auxiliary core.png" - }, - "Powerful Micro-Generator": { - "material": "Powerful Micro-Generator", - "rarity": "Rare", - "stat": "Damage", - "recipe": [ - { - "material": "Fine Micro-Generator", - "count": 9 - }, - { - "material": "Single Power Pack", - "count": 7 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "powerful micro-generator.png" - }, - "Prehensile Dataspike": { - "material": "Prehensile Dataspike", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Adeptus Mechanicus", - "recipe": [ - { - "material": "Blessed Cogitator", - "count": 9 - }, - { - "material": "Electromantic Cable Bundle", - "count": 1 - }, - { - "material": "Bionic Neural Pathways", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "prehensile dataspike.png" - }, - "Prey-Sight": { - "material": "Prey-Sight", - "rarity": "Rare", - "stat": "Damage", - "recipe": [ - { - "material": "Vox-Caster", - "count": 6 - }, - { - "material": "Locator Beacon", - "count": 5 - }, - { - "material": "Auspex", - "count": 6 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "prey-sight.png" - }, - "Protocol of the Eternal Guardian": { - "material": "Protocol of the Eternal Guardian", - "rarity": "Legendary", - "stat": "Health", - "faction": "Necrons", - "recipe": [ - { - "material": "Resurrection Protocols", - "count": 2 - }, - { - "material": "Ominous Xenos Glyphs", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "protocol of the eternal guardian.jpg" - }, - "Psychic Focus": { - "material": "Psychic Focus", - "rarity": "Legendary", - "stat": "Damage", - "recipe": [ - { - "material": "Supernatural Sight", - "count": 1 - }, - { - "material": "Sophisticated Material Sheet", - "count": 1 - }, - { - "material": "Warp Locus", - "count": 4 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "psychic focus.png" - }, - "Ratiocination Targeting": { - "material": "Ratiocination Targeting", - "rarity": "Rare", - "stat": "Damage", - "recipe": [ - { - "material": "Targeting Matrix", - "count": 2 - }, - { - "material": "Attack Vector Data-Slate", - "count": 2 - }, - { - "material": "Mission Assignment", - "count": 2 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "ratiocination targeting.jpg" - }, - "Razorsharp Spikes": { - "material": "Razorsharp Spikes", - "rarity": "Uncommon", - "stat": "Damage", - "recipe": [ - { - "material": "Nasty Spikes", - "count": 6 - }, - { + "craftable": false, + "stat": "Damage", + "rarity": "Common", + "icon": "can of promethium.png" + }, + "Canister of Chemicals": { + "material": "Canister of Chemicals", + "craftable": false, + "stat": "Damage", + "rarity": "Common", + "icon": "canister of chemicals.png" + }, + "Ceramite Lump": { + "material": "Ceramite Lump", + "craftable": false, + "stat": "Armour", + "rarity": "Uncommon", + "icon": "ceramite lump.png" + }, + "Chain of Zeal": { + "material": "Chain of Zeal", + "craftable": false, + "stat": "Damage", + "faction": "Black Templars", + "rarity": "Rare", + "icon": "chain of zeal.jpg" + }, + "Chapter Pendant": { + "material": "Chapter Pendant", + "craftable": false, + "stat": "Damage", + "faction": "Dark Angels", + "rarity": "Rare", + "icon": "chapter pendant.jpg" + }, + "Chip Damage": { "material": "Chip Damage", - "count": 3 - }, - { - "material": "Gold", - "count": 25 - } - ], - "craftable": true, - "icon": "razorsharp spikes.png" - }, - "Refined Combat Stimms": { - "material": "Refined Combat Stimms", - "rarity": "Epic", - "stat": "Damage", - "recipe": [ - { + "craftable": false, + "stat": "Health", + "rarity": "Common", + "icon": "chip damage.png" + }, + "Classified Data-Slate": { + "material": "Classified Data-Slate", + "craftable": false, + "stat": "Damage", + "rarity": "Rare", + "icon": "classified data-slate.png" + }, + "Cloak": { + "material": "Cloak", + "craftable": false, + "stat": "Armour", + "rarity": "Uncommon", + "icon": "cloak.png" + }, + "Codex Astartes Page": { + "material": "Codex Astartes Page", + "craftable": false, + "stat": "Health", + "faction": "Ultramarines", + "rarity": "Legendary", + "icon": "codex astartes page.jpg" + }, + "Combat Stimms": { "material": "Combat Stimms", - "count": 8 - }, - { - "material": "Barrel of Promethium", - "count": 3 - }, - { - "material": "Medical Supply Crate", - "count": 1 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "refined combat stimms.jpg" - }, - "Regenerating Nano Swarm": { - "material": "Regenerating Nano Swarm", - "rarity": "Uncommon", - "stat": "Health", - "faction": "Necrons", - "recipe": [ - { - "material": "Adamantium Filaments", - "count": 6 - }, - { - "material": "Gold", - "count": 25 - } - ], - "craftable": true, - "icon": "regenerating nano swarm.png" - }, - "Relic Auxiliary Core": { - "material": "Relic Auxiliary Core", - "rarity": "Legendary", - "stat": "Damage", - "recipe": [ - { - "material": "Powerful Auxiliary Core", - "count": 1 - }, - { - "material": "Anointed Micro-Generator", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "relic auxiliary core.jpg" - }, - "Relic Bionic Enhancement": { - "material": "Relic Bionic Enhancement", - "rarity": "Legendary", - "stat": "Health", - "recipe": [ - { - "material": "Advanced Bionics", - "count": 1 - }, - { - "material": "Bionic Neural Pathways", - "count": 6 - }, - { - "material": "Anointed Micro-Generator", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "relic bionic enhancement.jpg" - }, - "Relic Micro-Generator": { - "material": "Relic Micro-Generator", - "rarity": "Legendary", - "stat": "Damage", - "recipe": [ - { - "material": "Powerful Micro-Generator", - "count": 1 - }, - { - "material": "Plasma Cell Crate", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "relic micro-generator.jpg" - }, - "Relic Motive Force Capacitator": { - "material": "Relic Motive Force Capacitator", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Adeptus Mechanicus", - "recipe": [ - { - "material": "Enhanced Motive Force Capacitator", - "count": 2 - }, - { - "material": "Sanctified Weapon Oils", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "relic motive force capacitator.png" - }, - "Relic Tasset Plate": { - "material": "Relic Tasset Plate", - "rarity": "Legendary", - "stat": "Armour", - "recipe": [ - { - "material": "Ancient Tasset Plate", - "count": 1 - }, - { - "material": "Artificer Tasset Plate", - "count": 8 - }, - { - "material": "Writings", - "count": 8 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "relic tasset plate.png" - }, - "Resplendent Spirit Stone": { - "material": "Resplendent Spirit Stone", - "rarity": "Legendary", - "stat": "Health", - "faction": "Aeldari", - "recipe": [ - { - "material": "Spirit Stone", - "count": 2 - }, - { - "material": "Ominous Xenos Glyphs", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "resplendent spirit stone.jpg" - }, - "Resurrection Protocols": { - "material": "Resurrection Protocols", - "rarity": "Epic", - "stat": "Health", - "faction": "Necrons", - "recipe": [ - { - "material": "Reconstitution Protocols", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "resurrection protocols.png" - }, - "Roses of Sacrifice": { - "material": "Roses of Sacrifice", - "rarity": "Epic", - "stat": "Health", - "faction": "Adepta Sororitas", - "recipe": [ - { - "material": "Rose of Martyrs", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "roses of sacrifice.png" - }, - "Roses of the Divine": { - "material": "Roses of the Divine", - "rarity": "Legendary", - "stat": "Health", - "faction": "Adepta Sororitas", - "recipe": [ - { - "material": "Roses of Sacrifice", - "count": 2 - }, - { - "material": "Greater Reliquary of Protection", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "roses of the divine.png" - }, - "Runic Talisman": { - "material": "Runic Talisman", - "rarity": "Epic", - "stat": "Health", - "faction": "Space Wolves", - "recipe": [ - { - "material": "Wolf Tail Talisman", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "runic talisman.jpg" - }, - "Runic Tasset Plate": { - "material": "Runic Tasset Plate", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Space Wolves", - "recipe": [ - { - "material": "Mjod", - "count": 9 - }, - { - "material": "Ancient Tasset Plate", - "count": 1 - }, - { - "material": "Terminator Honours", - "count": 5 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "runic tasset plate.png" - }, - "Sabbat-Pattern Visor": { - "material": "Sabbat-Pattern Visor", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Adepta Sororitas", - "recipe": [ - { + "craftable": false, + "stat": "Damage", + "rarity": "Uncommon", + "icon": "combat stimms.png" + }, + "Crate of Salvage": { + "material": "Crate of Salvage", + "craftable": false, + "stat": "Armour", + "rarity": "Rare", + "icon": "crate of salvage.png" + }, + "Dark Hood": { + "material": "Dark Hood", + "craftable": false, + "stat": "Armour", + "faction": "Dark Angels", + "rarity": "Rare", + "icon": "dark hood.jpg" + }, + "Divinator Class Auspex": { + "material": "Divinator Class Auspex", + "craftable": false, + "stat": "Damage", + "rarity": "Uncommon", + "icon": "divinator class auspex.png" + }, + "Drone Controller": { + "material": "Drone Controller", + "craftable": false, + "stat": "Armour", + "faction": "Tau Empire", + "rarity": "Rare", + "icon": "drone controller.jpg" + }, + "Duplicate Organ": { + "material": "Duplicate Organ", + "craftable": false, + "stat": "Armour", + "rarity": "Epic", + "icon": "duplicate organ.jpg" + }, + "Engram Neurochip": { + "material": "Engram Neurochip", + "craftable": false, + "stat": "Health", + "faction": "Tau Empire", + "rarity": "Legendary", + "icon": "engram neurochip.jpg" + }, + "Engrammatic Entangler": { + "material": "Engrammatic Entangler", + "craftable": false, + "stat": "Health", + "faction": "Necrons", + "rarity": "Legendary", + "icon": "engrammatic entangler.jpg" + }, + "Enriched Rations": { + "material": "Enriched Rations", + "craftable": false, + "stat": "Health", + "rarity": "Uncommon", + "icon": "enriched rations.png" + }, + "Entrenching Tool": { + "material": "Entrenching Tool", + "craftable": false, + "stat": "Damage", + "faction": "Astra Militarum", + "rarity": "Rare", + "icon": "entrenching tool.png" + }, + "Eye of Horus": { + "material": "Eye of Horus", + "craftable": false, + "stat": "Health", + "faction": "Black Legion", + "rarity": "Rare", + "icon": "eye of horus.png" + }, + "Field Ration": { + "material": "Field Ration", + "craftable": false, + "stat": "Health", + "rarity": "Common", + "icon": "field ration.png" + }, + "Fine Micro-Generator": { + "material": "Fine Micro-Generator", + "craftable": false, + "stat": "Damage", + "rarity": "Uncommon", + "icon": "fine micro-generator.png" + }, + "Fine Purity Seal": { + "material": "Fine Purity Seal", + "craftable": false, + "stat": "Armour", + "rarity": "Common", + "icon": "fine purity seal.png" + }, + "Flak Plates": { + "material": "Flak Plates", + "craftable": false, + "stat": "Armour", + "faction": "Astra Militarum", + "rarity": "Rare", + "icon": "flak plates.png" + }, + "Frag Grenade": { + "material": "Frag Grenade", + "craftable": false, + "stat": "Damage", + "rarity": "Common", + "icon": "frag grenade.png" + }, + "Golden Ornamental Skull": { + "material": "Golden Ornamental Skull", + "craftable": false, + "stat": "Health", + "rarity": "Epic", + "icon": "golden ornamental skull.png" + }, + "Greater Reliquary of Vengeance": { + "material": "Greater Reliquary of Vengeance", + "craftable": false, + "stat": "Damage", + "rarity": "Epic", + "icon": "greater reliquary of vengeance.png" + }, + "Healing Ointment": { + "material": "Healing Ointment", + "craftable": false, + "stat": "Health", + "rarity": "Common", + "icon": "healing ointment.png" + }, + "Helmet Trophy": { + "material": "Helmet Trophy", + "craftable": false, + "stat": "Health", + "rarity": "Uncommon", + "icon": "helmet trophy.png" + }, + "Holy Chaplet": { "material": "Holy Chaplet", - "count": 9 - }, - { + "craftable": false, + "stat": "Health", + "faction": "Adepta Sororitas", + "rarity": "Legendary", + "icon": "holy chaplet.jpg" + }, + "Honourifica Imperialis": { + "material": "Honourifica Imperialis", + "craftable": false, + "stat": "Health", + "faction": "Astra Militarum", + "rarity": "Legendary", + "icon": "honourifica imperialis.jpg" + }, + "Hymn of Martyrs": { "material": "Hymn of Martyrs", - "count": 8 - }, - { - "material": "Prey-Sight", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "sabbat-pattern visor.jpg" - }, - "Sanctified Corset Armor": { - "material": "Sanctified Corset Armor", - "rarity": "Epic", - "stat": "Armour", - "faction": "Adepta Sororitas", - "recipe": [ - { - "material": "Blessed Corset Armor", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "sanctified corset armor.png" - }, - "Sanctified Reliquary of Protection": { - "material": "Sanctified Reliquary of Protection", - "rarity": "Rare", - "stat": "Health", - "recipe": [ - { - "material": "Reliquary of Protection", - "count": 8 - }, - { + "craftable": false, + "stat": "Damage", + "faction": "Adepta Sororitas", + "rarity": "Rare", + "icon": "hymn of martyrs.png" + }, + "Hypermaterial Shifter": { + "material": "Hypermaterial Shifter", + "craftable": false, + "stat": "Armour", + "rarity": "Epic", + "icon": "hypermaterial shifter.png" + }, + "Icon of Vengeance": { + "material": "Icon of Vengeance", + "craftable": false, + "stat": "Damage", + "faction": "Black Legion", + "rarity": "Rare", + "icon": "icon of vengeance.png" + }, + "Inferno Bolts": { + "material": "Inferno Bolts", + "craftable": false, + "stat": "Damage", + "faction": "Thousand Sons", + "rarity": "Rare", + "icon": "inferno bolts.jpg" + }, + "Iron Jaw": { + "material": "Iron Jaw", + "craftable": false, + "stat": "Damage", + "faction": "Orks", + "rarity": "Rare", + "icon": "iron jaw.png" + }, + "Key of Ignorance": { + "material": "Key of Ignorance", + "craftable": false, + "stat": "Health", + "faction": "Dark Angels", + "rarity": "Rare", + "icon": "key of ignorance.jpg" + }, + "Kill Count": { + "material": "Kill Count", + "craftable": false, + "stat": "Health", + "rarity": "Rare", + "icon": "kill count.png" + }, + "Krak Grenade": { + "material": "Krak Grenade", + "craftable": false, + "stat": "Damage", + "rarity": "Rare", + "icon": "krak grenade.png" + }, + "Kustom Gubbinz": { + "material": "Kustom Gubbinz", + "craftable": false, + "stat": "Health", + "faction": "Orks", + "rarity": "Legendary", + "icon": "kustom gubbinz.jpg" + }, + "Lesser Reliquary of Protection": { "material": "Lesser Reliquary of Protection", - "count": 7 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "sanctified reliquary of protection.png" - }, - "Sanctified Weapon Oils": { - "material": "Sanctified Weapon Oils", - "rarity": "Rare", - "stat": "Damage", - "recipe": [ - { - "material": "Blessed Weapon Oils", - "count": 2 - }, - { - "material": "Barrel of Promethium", - "count": 2 - }, - { - "material": "Can of Promethium", - "count": 2 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "sanctified weapon oils.jpg" - }, - "Sanctus Canister": { - "material": "Sanctus Canister", - "rarity": "Legendary", - "stat": "Health", - "faction": "Adeptus Mechanicus", - "recipe": [ - { - "material": "Blessed Cogitator", - "count": 9 - }, - { - "material": "Advanced Combat Stimms", - "count": 1 - }, - { - "material": "Blessed Promethium Canister", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "sanctus canister.png" - }, - "Sash of Honors": { - "material": "Sash of Honors", - "rarity": "Legendary", - "stat": "Health", - "faction": "Astra Militarum", - "recipe": [ - { - "material": "Honourifica Imperialis", - "count": 9 - }, - { - "material": "Decorated Cloak", - "count": 1 - }, - { - "material": "Golden Ornamental Skull", - "count": 5 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "sash of honors.jpg" - }, - "Scale-Plate Mantle": { - "material": "Scale-Plate Mantle", - "rarity": "Epic", - "stat": "Armour", - "recipe": [ - { - "material": "Scale-Plate Strand", - "count": 1 - }, - { - "material": "Reinforced Scale-Plates", - "count": 6 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "scale-plate mantle.jpg" - }, - "Scale-Plate Strand": { - "material": "Scale-Plate Strand", - "rarity": "Rare", - "stat": "Armour", - "recipe": [ - { - "material": "Reinforced Scale-Plates", - "count": 6 - }, - { + "craftable": false, + "stat": "Health", + "rarity": "Common", + "icon": "lesser reliquary of protection.png" + }, + "Lesser Reliquary of Vengeance": { + "material": "Lesser Reliquary of Vengeance", + "craftable": false, + "stat": "Damage", + "rarity": "Common", + "icon": "lesser reliquary of vengeance.jpg" + }, + "Locator Beacon": { + "material": "Locator Beacon", + "craftable": false, + "stat": "Damage", + "rarity": "Uncommon", + "icon": "locator beacon.png" + }, + "Marksman's Honour": { + "material": "Marksman's Honour", + "craftable": false, + "stat": "Damage", + "rarity": "Uncommon", + "icon": "marksman_s honour.png" + }, + "Master-Crafted Ammo": { + "material": "Master-Crafted Ammo", + "craftable": false, + "stat": "Damage", + "rarity": "Legendary", + "icon": "master-crafted ammo.png" + }, + "Mesh Weave": { + "material": "Mesh Weave", + "craftable": false, + "stat": "Armour", + "rarity": "Uncommon", + "icon": "mesh weave.png" + }, + "Metal Decorative Skull": { + "material": "Metal Decorative Skull", + "craftable": false, + "stat": "Health", + "rarity": "Rare", + "icon": "metal decorative skull.png" + }, + "Metal Joints": { "material": "Metal Joints", - "count": 4 - }, - { - "material": "Weapon Parts", - "count": 4 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "scale-plate strand.png" - }, - "Scriptures of Battle": { - "material": "Scriptures of Battle", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Aeldari", - "recipe": [ - { - "material": "Runes of Fate", - "count": 9 - }, - { - "material": "Battle Plan", - "count": 1 - }, - { - "material": "Warp Locus", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "scriptures of battle.jpg" - }, - "Scriptures of Fate": { - "material": "Scriptures of Fate", - "rarity": "Legendary", - "stat": "Health", - "faction": "Aeldari", - "recipe": [ - { - "material": "Runes of Fate", - "count": 9 - }, - { - "material": "Supernatural Sight", - "count": 1 - }, - { - "material": "Warp Locus", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "scriptures of fate.jpg" - }, - "Scriptures of Fortune": { - "material": "Scriptures of Fortune", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Aeldari", - "recipe": [ - { + "craftable": false, + "stat": "Armour", + "rarity": "Common", + "icon": "metal joints.png" + }, + "Minor Bionic Enhancement": { + "material": "Minor Bionic Enhancement", + "craftable": false, + "stat": "Health", + "rarity": "Common", + "icon": "minor bionic enhancement.png" + }, + "Mission Assignment": { + "material": "Mission Assignment", + "craftable": false, + "stat": "Health", + "rarity": "Common", + "icon": "mission assignment.png" + }, + "Mission Objective": { + "material": "Mission Objective", + "craftable": false, + "stat": "Health", + "rarity": "Uncommon", + "icon": "mission objective.png" + }, + "Mjod": { + "material": "Mjod", + "craftable": false, + "stat": "Health", + "faction": "Space Wolves", + "rarity": "Legendary", + "icon": "mjod.jpg" + }, + "Mutation: Scaly Skin": { + "material": "Mutation: Scaly Skin", + "craftable": false, + "stat": "Armour", + "rarity": "Uncommon", + "icon": "mutation_ scaly skin.png" + }, + "Mutation: Tough Skin": { + "material": "Mutation: Tough Skin", + "craftable": false, + "stat": "Armour", + "rarity": "Common", + "icon": "mutation_ tough skin.png" + }, + "Mutation: Warped Heart": { + "material": "Mutation: Warped Heart", + "craftable": false, + "stat": "Health", + "rarity": "Rare", + "icon": "mutation_ warped heart.png" + }, + "Mutation: Warped Lungs": { + "material": "Mutation: Warped Lungs", + "craftable": false, + "stat": "Health", + "rarity": "Uncommon", + "icon": "mutation_ warped lungs.png" + }, + "Mutation: Warped Muscles": { + "material": "Mutation: Warped Muscles", + "craftable": false, + "stat": "Health", + "rarity": "Common", + "icon": "mutation_ warped muscles.png" + }, + "Nano Swarm": { + "material": "Nano Swarm", + "craftable": false, + "stat": "Health", + "faction": "Necrons", + "rarity": "Common", + "icon": "nano swarm.png" + }, + "Nasty Spikes": { + "material": "Nasty Spikes", + "craftable": false, + "stat": "Damage", + "rarity": "Common", + "icon": "nasty spikes.jpg" + }, + "Oath Seal": { + "material": "Oath Seal", + "craftable": false, + "stat": "Armour", + "rarity": "Uncommon", + "icon": "oath seal.png" + }, + "Otherworldly Energy": { + "material": "Otherworldly Energy", + "craftable": false, + "stat": "Damage", + "rarity": "Common", + "icon": "otherworldly energy.png" + }, + "Pile of Salvage": { + "material": "Pile of Salvage", + "craftable": false, + "stat": "Armour", + "rarity": "Common", + "icon": "pile of salvage.png" + }, + "Plague Bell": { + "material": "Plague Bell", + "craftable": false, + "stat": "Health", + "faction": "Death Guard", + "rarity": "Rare", + "icon": "plague bell.png" + }, + "Plasma Cell": { + "material": "Plasma Cell", + "craftable": false, + "stat": "Damage", + "rarity": "Uncommon", + "icon": "plasma cell.png" + }, + "Psychic Force Conduit": { + "material": "Psychic Force Conduit", + "craftable": false, + "stat": "Damage", + "rarity": "Legendary", + "icon": "psychic force conduit.jpg" + }, + "Psyk-Conductive Material": { + "material": "Psyk-Conductive Material", + "craftable": false, + "stat": "Armour", + "rarity": "Legendary", + "icon": "psyk-conductive material.jpg" + }, + "Psytronome": { + "material": "Psytronome", + "craftable": false, + "stat": "Damage", + "faction": "Aeldari", + "rarity": "Rare", + "icon": "psytronome.png" + }, + "Purity Seal": { + "material": "Purity Seal", + "craftable": false, + "stat": "Armour", + "rarity": "Common", + "icon": "purity seal.png" + }, + "Purity Seal of the Primarch": { + "material": "Purity Seal of the Primarch", + "craftable": false, + "stat": "Armour", + "faction": "Ultramarines", + "rarity": "Legendary", + "icon": "purity seal of the primarch.png" + }, + "Rebreather": { + "material": "Rebreather", + "craftable": false, + "stat": "Armour", + "rarity": "Common", + "icon": "rebreather.png" + }, + "Reconstitution Protocols": { + "material": "Reconstitution Protocols", + "craftable": false, + "stat": "Health", + "faction": "Necrons", + "rarity": "Rare", + "icon": "reconstitution protocols.png" + }, + "Reinforced Cables": { + "material": "Reinforced Cables", + "craftable": false, + "stat": "Health", + "rarity": "Uncommon", + "icon": "reinforced cables.png" + }, + "Reinforced Chitin": { + "material": "Reinforced Chitin", + "craftable": false, + "stat": "Armour", + "faction": "Tyranids", + "rarity": "Rare", + "icon": "reinforced chitin.jpg" + }, + "Reinforced Scale-Plates": { + "material": "Reinforced Scale-Plates", + "craftable": false, + "stat": "Armour", + "rarity": "Uncommon", + "icon": "reinforced scale-plates.png" + }, + "Relic Hilt": { + "material": "Relic Hilt", + "craftable": false, + "stat": "Damage", + "rarity": "Epic", + "icon": "relic hilt.jpg" + }, + "Reliquary of Protection": { + "material": "Reliquary of Protection", + "craftable": false, + "stat": "Health", + "rarity": "Uncommon", + "icon": "reliquary of protection.png" + }, + "Reliquary of Vengeance": { + "material": "Reliquary of Vengeance", + "craftable": false, + "stat": "Damage", + "rarity": "Uncommon", + "icon": "reliquary of vengeance.png" + }, + "Repair-Kit": { + "material": "Repair-Kit", + "label": "Repair Tool", + "craftable": false, + "stat": "Health", + "rarity": "Rare", + "icon": "repair-kit.png" + }, + "Revered Talisman": { + "material": "Revered Talisman", + "craftable": false, + "stat": "Armour", + "rarity": "Epic", + "icon": "revered talisman.png" + }, + "Righteous Candle": { + "material": "Righteous Candle", + "craftable": false, + "stat": "Health", + "faction": "Black Templars", + "rarity": "Rare", + "icon": "righteous candle.jpg" + }, + "Ritual Implements": { + "material": "Ritual Implements", + "craftable": false, + "stat": "Armour", + "faction": "Thousand Sons", + "rarity": "Rare", + "icon": "ritual implements.png" + }, + "Ropes and Chains": { + "material": "Ropes and Chains", + "craftable": false, + "stat": "Health", + "rarity": "Common", + "icon": "ropes and chains.png" + }, + "Rose of Martyrs": { + "material": "Rose of Martyrs", + "craftable": false, + "stat": "Health", + "faction": "Adepta Sororitas", + "rarity": "Rare", + "icon": "rose of martyrs.png" + }, + "Round of Ammo": { + "material": "Round of Ammo", + "craftable": false, + "stat": "Damage", + "rarity": "Common", + "icon": "round of ammo.png" + }, + "Runes of Fate": { "material": "Runes of Fate", - "count": 9 - }, - { - "material": "Filligrane Wraithbone Plate", - "count": 1 - }, - { - "material": "Warp Locus", - "count": 5 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "scriptures of fortune.jpg" - }, - "Seal of the Emperor's Protection": { - "material": "Seal of the Emperor's Protection", - "rarity": "Legendary", - "stat": "Armour", - "recipe": [ - { - "material": "Grand Purity Seal", - "count": 1 - }, - { + "craftable": false, + "stat": "Health", + "faction": "Aeldari", + "rarity": "Legendary", + "icon": "runes of fate.jpg" + }, + "Satchel": { + "material": "Satchel", + "craftable": false, + "stat": "Health", + "rarity": "Uncommon", + "icon": "satchel.png" + }, + "Scrolls": { + "material": "Scrolls", + "craftable": false, + "stat": "Health", + "rarity": "Common", + "icon": "scrolls.png" + }, + "Secret Agenda": { + "material": "Secret Agenda", + "craftable": false, + "stat": "Health", + "rarity": "Epic", + "icon": "secret agenda.jpg" + }, + "Sensor Suite": { + "material": "Sensor Suite", + "craftable": false, + "stat": "Damage", + "faction": "Tau Empire", + "rarity": "Rare", + "icon": "sensor suite.jpg" + }, + "Sigil of Decay": { + "material": "Sigil of Decay", + "craftable": false, + "stat": "Damage", + "faction": "Death Guard", + "rarity": "Rare", + "icon": "sigil of decay.png" + }, + "Single Power Pack": { + "material": "Single Power Pack", + "craftable": false, + "stat": "Damage", + "rarity": "Common", + "icon": "single power pack.png" + }, + "Slicing Claws": { + "material": "Slicing Claws", + "craftable": false, + "stat": "Damage", + "rarity": "Uncommon", + "icon": "slicing claws.jpg" + }, + "Sophisticated Material": { + "material": "Sophisticated Material", + "craftable": false, + "stat": "Armour", + "rarity": "Common", + "icon": "sophisticated material.png" + }, + "Special Issue Ammo": { + "material": "Special Issue Ammo", + "craftable": false, + "stat": "Damage", + "rarity": "Epic", + "icon": "special issue ammo.png" + }, + "Standard-Issue Tourniquet": { + "material": "Standard-Issue Tourniquet", + "craftable": false, + "stat": "Health", + "rarity": "Common", + "icon": "standard-issue tourniquet.png" + }, + "Stimm Injector": { + "material": "Stimm Injector", + "craftable": false, + "stat": "Health", + "faction": "Tau Empire", + "rarity": "Rare", + "icon": "stimm injector.jpg" + }, + "Stone Guardian Fragment": { + "material": "Stone Guardian Fragment", + "craftable": false, + "stat": "Health", + "faction": "Dark Angels", + "rarity": "Legendary", + "icon": "stone guardian fragment.jpg" + }, + "Subdermal Plating": { + "material": "Subdermal Plating", + "craftable": false, + "stat": "Armour", + "rarity": "Rare", + "icon": "subdermal plating.jpg" + }, + "Synaptic Augmentation": { + "material": "Synaptic Augmentation", + "craftable": false, + "stat": "Health", + "faction": "Tyranids", + "rarity": "Legendary", + "icon": "synaptic augmentation.jpg" + }, + "Tainted Text": { + "material": "Tainted Text", + "craftable": false, + "stat": "Health", + "faction": "Thousand Sons", + "rarity": "Rare", + "icon": "tainted text.jpg" + }, + "Tank of Promethium": { + "material": "Tank of Promethium", + "craftable": false, + "stat": "Damage", + "rarity": "Rare", + "icon": "tank of promethium.png" + }, + "Targeting Link": { + "material": "Targeting Link", + "craftable": false, + "stat": "Damage", + "rarity": "Common", + "icon": "targeting link.png" + }, + "Terminator Honours": { "material": "Terminator Honours", - "count": 7 - }, - { + "craftable": false, + "stat": "Health", + "rarity": "Epic", + "icon": "terminator honours.png" + }, + "The Gold Phoenix": { + "material": "The Gold Phoenix", + "craftable": false, + "stat": "Health", + "rarity": "Uncommon", + "icon": "the gold phoenix.png" + }, + "The Iron Phoenix": { "material": "The Iron Phoenix", - "count": 9 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "seal of the emperor_s protection.jpg" - }, - "Sentry AI Drone Controller": { - "material": "Sentry AI Drone Controller", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Tau Empire", - "recipe": [ - { + "craftable": false, + "stat": "Health", + "rarity": "Common", + "icon": "the iron phoenix.png" + }, + "The Phoenix Ascendant": { + "material": "The Phoenix Ascendant", + "craftable": false, + "stat": "Health", + "rarity": "Rare", + "icon": "the phoenix ascendant.png" + }, + "The Silver Aquila": { + "material": "The Silver Aquila", + "craftable": false, + "stat": "Health", + "rarity": "Common", + "icon": "the silver aquila.png" + }, + "The Silver Eagle with Swords": { + "material": "The Silver Eagle with Swords", + "craftable": false, + "stat": "Health", + "rarity": "Uncommon", + "icon": "the silver eagle with swords.png" + }, + "The Silver Scope": { + "material": "The Silver Scope", + "craftable": false, + "stat": "Health", + "rarity": "Uncommon", + "icon": "the silver scope.png" + }, + "Thick Skin": { + "material": "Thick Skin", + "craftable": false, + "stat": "Armour", + "rarity": "Common", + "icon": "thick skin.jpg" + }, + "Toxin Sacs": { + "material": "Toxin Sacs", + "craftable": false, + "stat": "Damage", + "faction": "Tyranids", + "rarity": "Rare", + "icon": "toxin sacs.jpg" + }, + "Unnatural Vapour Dispenser": { + "material": "Unnatural Vapour Dispenser", + "craftable": false, + "stat": "Armour", + "faction": "Death Guard", + "rarity": "Rare", + "icon": "unnatural vapour dispenser.png" + }, + "Viridian Energy Tesseract": { + "material": "Viridian Energy Tesseract", + "craftable": false, + "stat": "Damage", + "faction": "Necrons", + "rarity": "Rare", + "icon": "viridian energy tesseract.png" + }, + "Vox-Caster": { + "material": "Vox-Caster", + "craftable": false, + "stat": "Damage", + "rarity": "Common", + "icon": "vox-caster.png" + }, + "Warp Locus": { + "material": "Warp Locus", + "craftable": false, + "stat": "Damage", + "rarity": "Epic", + "icon": "warp locus.jpg" + }, + "Waystone": { + "material": "Waystone", + "craftable": false, + "stat": "Health", + "faction": "Aeldari", + "rarity": "Rare", + "icon": "waystone.png" + }, + "Weapon Anointment Oils": { + "material": "Weapon Anointment Oils", + "craftable": false, + "stat": "Damage", + "rarity": "Common", + "icon": "weapon anointment oils.jpg" + }, + "Weapon Parts": { + "material": "Weapon Parts", + "craftable": false, + "stat": "Damage", + "rarity": "Common", + "icon": "weapon parts.png" + }, + "Weathering": { + "material": "Weathering", + "craftable": false, + "stat": "Health", + "rarity": "Epic", + "icon": "weathering.jpg" + }, + "Wires": { + "material": "Wires", + "craftable": false, + "stat": "Health", + "rarity": "Common", + "icon": "wires.png" + }, + "Wolf Tail Talisman": { + "material": "Wolf Tail Talisman", + "craftable": false, + "stat": "Health", + "faction": "Space Wolves", + "rarity": "Rare", + "icon": "wolf tail talisman.jpg" + }, + "Wolf Tooth Necklace": { + "material": "Wolf Tooth Necklace", + "craftable": false, + "stat": "Damage", + "faction": "Space Wolves", + "rarity": "Rare", + "icon": "wolf tooth necklace.jpg" + }, + "Wraithbone Plate": { + "material": "Wraithbone Plate", + "craftable": false, + "stat": "Armour", + "faction": "Aeldari", + "rarity": "Rare", + "icon": "wraithbone plate.jpg" + }, + "Writings": { + "material": "Writings", + "craftable": false, + "stat": "Health", + "rarity": "Uncommon", + "icon": "writings.png" + }, + "Zeidos Ribbon": { + "material": "Zeidos Ribbon", + "craftable": false, + "stat": "Health", + "faction": "Astra Militarum", + "rarity": "Rare", + "icon": "zeidos ribbon.png" + }, + "Adamantine Mantle": { + "material": "Adamantine Mantle", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Ultramarines", + "recipe": [ + { + "material": "Codex Astartes Page", + "count": 10 + }, + { + "material": "Adamantium Sheet", + "count": 1 + }, + { + "material": "Fine Cloak", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "adamantine mantle.jpg" + }, + "Adamantium Bar": { + "material": "Adamantium Bar", + "rarity": "Rare", + "stat": "Armour", + "recipe": [ + { + "material": "Adamantium Ore", + "count": 8 + }, + { + "material": "Pile of Salvage", + "count": 4 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "adamantium bar.png" + }, + "Adamantium Blades": { + "material": "Adamantium Blades", + "rarity": "Uncommon", + "stat": "Damage", + "recipe": [ + { + "material": "Weapon Parts", + "count": 2 + }, + { + "material": "Adamantium Ore", + "count": 2 + }, + { + "material": "Ropes and Chains", + "count": 2 + }, + { + "material": "Gold", + "count": 25 + } + ], + "craftable": true, + "icon": "adamantium blades.jpg" + }, + "Adamantium Lump": { + "material": "Adamantium Lump", + "rarity": "Uncommon", + "stat": "Armour", + "recipe": [ + { + "material": "Adamantium Ore", + "count": 6 + }, + { + "material": "Gold", + "count": 25 + } + ], + "craftable": true, + "icon": "adamantium lump.png" + }, + "Adamantium Plates": { + "material": "Adamantium Plates", + "rarity": "Legendary", + "stat": "Armour", + "recipe": [ + { + "material": "Adamantium Sheet", + "count": 1 + }, + { + "material": "Crate of Salvage", + "count": 8 + }, + { + "material": "Adamantium Lump", + "count": 2 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "adamantium plates.png" + }, + "Adamantium Sheet": { + "material": "Adamantium Sheet", + "rarity": "Epic", + "stat": "Armour", + "recipe": [ + { + "material": "Adamantium Bar", + "count": 1 + }, + { + "material": "Box of Salvage", + "count": 6 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "adamantium sheet.png" + }, + "Adaptive Adrenal Glands": { + "material": "Adaptive Adrenal Glands", + "rarity": "Epic", + "stat": "Health", + "faction": "Tyranids", + "recipe": [ + { + "material": "Adrenal Glands", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "adaptive adrenal glands.png" + }, + "Adaptive Chitin Carapace": { + "material": "Adaptive Chitin Carapace", + "rarity": "Epic", + "stat": "Armour", + "faction": "Tyranids", + "recipe": [ + { + "material": "Reinforced Chitin", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "adaptive chitin carapace.png" + }, + "Adaptive Toxin Sacs": { + "material": "Adaptive Toxin Sacs", + "rarity": "Epic", + "stat": "Damage", + "faction": "Tyranids", + "recipe": [ + { + "material": "Toxin Sacs", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "adaptive toxin sacs.png" + }, + "Advanced Bionics": { + "material": "Advanced Bionics", + "rarity": "Rare", + "stat": "Health", + "recipe": [ + { + "material": "Bionic Enhancement", + "count": 2 + }, + { + "material": "Standard-Issue Tourniquet", + "count": 5 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "advanced bionics.png" + }, + "Advanced Combat Stimms": { + "material": "Advanced Combat Stimms", + "rarity": "Rare", + "stat": "Damage", + "recipe": [ + { + "material": "First Aid Kit", + "count": 2 + }, + { + "material": "Combat Stimms", + "count": 5 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "advanced combat stimms.jpg" + }, + "Advanced Drone Controller": { "material": "Advanced Drone Controller", - "count": 2 - }, - { + "rarity": "Epic", + "stat": "Armour", + "faction": "Tau Empire", + "recipe": [ + { + "material": "Drone Controller", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "advanced drone controller.jpg" + }, + "Advanced Exospine": { + "material": "Advanced Exospine", + "rarity": "Legendary", + "stat": "Health", + "recipe": [ + { + "material": "Electromantic Cable Bundle", + "count": 1 + }, + { + "material": "Subdermal Plating", + "count": 8 + }, + { + "material": "Exospine", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "advanced exospine.jpg" + }, + "Advanced Mesh Weave Garment": { "material": "Advanced Mesh Weave Garment", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "sentry ai drone controller.jpg" - }, - "Servo-Arc Claw": { - "material": "Servo-Arc Claw", - "rarity": "Epic", - "stat": "Health", - "faction": "Adeptus Mechanicus", - "recipe": [ - { - "material": "Repair-Kit", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "servo-arc claw.png" - }, - "Shiny Boss Teef": { - "material": "Shiny Boss Teef", - "rarity": "Legendary", - "stat": "Health", - "faction": "Orks", - "recipe": [ - { - "material": "Nob Teef", - "count": 2 - }, - { - "material": "Ominous Xenos Glyphs", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "shiny boss teef.jpg" - }, - "Shroud of Heroes": { - "material": "Shroud of Heroes", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Dark Angels", - "recipe": [ - { - "material": "Stone Guardian Fragment", - "count": 9 - }, - { - "material": "Decorated Cloak", - "count": 1 - }, - { - "material": "Terminator Honours", - "count": 5 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "shroud of heroes.jpg" - }, - "Sigil of Eternal Decay": { - "material": "Sigil of Eternal Decay", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Death Guard", - "recipe": [ - { - "material": "Sigil of Inevitable Decay", - "count": 2 - }, - { - "material": "Murderous Spikes", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "sigil of eternal decay.jpg" - }, - "Sigil of Inevitable Decay": { - "material": "Sigil of Inevitable Decay", - "rarity": "Epic", - "stat": "Damage", - "faction": "Death Guard", - "recipe": [ - { - "material": "Sigil of Decay", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "sigil of inevitable decay.jpg" - }, - "Simulacrum Sanctorum": { - "material": "Simulacrum Sanctorum", - "rarity": "Legendary", - "stat": "Health", - "faction": "Adepta Sororitas", - "recipe": [ - { - "material": "Holy Chaplet", - "count": 9 - }, - { - "material": "Grand Skull Trophy", - "count": 1 - }, - { - "material": "Blessed Promethium Canister", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "simulacrum sanctorum.jpg" - }, - "Snazzy Dakka": { - "material": "Snazzy Dakka", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Orks", - "recipe": [ - { - "material": "Kustom Gubbinz", - "count": 9 - }, - { + "rarity": "Epic", + "stat": "Armour", + "recipe": [ + { + "material": "Mesh Weave Garment", + "count": 1 + }, + { + "material": "Mesh Weave", + "count": 6 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "advanced mesh weave garment.jpg" + }, + "Advanced Sensor Suite": { + "material": "Advanced Sensor Suite", + "rarity": "Epic", + "stat": "Damage", + "faction": "Tau Empire", + "recipe": [ + { + "material": "Sensor Suite", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "advanced sensor suite.jpg" + }, + "Advanced Stimm Injector": { + "material": "Advanced Stimm Injector", + "rarity": "Epic", + "stat": "Health", + "faction": "Tau Empire", + "recipe": [ + { + "material": "Stimm Injector", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "advanced stimm injector.jpg" + }, + "Ancient Tasset Plate": { + "material": "Ancient Tasset Plate", + "rarity": "Epic", + "stat": "Armour", + "recipe": [ + { + "material": "Impressive Armor Trim", + "count": 1 + }, + { + "material": "Blessed Tasset Plate", + "count": 6 + }, + { + "material": "Golden Ornamental Skull", + "count": 1 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "ancient tasset plate.jpg" + }, + "Anointed Auxiliary Core": { + "material": "Anointed Auxiliary Core", + "rarity": "Epic", + "stat": "Damage", + "recipe": [ + { + "material": "Powerful Auxiliary Core", + "count": 1 + }, + { + "material": "Classified Data-Slate", + "count": 6 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "anointed auxiliary core.png" + }, + "Anointed Micro-Generator": { + "material": "Anointed Micro-Generator", + "rarity": "Epic", + "stat": "Damage", + "recipe": [ + { + "material": "Powerful Micro-Generator", + "count": 1 + }, + { + "material": "Classified Data-Slate", + "count": 6 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "anointed micro-generator.png" + }, + "Arbiter's Gaze": { + "material": "Arbiter's Gaze", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Dark Angels", + "recipe": [ + { + "material": "Stone Guardian Fragment", + "count": 9 + }, + { + "material": "Bionic Eye", + "count": 8 + }, + { + "material": "Bionic Neural Pathways", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "arbiter_s gaze.jpg" + }, + "Artificer Cogwheel Crest": { + "material": "Artificer Cogwheel Crest", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Adeptus Mechanicus", + "recipe": [ + { + "material": "Enhanced Cogwheel Crest", + "count": 2 + }, + { + "material": "Grand Purity Seal", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "artificer cogwheel crest.png" + }, + "Artificer Flak Plates": { + "material": "Artificer Flak Plates", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Astra Militarum", + "recipe": [ + { + "material": "High-Grade Flak Plates", + "count": 2 + }, + { + "material": "Grand Purity Seal", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "artificer flak plates.png" + }, + "Athenaean Scroll": { + "material": "Athenaean Scroll", + "rarity": "Legendary", + "stat": "Health", + "faction": "Thousand Sons", + "recipe": [ + { + "material": "Malefic Scroll", + "count": 2 + }, + { + "material": "Mutation: Regenerative Blood", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "athenaean scroll.jpg" + }, + "Autoloader": { + "material": "Autoloader", + "rarity": "Legendary", + "stat": "Damage", + "recipe": [ + { + "material": "Box of Ammo", + "count": 1 + }, + { + "material": "Belt of Krak Grenades", + "count": 1 + }, + { + "material": "Special Issue Ammo", + "count": 3 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "autoloader.jpg" + }, + "Auto-Reactive Stimm Injector": { + "material": "Auto-Reactive Stimm Injector", + "rarity": "Legendary", + "stat": "Health", + "faction": "Tau Empire", + "recipe": [ + { + "material": "Advanced Stimm Injector", + "count": 2 + }, + { + "material": "Ominous Xenos Glyphs", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "auto-reactive stimm injector.jpg" + }, + "Bastion Honour": { + "material": "Bastion Honour", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Astra Militarum", + "recipe": [ + { + "material": "Honourifica Imperialis", + "count": 9 + }, + { + "material": "High-Grade Flak Plates", + "count": 1 + }, + { + "material": "Golden Ornamental Skull", + "count": 5 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "bastion honour.jpg" + }, + "Battle Plan": { + "material": "Battle Plan", + "rarity": "Rare", + "stat": "Health", + "recipe": [ + { + "material": "Kill Count", + "count": 3 + }, + { + "material": "Mission Objective", + "count": 4 + }, + { + "material": "Mission Assignment", + "count": 5 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "battle plan.png" + }, + "Bell of Despair": { + "material": "Bell of Despair", + "rarity": "Legendary", + "stat": "Health", + "faction": "Death Guard", + "recipe": [ + { + "material": "Death Bell", + "count": 2 + }, + { + "material": "Mutation: Regenerative Blood", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "bell of despair.jpg" + }, + "Belt of Frag Grenades": { + "material": "Belt of Frag Grenades", + "rarity": "Uncommon", + "stat": "Damage", + "recipe": [ + { + "material": "Frag Grenade", + "count": 6 + }, + { + "material": "Gold", + "count": 25 + } + ], + "craftable": true, + "icon": "belt of frag grenades.png" + }, + "Belt of Krak Grenades": { + "material": "Belt of Krak Grenades", + "rarity": "Epic", + "stat": "Damage", + "recipe": [ + { + "material": "Krak Grenade", + "count": 10 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "belt of krak grenades.png" + }, + "Bionic Enhancement": { + "material": "Bionic Enhancement", + "rarity": "Uncommon", + "stat": "Health", + "recipe": [ + { + "material": "Minor Bionic Enhancement", + "count": 6 + }, + { + "material": "Gold", + "count": 25 + } + ], + "craftable": true, + "icon": "bionic enhancement.png" + }, + "Black Rune": { + "material": "Black Rune", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Black Legion", + "recipe": [ + { + "material": "Blessing of the Dark Gods", + "count": 9 + }, + { + "material": "Icon of Daemonic Vengeance", + "count": 1 + }, + { + "material": "Ancient Runes", + "count": 7 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "black rune.jpg" + }, + "Blessed Bolts": { + "material": "Blessed Bolts", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Adepta Sororitas", + "recipe": [ + { + "material": "Holy Chaplet", + "count": 9 + }, + { + "material": "Supernatural Sight", + "count": 1 + }, + { + "material": "Special Issue Ammo", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "blessed bolts.jpg" + }, + "Blessed Promethium Tank": { + "material": "Blessed Promethium Tank", + "rarity": "Legendary", + "stat": "Damage", + "recipe": [ + { + "material": "Tank of Promethium", + "count": 10 + }, + { + "material": "Blessed Promethium Canister", + "count": 5 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "blessed promethium tank.png" + }, + "Blessed Purity Seal": { + "material": "Blessed Purity Seal", + "rarity": "Rare", + "stat": "Armour", + "recipe": [ + { + "material": "Oath Seal", + "count": 6 + }, + { + "material": "Purity Seal", + "count": 4 + }, + { + "material": "Fine Purity Seal", + "count": 4 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "blessed purity seal.png" + }, + "Blessed Weapon Oils": { + "material": "Blessed Weapon Oils", + "rarity": "Uncommon", + "stat": "Damage", + "recipe": [ + { + "material": "Weapon Anointment Oils", + "count": 6 + }, + { + "material": "Canister of Chemicals", + "count": 3 + }, + { + "material": "Gold", + "count": 25 + } + ], + "craftable": true, + "icon": "blessed weapon oils.png" + }, + "Bolts of Furious Vengeance": { + "material": "Bolts of Furious Vengeance", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Dark Angels", + "recipe": [ + { + "material": "Bolts of Judgement", + "count": 2 + }, + { + "material": "Sanctified Weapon Oils", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "bolts of furious vengeance.jpg" + }, + "Bolts of Judgement": { + "material": "Bolts of Judgement", + "rarity": "Epic", + "stat": "Damage", + "faction": "Dark Angels", + "recipe": [ + { + "material": "Chapter Pendant", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "bolts of judgement.jpg" + }, + "Boonstone": { + "material": "Boonstone", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Thousand Sons", + "recipe": [ + { + "material": "Blessing of Tzeentch", + "count": 9 + }, + { + "material": "Sophisticated Material Ingot", + "count": 3 + }, + { + "material": "Warp Locus", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "boonstone.jpg" + }, + "Bosspole": { + "material": "Bosspole", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Orks", + "recipe": [ + { + "material": "Kustom Gubbinz", + "count": 9 + }, + { + "material": "Iron Jaw", + "count": 8 + }, + { + "material": "Grand Skull Trophy", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "bosspole.jpg" + }, + "Box of Ammo": { "material": "Box of Ammo", - "count": 1 - }, - { - "material": "Bionic Neural Pathways", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "snazzy dakka.jpg" - }, - "Sophisticated Material Bar": { - "material": "Sophisticated Material Bar", - "rarity": "Rare", - "stat": "Armour", - "recipe": [ - { - "material": "Sophisticated Material", - "count": 8 - }, - { - "material": "Pile of Salvage", - "count": 4 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "sophisticated material bar.png" - }, - "Sophisticated Material Ingot": { - "material": "Sophisticated Material Ingot", - "rarity": "Uncommon", - "stat": "Armour", - "recipe": [ - { - "material": "Sophisticated Material", - "count": 6 - }, - { - "material": "Gold", - "count": 25 - } - ], - "craftable": true, - "icon": "sophisticated material ingot.png" - }, - "Sophisticated Material Plates": { - "material": "Sophisticated Material Plates", - "rarity": "Legendary", - "stat": "Armour", - "recipe": [ - { - "material": "Sophisticated Material Sheet", - "count": 1 - }, - { - "material": "Crate of Salvage", - "count": 8 - }, - { - "material": "Sophisticated Material Ingot", - "count": 2 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "sophisticated material plates.jpg" - }, - "Sophisticated Material Sheet": { - "material": "Sophisticated Material Sheet", - "rarity": "Epic", - "stat": "Armour", - "recipe": [ - { - "material": "Sophisticated Material Bar", - "count": 1 - }, - { - "material": "Box of Salvage", - "count": 6 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "sophisticated material sheet.png" - }, - "Soul-Bonded Psytronome": { - "material": "Soul-Bonded Psytronome", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Aeldari", - "recipe": [ - { + "rarity": "Rare", + "stat": "Damage", + "recipe": [ + { + "material": "Magazine", + "count": 2 + }, + { + "material": "Belt of Frag Grenades", + "count": 1 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "box of ammo.png" + }, + "Box of Rations": { + "material": "Box of Rations", + "rarity": "Rare", + "stat": "Health", + "recipe": [ + { + "material": "Enriched Rations", + "count": 8 + }, + { + "material": "Field Ration", + "count": 7 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "box of rations.png" + }, + "Brutal Iron Jaw": { + "material": "Brutal Iron Jaw", + "rarity": "Epic", + "stat": "Damage", + "faction": "Orks", + "recipe": [ + { + "material": "Iron Jaw", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "brutal iron jaw.jpg" + }, + "Cabalistic Implements": { + "material": "Cabalistic Implements", + "rarity": "Epic", + "stat": "Armour", + "faction": "Thousand Sons", + "recipe": [ + { + "material": "Ritual Implements", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "cabalistic implements.jpg" + }, + "Calibanite Hood": { + "material": "Calibanite Hood", + "rarity": "Epic", + "stat": "Armour", + "faction": "Dark Angels", + "recipe": [ + { + "material": "Dark Hood", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "calibanite hood.jpg" + }, + "Candelabrum of Burning Wrath": { + "material": "Candelabrum of Burning Wrath", + "rarity": "Legendary", + "stat": "Health", + "faction": "Black Templars", + "recipe": [ + { + "material": "Lights of Purgation", + "count": 2 + }, + { + "material": "Greater Reliquary of Vengeance", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "candelabrum of burning wrath.jpg" + }, + "Ceramite Bar": { + "material": "Ceramite Bar", + "rarity": "Rare", + "stat": "Armour", + "recipe": [ + { + "material": "Ceramite Lump", + "count": 5 + }, + { + "material": "Pile of Salvage", + "count": 6 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "ceramite bar.png" + }, + "Ceramite Plates": { + "material": "Ceramite Plates", + "rarity": "Legendary", + "stat": "Armour", + "recipe": [ + { + "material": "Ceramite Sheet", + "count": 1 + }, + { + "material": "Crate of Salvage", + "count": 8 + }, + { + "material": "Ceramite Lump", + "count": 9 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "ceramite plates.png" + }, + "Ceramite Sheet": { + "material": "Ceramite Sheet", + "rarity": "Epic", + "stat": "Armour", + "recipe": [ + { + "material": "Ceramite Bar", + "count": 1 + }, + { + "material": "Box of Salvage", + "count": 6 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "ceramite sheet.png" + }, + "Chain of Righteous Zeal": { + "material": "Chain of Righteous Zeal", + "rarity": "Epic", + "stat": "Damage", + "faction": "Black Templars", + "recipe": [ + { + "material": "Chain of Zeal", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "chain of righteous zeal.jpg" + }, + "Chain of Zealous Wrath": { + "material": "Chain of Zealous Wrath", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Black Templars", + "recipe": [ + { + "material": "Chain of Righteous Zeal", + "count": 2 + }, + { + "material": "Sanctified Weapon Oils", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "chain of zealous wrath.jpg" + }, + "Cloud of Flies": { + "material": "Cloud of Flies", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Death Guard", + "recipe": [ + { + "material": "Blessing of Nurgle", + "count": 9 + }, + { + "material": "Death Shroud", + "count": 1 + }, + { + "material": "Warp Locus", + "count": 5 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "cloud of flies.jpg" + }, + "Codex Astartes": { + "material": "Codex Astartes", + "rarity": "Legendary", + "stat": "Health", + "faction": "Ultramarines", + "recipe": [ + { + "material": "Codex Astartes Page", + "count": 9 + }, + { + "material": "Battle Plan", + "count": 1 + }, + { + "material": "Terminator Honours", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "codex astartes.jpg" + }, + "Crusader's Tabbard": { + "material": "Crusader's Tabbard", + "rarity": "Epic", + "stat": "Armour", + "faction": "Black Templars", + "recipe": [ + { + "material": "Blessed Tabbard", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "crusader_s tabbard.jpg" + }, + "Cybork Body Parts": { + "material": "Cybork Body Parts", + "rarity": "Legendary", + "stat": "Health", + "faction": "Orks", + "recipe": [ + { + "material": "Kustom Gubbinz", + "count": 9 + }, + { + "material": "Advanced Bionics", + "count": 1 + }, + { + "material": "Bionic Neural Pathways", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "cybork body parts.jpg" + }, + "Daemon Shells": { + "material": "Daemon Shells", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Black Legion", + "recipe": [ + { + "material": "Blessing of the Dark Gods", + "count": 9 + }, + { + "material": "Supernatural Sight", + "count": 1 + }, + { + "material": "Special Issue Ammo", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "daemon shells.jpg" + }, + "Daemonic Armor Trim": { + "material": "Daemonic Armor Trim", + "rarity": "Epic", + "stat": "Armour", + "faction": "Black Legion", + "recipe": [ + { + "material": "Blasphemous Armor Trim", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "daemonic armor trim.png" + }, + "Death Bell": { + "material": "Death Bell", + "rarity": "Epic", + "stat": "Health", + "faction": "Death Guard", + "recipe": [ + { + "material": "Plague Bell", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "death bell.jpg" + }, + "Death Shroud": { + "material": "Death Shroud", + "rarity": "Epic", + "stat": "Armour", + "faction": "Death Guard", + "recipe": [ + { + "material": "Unnatural Vapour Dispenser", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "death shroud.jpg" + }, + "Decorated Cloak": { + "material": "Decorated Cloak", + "rarity": "Epic", + "stat": "Armour", + "recipe": [ + { + "material": "Fine Cloak", + "count": 1 + }, + { + "material": "Metal Decorative Skull", + "count": 3 + }, + { + "material": "Writings", + "count": 3 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "decorated cloak.png" + }, + "Ded 'Ard Plate": { + "material": "Ded 'Ard Plate", + "rarity": "Epic", + "stat": "Armour", + "faction": "Orks", + "recipe": [ + { + "material": "Ard Plate", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "ded _ard plate.jpg" + }, + "Ded Brutal Iron Jaw": { + "material": "Ded Brutal Iron Jaw", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Orks", + "recipe": [ + { + "material": "Brutal Iron Jaw", + "count": 2 + }, + { + "material": "Murderous Spikes", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "ded brutal iron jaw.jpg" + }, + "Ded Shiny 'Ard Plate": { + "material": "Ded Shiny 'Ard Plate", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Orks", + "recipe": [ + { + "material": "Ded 'Ard Plate", + "count": 2 + }, + { + "material": "Scale-Plate Mantle", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "ded shiny _ard plate.jpg" + }, + "Digital Weapons": { + "material": "Digital Weapons", + "rarity": "Legendary", + "stat": "Damage", + "recipe": [ + { + "material": "Sanctified Weapon Oils", + "count": 2 + }, + { + "material": "Special Issue Ammo", + "count": 2 + }, + { + "material": "Weapon Parts", + "count": 2 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "digital weapons.png" + }, + "Divine Cloak": { + "material": "Divine Cloak", + "rarity": "Legendary", + "stat": "Armour", + "recipe": [ + { + "material": "Decorated Cloak", + "count": 1 + }, + { + "material": "Golden Ornamental Skull", + "count": 6 + }, + { + "material": "Satchel", + "count": 8 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "divine cloak.png" + }, + "Electromantic Cable Bundle": { + "material": "Electromantic Cable Bundle", + "rarity": "Rare", + "stat": "Health", + "recipe": [ + { + "material": "Wires", + "count": 8 + }, + { + "material": "Reinforced Cables", + "count": 4 + }, + { + "material": "Weapon Parts", + "count": 4 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "electromantic cable bundle.jpg" + }, + "Enhanced Cogwheel Crest": { + "material": "Enhanced Cogwheel Crest", + "rarity": "Epic", + "stat": "Armour", + "faction": "Adeptus Mechanicus", + "recipe": [ + { + "material": "Cogwheel Crest", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "enhanced cogwheel crest.png" + }, + "Enhanced Motive Force Capacitator": { + "material": "Enhanced Motive Force Capacitator", + "rarity": "Epic", + "stat": "Damage", + "faction": "Adeptus Mechanicus", + "recipe": [ + { + "material": "Motive Force Capacitator", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "enhanced motive force capacitator.png" + }, + "Ensorcelled Infusion": { + "material": "Ensorcelled Infusion", + "rarity": "Epic", + "stat": "Damage", + "faction": "Thousand Sons", + "recipe": [ + { + "material": "Inferno Bolts", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "ensorcelled infusion.png" + }, + "Epaulettes": { + "material": "Epaulettes", + "rarity": "Epic", + "stat": "Health", + "faction": "Astra Militarum", + "recipe": [ + { + "material": "Zeidos Ribbon", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "epaulettes.png" + }, + "Epaulettes of Renown": { + "material": "Epaulettes of Renown", + "rarity": "Legendary", + "stat": "Health", + "faction": "Astra Militarum", + "recipe": [ + { + "material": "Epaulettes", + "count": 2 + }, + { + "material": "Greater Reliquary of Protection", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "epaulettes of renown.png" + }, + "Exospine": { + "material": "Exospine", + "rarity": "Epic", + "stat": "Health", + "recipe": [ + { + "material": "Electromantic Cable Bundle", + "count": 1 + }, + { + "material": "Artificial Vertebrae", + "count": 7 + }, + { + "material": "Single Power Pack", + "count": 7 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "exospine.jpg" + }, + "Exquisite Medical Supplies": { + "material": "Exquisite Medical Supplies", + "rarity": "Epic", + "stat": "Health", + "recipe": [ + { + "material": "Medical Supply Crate", + "count": 1 + }, + { + "material": "Box of Rations", + "count": 1 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "exquisite medical supplies.jpg" + }, + "Filligrane Psytronome": { "material": "Filligrane Psytronome", - "count": 2 - }, - { - "material": "Ratiocination Targeting", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "soul-bonded psytronome.jpg" - }, - "Soul-Bonded Wraithbone Plate": { - "material": "Soul-Bonded Wraithbone Plate", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Aeldari", - "recipe": [ - { + "rarity": "Epic", + "stat": "Damage", + "faction": "Aeldari", + "recipe": [ + { + "material": "Psytronome", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "filligrane psytronome.jpg" + }, + "Filligrane Wraithbone Plate": { "material": "Filligrane Wraithbone Plate", - "count": 2 - }, - { - "material": "Advanced Mesh Weave Garment", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "soul-bonded wraithbone plate.jpg" - }, - "Spirit Stone": { - "material": "Spirit Stone", - "rarity": "Epic", - "stat": "Health", - "faction": "Aeldari", - "recipe": [ - { - "material": "Waystone", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "spirit stone.jpg" - }, - "Supernatural Sight": { - "material": "Supernatural Sight", - "rarity": "Rare", - "stat": "Damage", - "recipe": [ - { - "material": "Ballistics Data", - "count": 6 - }, - { - "material": "Writings", - "count": 5 - }, - { - "material": "Scrolls", - "count": 6 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "supernatural sight.png" - }, - "Symbiotic Carapace": { - "material": "Symbiotic Carapace", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Tyranids", - "recipe": [ - { - "material": "Synaptic Augmentation", - "count": 9 - }, - { - "material": "Mutation: Regenerative Blood", - "count": 1 - }, - { - "material": "Hypermaterial Shifter", - "count": 4 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "symbiotic carapace.png" - }, - "Tabbard of Righteous Wrath": { - "material": "Tabbard of Righteous Wrath", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Black Templars", - "recipe": [ - { - "material": "Crusader's Tabbard", - "count": 2 - }, - { + "rarity": "Epic", + "stat": "Armour", + "faction": "Aeldari", + "recipe": [ + { + "material": "Wraithbone Plate", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "filligrane wraithbone plate.jpg" + }, + "Fine Auxiliary Core": { + "material": "Fine Auxiliary Core", + "rarity": "Uncommon", + "stat": "Damage", + "recipe": [ + { + "material": "Basic Auxiliary Core", + "count": 6 + }, + { + "material": "Gold", + "count": 25 + } + ], + "craftable": true, + "icon": "fine auxiliary core.png" + }, + "Fine Cloak": { + "material": "Fine Cloak", + "rarity": "Rare", + "stat": "Armour", + "recipe": [ + { + "material": "Cloak", + "count": 4 + }, + { + "material": "Ropes and Chains", + "count": 4 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "fine cloak.png" + }, + "First Aid Kit": { + "material": "First Aid Kit", + "rarity": "Uncommon", + "stat": "Health", + "recipe": [ + { + "material": "Standard-Issue Tourniquet", + "count": 3 + }, + { + "material": "Healing Ointment", + "count": 3 + }, + { + "material": "Gold", + "count": 25 + } + ], + "craftable": true, + "icon": "first aid kit.png" + }, + "Frostblade": { + "material": "Frostblade", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Space Wolves", + "recipe": [ + { + "material": "Mjod", + "count": 9 + }, + { + "material": "Adamantium Blades", + "count": 3 + }, + { + "material": "Relic Hilt", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "frostblade.jpg" + }, + "Grand Helmet Trophy": { + "material": "Grand Helmet Trophy", + "rarity": "Epic", + "stat": "Health", + "recipe": [ + { + "material": "Grand Skull Trophy", + "count": 1 + }, + { + "material": "Kill Count", + "count": 7 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "grand helmet trophy.png" + }, + "Grand Purity Seal": { "material": "Grand Purity Seal", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "tabbard of righteous wrath.jpg" - }, - "Talisman of Storms": { - "material": "Talisman of Storms", - "rarity": "Legendary", - "stat": "Health", - "faction": "Space Wolves", - "recipe": [ - { - "material": "Runic Talisman", - "count": 2 - }, - { - "material": "Greater Reliquary of Protection", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "talisman of storms.jpg" - }, - "Ta'Lissera Bond": { - "material": "Ta'Lissera Bond", - "rarity": "Legendary", - "stat": "Health", - "faction": "Tau Empire", - "recipe": [ - { - "material": "Engram Neurochip", - "count": 9 - }, - { - "material": "Medical Supply Crate", - "count": 1 - }, - { - "material": "Relic Hilt", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "ta_lissera bond.jpg" - }, - "Tannhauser's Bones": { - "material": "Tannhauser's Bones", - "rarity": "Legendary", - "stat": "Health", - "faction": "Black Templars", - "recipe": [ - { - "material": "Bones of the Paragons", - "count": 9 - }, - { + "rarity": "Epic", + "stat": "Armour", + "recipe": [ + { + "material": "Blessed Purity Seal", + "count": 1 + }, + { + "material": "The Gold Phoenix", + "count": 6 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "grand purity seal.png" + }, + "Grand Skull Trophy": { "material": "Grand Skull Trophy", - "count": 1 - }, - { - "material": "Terminator Honours", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "tannhauser_s bones.jpg" - }, - "Target Lock": { - "material": "Target Lock", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Tau Empire", - "recipe": [ - { - "material": "Engram Neurochip", - "count": 9 - }, - { - "material": "Prey-Sight", - "count": 1 - }, - { - "material": "Bionic Neural Pathways", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "target lock.jpg" - }, - "Targeting Matrix": { - "material": "Targeting Matrix", - "rarity": "Uncommon", - "stat": "Damage", - "recipe": [ - { - "material": "Targeting Link", - "count": 6 - }, - { - "material": "Ballistics Data", - "count": 3 - }, - { - "material": "Gold", - "count": 25 - } - ], - "craftable": true, - "icon": "targeting matrix.png" - }, - "Thunderwolf Tooth Necklace": { - "material": "Thunderwolf Tooth Necklace", - "rarity": "Epic", - "stat": "Damage", - "faction": "Space Wolves", - "recipe": [ - { - "material": "Wolf Tooth Necklace", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "thunderwolf tooth necklace.jpg" - }, - "Tome of Arcane Knowledge": { - "material": "Tome of Arcane Knowledge", - "rarity": "Legendary", - "stat": "Health", - "recipe": [ - { - "material": "Ominous Xenos Glyphs", - "count": 1 - }, - { - "material": "Mutation: Regenerative Blood", - "count": 1 - }, - { + "rarity": "Rare", + "stat": "Health", + "recipe": [ + { + "material": "Battle Scar", + "count": 3 + }, + { + "material": "Helmet Trophy", + "count": 4 + }, + { + "material": "Chip Damage", + "count": 5 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "grand skull trophy.png" + }, + "Grand Strategy": { + "material": "Grand Strategy", + "rarity": "Legendary", + "stat": "Health", + "recipe": [ + { + "material": "Attack Vector Data-Slate", + "count": 9 + }, + { + "material": "Battle Plan", + "count": 2 + }, + { + "material": "Secret Agenda", + "count": 7 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "grand strategy.png" + }, + "Grandiloquent Litanical": { + "material": "Grandiloquent Litanical", + "rarity": "Rare", + "stat": "Health", + "recipe": [ + { + "material": "Writings", + "count": 8 + }, + { + "material": "Ropes and Chains", + "count": 7 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "grandiloquent litanical.png" + }, + "Grandiose Skull Ornament": { + "material": "Grandiose Skull Ornament", + "rarity": "Legendary", + "stat": "Health", + "recipe": [ + { + "material": "Golden Ornamental Skull", + "count": 5 + }, + { + "material": "Metal Decorative Skull", + "count": 9 + }, + { + "material": "Grand Helmet Trophy", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "grandiose skull ornament.jpg" + }, + "Great Cult Implements": { + "material": "Great Cult Implements", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Thousand Sons", + "recipe": [ + { + "material": "Cabalistic Implements", + "count": 2 + }, + { + "material": "Mutation: Metallic Skin", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "great cult implements.jpg" + }, + "Greater Reliquary of Protection": { "material": "Greater Reliquary of Protection", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "tome of arcane knowledge.png" - }, - "Transdimensional Sanctum": { - "material": "Transdimensional Sanctum", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Necrons", - "recipe": [ - { - "material": "Engrammatic Entangler", - "count": 9 - }, - { - "material": "Viridian Energy Tesseract", - "count": 9 - }, - { - "material": "Hypermaterial Shifter", - "count": 5 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "transdimensional sanctum.png" - }, - "Utilitarian Belt": { - "material": "Utilitarian Belt", - "rarity": "Rare", - "stat": "Health", - "recipe": [ - { + "rarity": "Epic", + "stat": "Health", + "recipe": [ + { + "material": "The Phoenix Ascendant", + "count": 4 + }, + { + "material": "Reliquary of Protection", + "count": 6 + }, + { + "material": "Lesser Reliquary of Protection", + "count": 6 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "greater reliquary of protection.png" + }, + "Heirloom Entrenching Tool": { + "material": "Heirloom Entrenching Tool", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Astra Militarum", + "recipe": [ + { + "material": "Veteran's Entrenching Tool", + "count": 2 + }, + { + "material": "Sanctified Weapon Oils", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "heirloom entrenching tool.jpg" + }, + "Hellfury Bolts": { + "material": "Hellfury Bolts", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Ultramarines", + "recipe": [ + { + "material": "Codex Astartes Page", + "count": 9 + }, + { + "material": "Prey-Sight", + "count": 1 + }, + { + "material": "Special Issue Ammo", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "hellfury bolts.jpg" + }, + "High-Capacity Power Pack": { + "material": "High-Capacity Power Pack", + "rarity": "Rare", + "stat": "Damage", + "recipe": [ + { + "material": "Power Pack Bundle", + "count": 2 + }, + { + "material": "Plasma Cell", + "count": 5 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "high-capacity power pack.png" + }, + "High-Grade Flak Plates": { + "material": "High-Grade Flak Plates", + "rarity": "Epic", + "stat": "Armour", + "faction": "Astra Militarum", + "recipe": [ + { + "material": "Flak Plates", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "high-grade flak plates.png" + }, + "Holster and Pockets": { "material": "Holster and Pockets", - "count": 2 - }, - { - "material": "Standard-Issue Tourniquet", - "count": 5 - }, - { - "material": "Gold", - "count": 75 - } - ], - "craftable": true, - "icon": "utilitarian belt.png" - }, - "Veteran's Entrenching Tool": { - "material": "Veteran's Entrenching Tool", - "rarity": "Epic", - "stat": "Damage", - "faction": "Astra Militarum", - "recipe": [ - { - "material": "Entrenching Tool", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "veteran_s entrenching tool.png" - }, - "Virulent Rounds": { - "material": "Virulent Rounds", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Death Guard", - "recipe": [ - { - "material": "Blessing of Nurgle", - "count": 9 - }, - { - "material": "Supernatural Sight", - "count": 1 - }, - { - "material": "Special Issue Ammo", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "virulent rounds.jpg" - }, - "Warp Touched Eye of Horus": { - "material": "Warp Touched Eye of Horus", - "rarity": "Epic", - "stat": "Health", - "faction": "Black Legion", - "recipe": [ - { - "material": "Eye of Horus", - "count": 9 - }, - { - "material": "Gold", - "count": 215 - } - ], - "craftable": true, - "icon": "warp touched eye of horus.png" - }, - "Warpflame Infusion": { - "material": "Warpflame Infusion", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Thousand Sons", - "recipe": [ - { - "material": "Ensorcelled Infusion", - "count": 2 - }, - { + "rarity": "Uncommon", + "stat": "Health", + "recipe": [ + { + "material": "Ropes and Chains", + "count": 3 + }, + { + "material": "Weapon Parts", + "count": 3 + }, + { + "material": "Gold", + "count": 25 + } + ], + "craftable": true, + "icon": "holster and pockets.png" + }, + "Holy Corset Armor": { + "material": "Holy Corset Armor", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Adepta Sororitas", + "recipe": [ + { + "material": "Sanctified Corset Armor", + "count": 2 + }, + { + "material": "Grand Purity Seal", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "holy corset armor.jpg" + }, + "Hymn of Sacrifice": { + "material": "Hymn of Sacrifice", + "rarity": "Epic", + "stat": "Damage", + "faction": "Adepta Sororitas", + "recipe": [ + { + "material": "Hymn of Martyrs", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "hymn of sacrifice.png" + }, + "Hymn of the Divine": { + "material": "Hymn of the Divine", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Adepta Sororitas", + "recipe": [ + { + "material": "Hymn of Sacrifice", + "count": 2 + }, + { + "material": "Sanctified Weapon Oils", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "hymn of the divine.jpg" + }, + "Hyper-Adaptive Adrenal Glands": { + "material": "Hyper-Adaptive Adrenal Glands", + "rarity": "Legendary", + "stat": "Health", + "faction": "Tyranids", + "recipe": [ + { + "material": "Adaptive Adrenal Glands", + "count": 2 + }, + { + "material": "Mutation: Regenerative Blood", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "hyper-adaptive adrenal glands.png" + }, + "Hyper-Adaptive Chitin Carapace": { + "material": "Hyper-Adaptive Chitin Carapace", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Tyranids", + "recipe": [ + { + "material": "Adaptive Chitin Carapace", + "count": 2 + }, + { + "material": "Mutation: Metallic Skin", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "hyper-adaptive chitin carapace.png" + }, + "Hyper-Adaptive Toxin Sacs": { + "material": "Hyper-Adaptive Toxin Sacs", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Tyranids", + "recipe": [ + { + "material": "Adaptive Toxin Sacs", + "count": 2 + }, + { + "material": "Murderous Spikes", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "hyper-adaptive toxin sacs.png" + }, + "Hypermetabolic Acceleration": { + "material": "Hypermetabolic Acceleration", + "rarity": "Legendary", + "stat": "Health", + "faction": "Tyranids", + "recipe": [ + { + "material": "Synaptic Augmentation", + "count": 9 + }, + { + "material": "Medical Supply Crate", + "count": 1 + }, + { + "material": "Blessed Promethium Canister", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "hypermetabolic acceleration.png" + }, + "Hyperstim": { + "material": "Hyperstim", + "rarity": "Legendary", + "stat": "Damage", + "recipe": [ + { + "material": "Combat Stimms", + "count": 6 + }, + { + "material": "Box of Rations", + "count": 2 + }, + { + "material": "Blessed Promethium Canister", + "count": 3 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "hyperstim.png" + }, + "Ice Troll Hide": { + "material": "Ice Troll Hide", + "rarity": "Epic", + "stat": "Armour", + "faction": "Space Wolves", + "recipe": [ + { + "material": "Beast Hide", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "ice troll hide.jpg" + }, + "Ice Wyrm Hide": { + "material": "Ice Wyrm Hide", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Space Wolves", + "recipe": [ + { + "material": "Ice Troll Hide", + "count": 2 + }, + { + "material": "Grand Purity Seal", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "ice wyrm hide.jpg" + }, + "Icon of Daemonic Vengeance": { + "material": "Icon of Daemonic Vengeance", + "rarity": "Epic", + "stat": "Damage", + "faction": "Black Legion", + "recipe": [ + { + "material": "Icon of Vengeance", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "icon of daemonic vengeance.png" + }, + "Icon of Infernal Vengeance": { + "material": "Icon of Infernal Vengeance", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Black Legion", + "recipe": [ + { + "material": "Icon of Daemonic Vengeance", + "count": 2 + }, + { + "material": "Murderous Spikes", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "icon of infernal vengeance.png" + }, + "Immaterial Shroud": { + "material": "Immaterial Shroud", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Death Guard", + "recipe": [ + { + "material": "Death Shroud", + "count": 2 + }, + { + "material": "Mutation: Metallic Skin", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "immaterial shroud.jpg" + }, + "Implant Attack": { + "material": "Implant Attack", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Tyranids", + "recipe": [ + { + "material": "Synaptic Augmentation", + "count": 9 + }, + { + "material": "Supernatural Sight", + "count": 1 + }, + { + "material": "Relic Hilt", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "implant attack.png" + }, + "Imposing Horns": { + "material": "Imposing Horns", + "rarity": "Legendary", + "stat": "Damage", + "recipe": [ + { + "material": "Murderous Spikes", + "count": 2 + }, + { + "material": "Golden Ornamental Skull", + "count": 2 + }, + { + "material": "Mutation: Tough Skin", + "count": 2 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "imposing horns.png" + }, + "Impressive Armor Trim": { + "material": "Impressive Armor Trim", + "rarity": "Rare", + "stat": "Armour", + "recipe": [ + { + "material": "Armor Trim", + "count": 5 + }, + { + "material": "Metal Decorative Skull", + "count": 2 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "impressive armor trim.png" + }, + "Infernal Armor Trim": { + "material": "Infernal Armor Trim", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Black Legion", + "recipe": [ + { + "material": "Daemonic Armor Trim", + "count": 2 + }, + { + "material": "Mutation: Metallic Skin", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "infernal armor trim.png" + }, + "Infernal Eye of Horus": { + "material": "Infernal Eye of Horus", + "rarity": "Legendary", + "stat": "Health", + "faction": "Black Legion", + "recipe": [ + { + "material": "Warp Touched Eye of Horus", + "count": 2 + }, + { + "material": "Mutation: Regenerative Blood", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "infernal eye of horus.png" + }, + "Inner Circle Hood": { + "material": "Inner Circle Hood", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Dark Angels", + "recipe": [ + { + "material": "Calibanite Hood", + "count": 2 + }, + { + "material": "Grand Purity Seal", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "inner circle hood.jpg" + }, + "Iridium Plating": { + "material": "Iridium Plating", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Tau Empire", + "recipe": [ + { + "material": "Engram Neurochip", + "count": 9 + }, + { + "material": "Advanced Stimm Injector", + "count": 1 + }, + { + "material": "Sophisticated Material Bar", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "iridium plating.jpg" + }, + "Kataphron Armour": { + "material": "Kataphron Armour", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Adeptus Mechanicus", + "recipe": [ + { + "material": "Blessed Cogitator", + "count": 9 + }, + { + "material": "Exospine", + "count": 1 + }, + { + "material": "Unyielding Rivets", + "count": 4 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "kataphron armour.png" + }, + "Key of Achrabael": { + "material": "Key of Achrabael", + "rarity": "Legendary", + "stat": "Health", + "faction": "Dark Angels", + "recipe": [ + { + "material": "Key of Knowledge", + "count": 2 + }, + { + "material": "Greater Reliquary of Protection", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "key of achrabael.jpg" + }, + "Key of Knowledge": { + "material": "Key of Knowledge", + "rarity": "Epic", + "stat": "Health", + "faction": "Dark Angels", + "recipe": [ + { + "material": "Key of Ignorance", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "key of knowledge.jpg" + }, + "Kraken Tooth Necklace": { + "material": "Kraken Tooth Necklace", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Space Wolves", + "recipe": [ + { + "material": "Thunderwolf Tooth Necklace", + "count": 2 + }, + { + "material": "Sanctified Weapon Oils", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "kraken tooth necklace.jpg" + }, + "Legendary Reliquary of Protection": { + "material": "Legendary Reliquary of Protection", + "rarity": "Legendary", + "stat": "Health", + "recipe": [ + { + "material": "Greater Reliquary of Protection", + "count": 1 + }, + { + "material": "Zeidos Ribbon", + "count": 5 + }, + { + "material": "The Silver Aquila", + "count": 10 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "legendary reliquary of protection.png" + }, + "Legendary Reliquary of Vengeance": { + "material": "Legendary Reliquary of Vengeance", + "rarity": "Legendary", + "stat": "Damage", + "recipe": [ + { + "material": "Greater Reliquary of Vengeance", + "count": 9 + }, + { + "material": "Reliquary of Vengeance", + "count": 9 + }, + { + "material": "Sanctified Weapon Oils", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "legendary reliquary of vengeance.jpg" + }, + "Lights of Purgation": { + "material": "Lights of Purgation", + "rarity": "Epic", + "stat": "Health", + "faction": "Black Templars", + "recipe": [ + { + "material": "Righteous Candle", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "lights of purgation.jpg" + }, + "Magazine": { + "material": "Magazine", + "rarity": "Uncommon", + "stat": "Damage", + "recipe": [ + { + "material": "Round of Ammo", + "count": 6 + }, + { + "material": "Gold", + "count": 25 + } + ], + "craftable": true, + "icon": "magazine.png" + }, + "Malefic Scroll": { + "material": "Malefic Scroll", + "rarity": "Epic", + "stat": "Health", + "faction": "Thousand Sons", + "recipe": [ + { + "material": "Tainted Text", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "malefic scroll.jpg" + }, + "Mark of Chaos Undivided": { + "material": "Mark of Chaos Undivided", + "rarity": "Legendary", + "stat": "Health", + "faction": "Black Legion", + "recipe": [ + { + "material": "Blessing of the Dark Gods", + "count": 9 + }, + { + "material": "Grand Skull Trophy", + "count": 1 + }, + { + "material": "Warp Locus", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "mark of chaos undivided.jpg" + }, + "Mark of Nurgle": { + "material": "Mark of Nurgle", + "rarity": "Legendary", + "stat": "Health", + "faction": "Death Guard", + "recipe": [ + { + "material": "Blessing of Nurgle", + "count": 9 + }, + { + "material": "Grand Skull Trophy", + "count": 1 + }, + { + "material": "Warp Locus", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "mark of nurgle.jpg" + }, + "Mark of Tzeentch": { + "material": "Mark of Tzeentch", + "rarity": "Legendary", + "stat": "Health", + "faction": "Thousand Sons", + "recipe": [ + { + "material": "Blessing of Tzeentch", + "count": 9 + }, + { + "material": "Battle Plan", + "count": 1 + }, + { + "material": "Warp Locus", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "mark of tzeentch.jpg" + }, + "Mars-Pattern Bionics": { + "material": "Mars-Pattern Bionics", + "rarity": "Epic", + "stat": "Health", + "recipe": [ + { + "material": "Advanced Bionics", + "count": 1 + }, + { + "material": "Bionic Eye", + "count": 7 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "mars-pattern bionics.jpg" + }, + "Mechadendrite Hive": { + "material": "Mechadendrite Hive", + "rarity": "Legendary", + "stat": "Health", + "faction": "Adeptus Mechanicus", + "recipe": [ + { + "material": "Servo-Arc Claw", + "count": 2 + }, + { + "material": "Greater Reliquary of Protection", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "mechadendrite hive.png" + }, + "Medallion Resolute": { + "material": "Medallion Resolute", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Astra Militarum", + "recipe": [ + { + "material": "Honourifica Imperialis", + "count": 9 + }, + { + "material": "Battle Plan", + "count": 1 + }, + { + "material": "Relic Hilt", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "medallion resolute.jpg" + }, + "Medical Supply Crate": { + "material": "Medical Supply Crate", + "rarity": "Rare", + "stat": "Health", + "recipe": [ + { + "material": "First Aid Kit", + "count": 2 + }, + { + "material": "Field Ration", + "count": 5 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "medical supply crate.jpg" + }, + "Mesh Weave Garment": { + "material": "Mesh Weave Garment", + "rarity": "Rare", + "stat": "Armour", + "recipe": [ + { + "material": "Mesh Weave", + "count": 6 + }, + { + "material": "Rebreather", + "count": 4 + }, + { + "material": "Adamantium Filaments", + "count": 4 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "mesh weave garment.jpg" + }, + "Molecular Vaporiser": { + "material": "Molecular Vaporiser", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Necrons", + "recipe": [ + { + "material": "Engrammatic Entangler", + "count": 9 + }, + { + "material": "Otherworldly Nano Swarm", + "count": 1 + }, + { + "material": "Hypermaterial Shifter", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "molecular vaporiser.jpg" + }, + "Multi-Spectrum Sensor Suite": { + "material": "Multi-Spectrum Sensor Suite", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Tau Empire", + "recipe": [ + { + "material": "Advanced Sensor Suite", + "count": 2 + }, + { + "material": "Ratiocination Targeting", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "multi-spectrum sensor suite.jpg" + }, + "Murderous Spikes": { "material": "Murderous Spikes", - "count": 1 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "warpflame infusion.jpg" - }, - "Warpweave Robe": { - "material": "Warpweave Robe", - "rarity": "Legendary", - "stat": "Armour", - "faction": "Thousand Sons", - "recipe": [ - { - "material": "Blessing of Tzeentch", - "count": 9 - }, - { - "material": "Decorated Cloak", - "count": 1 - }, - { - "material": "Warp Locus", - "count": 5 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "warpweave robe.jpg" - }, - "Witchseeker Bolts": { - "material": "Witchseeker Bolts", - "rarity": "Legendary", - "stat": "Damage", - "faction": "Black Templars", - "recipe": [ - { - "material": "Bones of the Paragons", - "count": 9 - }, - { + "rarity": "Rare", + "stat": "Damage", + "recipe": [ + { + "material": "Razorsharp Spikes", + "count": 2 + }, + { + "material": "Slicing Claws", + "count": 2 + }, + { + "material": "Weapon Parts", + "count": 2 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "murderous spikes.jpg" + }, + "Mutation: Impenetrable Skin": { + "material": "Mutation: Impenetrable Skin", + "rarity": "Legendary", + "stat": "Armour", + "recipe": [ + { + "material": "Mutation: Metallic Skin", + "count": 1 + }, + { + "material": "Warp Locus", + "count": 7 + }, + { + "material": "Thick Skin", + "count": 9 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "mutation_ impenetrable skin.png" + }, + "Mutation: Metallic Skin": { + "material": "Mutation: Metallic Skin", + "rarity": "Epic", + "stat": "Armour", + "recipe": [ + { + "material": "Mutation: Warped Skin", + "count": 1 + }, + { + "material": "Mutation: Scaly Skin", + "count": 6 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "mutation_ metallic skin.png" + }, + "Mutation: Otherworldly Power": { + "material": "Mutation: Otherworldly Power", + "rarity": "Legendary", + "stat": "Health", + "recipe": [ + { + "material": "Mutation: Regenerative Blood", + "count": 1 + }, + { + "material": "Mutation: Warped Heart", + "count": 5 + }, + { + "material": "Mutation: Warped Muscles", + "count": 10 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "mutation_ otherworldly power.png" + }, + "Mutation: Regenerative Blood": { + "material": "Mutation: Regenerative Blood", + "rarity": "Epic", + "stat": "Health", + "recipe": [ + { + "material": "Mutation: Warped Heart", + "count": 4 + }, + { + "material": "Mutation: Warped Lungs", + "count": 6 + }, + { + "material": "Mutation: Warped Muscles", + "count": 6 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "mutation_ regenerative blood.png" + }, + "Mutation: Warped Skin": { + "material": "Mutation: Warped Skin", + "rarity": "Rare", + "stat": "Armour", + "recipe": [ + { + "material": "Mutation: Scaly Skin", + "count": 6 + }, + { + "material": "Mutation: Tough Skin", + "count": 4 + }, + { + "material": "Mutation: Warped Muscles", + "count": 4 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "mutation_ warped skin.jpg" + }, + "Mysterious Device": { + "material": "Mysterious Device", + "rarity": "Legendary", + "stat": "Armour", + "recipe": [ + { + "material": "Sophisticated Material Sheet", + "count": 1 + }, + { + "material": "Hypermaterial Shifter", + "count": 7 + }, + { + "material": "Plasma Cell", + "count": 10 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "mysterious device.jpg" + }, + "Necrodermis Nano Scarab Swarm": { + "material": "Necrodermis Nano Scarab Swarm", + "rarity": "Epic", + "stat": "Health", + "faction": "Necrons", + "recipe": [ + { + "material": "Otherworldly Nano Swarm", + "count": 1 + }, + { + "material": "Sophisticated Material Ingot", + "count": 3 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "necrodermis nano scarab swarm.png" + }, + "Nob Teef": { + "material": "Nob Teef", + "rarity": "Epic", + "stat": "Health", + "faction": "Orks", + "recipe": [ + { + "material": "Bad Moon Teef", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "nob teef.jpg" + }, + "Octarian Crusade Seal": { + "material": "Octarian Crusade Seal", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Black Templars", + "recipe": [ + { + "material": "Bones of the Paragons", + "count": 9 + }, + { + "material": "Crusader's Tabbard", + "count": 1 + }, + { + "material": "Bladesman's Honour", + "count": 7 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "octarian crusade seal.jpg" + }, + "Ominous Xenos Glyphs": { + "material": "Ominous Xenos Glyphs", + "rarity": "Epic", + "stat": "Health", + "recipe": [ + { + "material": "Ancient Runes", + "count": 4 + }, + { + "material": "Writings", + "count": 6 + }, + { + "material": "Scrolls", + "count": 6 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "ominous xenos glyphs.jpg" + }, + "Otherworldly Energy Reservoir": { + "material": "Otherworldly Energy Reservoir", + "rarity": "Uncommon", + "stat": "Damage", + "recipe": [ + { + "material": "Otherworldly Energy", + "count": 6 + }, + { + "material": "Gold", + "count": 25 + } + ], + "craftable": true, + "icon": "otherworldly energy reservoir.jpg" + }, + "Otherworldly Nano Swarm": { + "material": "Otherworldly Nano Swarm", + "rarity": "Rare", + "stat": "Health", + "recipe": [ + { + "material": "Advanced Filaments", + "count": 8 + }, + { + "material": "Nano Swarm", + "count": 7 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "otherworldly nano swarm.png" + }, + "Overcapacitator": { + "material": "Overcapacitator", + "rarity": "Legendary", + "stat": "Damage", + "recipe": [ + { + "material": "Ratiocination Targeting", + "count": 2 + }, + { + "material": "Bionic Neural Pathways", + "count": 2 + }, + { + "material": "Wires", + "count": 2 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "overcapacitator.jpg" + }, + "Perfidious Relic of the Unforgiven": { + "material": "Perfidious Relic of the Unforgiven", + "rarity": "Legendary", + "stat": "Health", + "faction": "Dark Angels", + "recipe": [ + { + "material": "Stone Guardian Fragment", + "count": 9 + }, + { + "material": "Impressive Armor Trim", + "count": 2 + }, + { + "material": "Terminator Honours", + "count": 5 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "perfidious relic of the unforgiven.jpg" + }, + "Personal Saga": { + "material": "Personal Saga", + "rarity": "Legendary", + "stat": "Health", + "faction": "Space Wolves", + "recipe": [ + { + "material": "Mjod", + "count": 9 + }, + { + "material": "Grand Skull Trophy", + "count": 1 + }, + { + "material": "Terminator Honours", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "personal saga.jpg" + }, + "Phylacterine Hive": { + "material": "Phylacterine Hive", + "rarity": "Legendary", + "stat": "Health", + "faction": "Necrons", + "recipe": [ + { + "material": "Engrammatic Entangler", + "count": 9 + }, + { + "material": "Otherworldly Nano Swarm", + "count": 1 + }, + { + "material": "Hypermaterial Shifter", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "phylacterine hive.jpg" + }, + "Plasma Cell Bundle": { + "material": "Plasma Cell Bundle", + "rarity": "Rare", + "stat": "Damage", + "recipe": [ + { + "material": "Plasma Cell", + "count": 6 + }, + { + "material": "Barrel of Promethium", + "count": 3 + }, + { + "material": "Can of Promethium", + "count": 7 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "plasma cell bundle.png" + }, + "Plasma Cell Crate": { + "material": "Plasma Cell Crate", + "rarity": "Epic", + "stat": "Damage", + "recipe": [ + { + "material": "Plasma Cell Bundle", + "count": 1 + }, + { + "material": "Crate of Salvage", + "count": 6 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "plasma cell crate.jpg" + }, + "Plasma Coil": { + "material": "Plasma Coil", + "rarity": "Legendary", + "stat": "Damage", + "recipe": [ + { + "material": "Blessed Promethium Canister", + "count": 3 + }, + { + "material": "Plasma Cell Crate", + "count": 1 + }, + { + "material": "High-Capacity Power Pack", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "plasma coil.png" + }, + "Portentious Xenos Glyphs": { + "material": "Portentious Xenos Glyphs", + "rarity": "Legendary", + "stat": "Health", + "recipe": [ + { + "material": "Ominous Xenos Glyphs", + "count": 1 + }, + { + "material": "Ancient Runes", + "count": 5 + }, + { + "material": "Adamantium Filaments", + "count": 10 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "portentious xenos glyphs.jpg" + }, + "Power Pack Bundle": { + "material": "Power Pack Bundle", + "rarity": "Uncommon", + "stat": "Damage", + "recipe": [ + { + "material": "Single Power Pack", + "count": 6 + }, + { + "material": "Gold", + "count": 25 + } + ], + "craftable": true, + "icon": "power pack bundle.png" + }, + "Powered Blade": { + "material": "Powered Blade", + "rarity": "Legendary", + "stat": "Damage", + "recipe": [ + { + "material": "Adamantium Blades", + "count": 1 + }, + { + "material": "Relic Hilt", + "count": 4 + }, + { + "material": "Anointed Micro-Generator", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "powered blade.jpg" + }, + "Powerful Auxiliary Core": { + "material": "Powerful Auxiliary Core", + "rarity": "Rare", + "stat": "Damage", + "recipe": [ + { + "material": "Fine Micro-Generator", + "count": 5 + }, + { + "material": "Fine Auxiliary Core", + "count": 2 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "powerful auxiliary core.png" + }, + "Powerful Micro-Generator": { + "material": "Powerful Micro-Generator", + "rarity": "Rare", + "stat": "Damage", + "recipe": [ + { + "material": "Fine Micro-Generator", + "count": 9 + }, + { + "material": "Single Power Pack", + "count": 7 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "powerful micro-generator.png" + }, + "Prehensile Dataspike": { + "material": "Prehensile Dataspike", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Adeptus Mechanicus", + "recipe": [ + { + "material": "Blessed Cogitator", + "count": 9 + }, + { + "material": "Electromantic Cable Bundle", + "count": 1 + }, + { + "material": "Bionic Neural Pathways", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "prehensile dataspike.png" + }, + "Prey-Sight": { "material": "Prey-Sight", - "count": 1 - }, - { - "material": "Special Issue Ammo", - "count": 6 - }, - { - "material": "Gold", - "count": 650 - } - ], - "craftable": true, - "icon": "witchseeker bolts.jpg" - }, - "Vindicta": { - "material": "Vindicta", - "craftable": false, - "stat": "Shard", - "faction": "Adepta Sororitas", - "rarity": "Shard" - }, - "Celestine": { - "material": "Celestine", - "craftable": false, - "stat": "Shard", - "faction": "Adepta Sororitas", - "rarity": "Shard" - }, - "Sibyll Devine": { - "material": "Sibyll Devine", - "craftable": false, - "stat": "Shard", - "faction": "Astra Militarum", - "rarity": "Shard" - }, - "Kut Skoden": { - "material": "Kut Skoden", - "craftable": false, - "stat": "Shard", - "faction": "Astra Militarum", - "rarity": "Shard" - }, - "Thaddeus Noble": { - "material": "Thaddeus Noble", - "craftable": false, - "stat": "Shard", - "faction": "Astra Militarum", - "rarity": "Shard" - }, - "Castellan Creed": { - "material": "Castellan Creed", - "craftable": false, - "stat": "Shard", - "faction": "Astra Militarum", - "rarity": "Shard" - }, - "Sword Brother Godswyl": { - "material": "Sword Brother Godswyl", - "craftable": false, - "stat": "Shard", - "faction": "Black Templars", - "rarity": "Shard" - }, - "Brother Burchard": { - "material": "Brother Burchard", - "craftable": false, - "stat": "Shard", - "faction": "Black Templars", - "rarity": "Shard" - }, - "Ancient Thoread": { - "material": "Ancient Thoread", - "craftable": false, - "stat": "Shard", - "faction": "Black Templars", - "rarity": "Shard" - }, - "Brother Jaeger": { - "material": "Brother Jaeger", - "craftable": false, - "stat": "Shard", - "faction": "Black Templars", - "rarity": "Shard" - }, - "High Marshal Helbrecht": { - "material": "High Marshal Helbrecht", - "craftable": false, - "stat": "Shard", - "faction": "Black Templars", - "rarity": "Shard" - }, - "Varro Tigurius": { - "material": "Varro Tigurius", - "craftable": false, - "stat": "Shard", - "faction": "Ultramarines", - "rarity": "Shard" - }, - "Certus": { - "material": "Certus", - "craftable": false, - "stat": "Shard", - "faction": "Ultramarines", - "rarity": "Shard" - }, - "Bellator": { - "material": "Bellator", - "craftable": false, - "stat": "Shard", - "faction": "Ultramarines", - "rarity": "Shard" - }, - "Incisus": { - "material": "Incisus", - "craftable": false, - "stat": "Shard", - "faction": "Ultramarines", - "rarity": "Shard" - }, - "Marneus Calgar": { - "material": "Marneus Calgar", - "craftable": false, - "stat": "Shard", - "faction": "Ultramarines", - "rarity": "Shard" - }, - "Makhotep": { - "material": "Makhotep", - "craftable": false, - "stat": "Shard", - "faction": "Necrons", - "rarity": "Shard" - }, - "Imospekh": { - "material": "Imospekh", - "craftable": false, - "stat": "Shard", - "faction": "Necrons", - "rarity": "Shard" - }, - "Aleph-Null": { - "material": "Aleph-Null", - "craftable": false, - "stat": "Shard", - "faction": "Necrons", - "rarity": "Shard" - }, - "Thutmose": { - "material": "Thutmose", - "craftable": false, - "stat": "Shard", - "faction": "Necrons", - "rarity": "Shard" - }, - "Anuphet": { - "material": "Anuphet", - "craftable": false, - "stat": "Shard", - "faction": "Necrons", - "rarity": "Shard" - }, - "Snotflogga": { - "material": "Snotflogga", - "craftable": false, - "stat": "Shard", - "faction": "Orks", - "rarity": "Shard" - }, - "Gibbascrapz": { - "material": "Gibbascrapz", - "craftable": false, - "stat": "Shard", - "faction": "Orks", - "rarity": "Shard" - }, - "Snappawrecka": { - "material": "Snappawrecka", - "craftable": false, - "stat": "Shard", - "faction": "Orks", - "rarity": "Shard" - }, - "Tanksmasha": { - "material": "Tanksmasha", - "craftable": false, - "stat": "Shard", - "faction": "Orks", - "rarity": "Shard" - }, - "Boss Gulgortz": { - "material": "Boss Gulgortz", - "craftable": false, - "stat": "Shard", - "faction": "Orks", - "rarity": "Shard" - }, - "Angrax": { - "material": "Angrax", - "craftable": false, - "stat": "Shard", - "faction": "Black Legion", - "rarity": "Shard" - }, - "Volk": { - "material": "Volk", - "craftable": false, - "stat": "Shard", - "faction": "Black Legion", - "rarity": "Shard" - }, - "Archimatos": { - "material": "Archimatos", - "craftable": false, - "stat": "Shard", - "faction": "Black Legion", - "rarity": "Shard" - }, - "Haarken Worldclaimer": { - "material": "Haarken Worldclaimer", - "craftable": false, - "stat": "Shard", - "faction": "Black Legion", - "rarity": "Shard" - }, - "Abaddon The Despoiler": { - "material": "Abaddon The Despoiler", - "craftable": false, - "stat": "Shard", - "faction": "Black Legion", - "rarity": "Shard" - }, - "Yazaghor": { - "material": "Yazaghor", - "craftable": false, - "stat": "Shard", - "faction": "Thousand Sons", - "rarity": "Shard" - }, - "Toth": { - "material": "Toth", - "craftable": false, - "stat": "Shard", - "faction": "Thousand Sons", - "rarity": "Shard" - }, - "Abraxas": { - "material": "Abraxas", - "craftable": false, - "stat": "Shard", - "faction": "Thousand Sons", - "rarity": "Shard" - }, - "Thaumachus": { - "material": "Thaumachus", - "craftable": false, - "stat": "Shard", - "faction": "Thousand Sons", - "rarity": "Shard" - }, - "Ahriman": { - "material": "Ahriman", - "craftable": false, - "stat": "Shard", - "faction": "Thousand Sons", - "rarity": "Shard" - } + "rarity": "Rare", + "stat": "Damage", + "recipe": [ + { + "material": "Vox-Caster", + "count": 6 + }, + { + "material": "Locator Beacon", + "count": 5 + }, + { + "material": "Auspex", + "count": 6 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "prey-sight.png" + }, + "Protocol of the Eternal Guardian": { + "material": "Protocol of the Eternal Guardian", + "rarity": "Legendary", + "stat": "Health", + "faction": "Necrons", + "recipe": [ + { + "material": "Resurrection Protocols", + "count": 2 + }, + { + "material": "Ominous Xenos Glyphs", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "protocol of the eternal guardian.jpg" + }, + "Psychic Focus": { + "material": "Psychic Focus", + "rarity": "Legendary", + "stat": "Damage", + "recipe": [ + { + "material": "Supernatural Sight", + "count": 1 + }, + { + "material": "Sophisticated Material Sheet", + "count": 1 + }, + { + "material": "Warp Locus", + "count": 4 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "psychic focus.png" + }, + "Ratiocination Targeting": { + "material": "Ratiocination Targeting", + "rarity": "Rare", + "stat": "Damage", + "recipe": [ + { + "material": "Targeting Matrix", + "count": 2 + }, + { + "material": "Attack Vector Data-Slate", + "count": 2 + }, + { + "material": "Mission Assignment", + "count": 2 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "ratiocination targeting.jpg" + }, + "Razorsharp Spikes": { + "material": "Razorsharp Spikes", + "rarity": "Uncommon", + "stat": "Damage", + "recipe": [ + { + "material": "Nasty Spikes", + "count": 6 + }, + { + "material": "Chip Damage", + "count": 3 + }, + { + "material": "Gold", + "count": 25 + } + ], + "craftable": true, + "icon": "razorsharp spikes.png" + }, + "Refined Combat Stimms": { + "material": "Refined Combat Stimms", + "rarity": "Epic", + "stat": "Damage", + "recipe": [ + { + "material": "Combat Stimms", + "count": 8 + }, + { + "material": "Barrel of Promethium", + "count": 3 + }, + { + "material": "Medical Supply Crate", + "count": 1 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "refined combat stimms.jpg" + }, + "Regenerating Nano Swarm": { + "material": "Regenerating Nano Swarm", + "rarity": "Uncommon", + "stat": "Health", + "faction": "Necrons", + "recipe": [ + { + "material": "Adamantium Filaments", + "count": 6 + }, + { + "material": "Gold", + "count": 25 + } + ], + "craftable": true, + "icon": "regenerating nano swarm.png" + }, + "Relic Auxiliary Core": { + "material": "Relic Auxiliary Core", + "rarity": "Legendary", + "stat": "Damage", + "recipe": [ + { + "material": "Powerful Auxiliary Core", + "count": 1 + }, + { + "material": "Anointed Micro-Generator", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "relic auxiliary core.jpg" + }, + "Relic Bionic Enhancement": { + "material": "Relic Bionic Enhancement", + "rarity": "Legendary", + "stat": "Health", + "recipe": [ + { + "material": "Advanced Bionics", + "count": 1 + }, + { + "material": "Bionic Neural Pathways", + "count": 6 + }, + { + "material": "Anointed Micro-Generator", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "relic bionic enhancement.jpg" + }, + "Relic Micro-Generator": { + "material": "Relic Micro-Generator", + "rarity": "Legendary", + "stat": "Damage", + "recipe": [ + { + "material": "Powerful Micro-Generator", + "count": 1 + }, + { + "material": "Plasma Cell Crate", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "relic micro-generator.jpg" + }, + "Relic Motive Force Capacitator": { + "material": "Relic Motive Force Capacitator", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Adeptus Mechanicus", + "recipe": [ + { + "material": "Enhanced Motive Force Capacitator", + "count": 2 + }, + { + "material": "Sanctified Weapon Oils", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "relic motive force capacitator.png" + }, + "Relic Tasset Plate": { + "material": "Relic Tasset Plate", + "rarity": "Legendary", + "stat": "Armour", + "recipe": [ + { + "material": "Ancient Tasset Plate", + "count": 1 + }, + { + "material": "Artificer Tasset Plate", + "count": 8 + }, + { + "material": "Writings", + "count": 8 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "relic tasset plate.png" + }, + "Resplendent Spirit Stone": { + "material": "Resplendent Spirit Stone", + "rarity": "Legendary", + "stat": "Health", + "faction": "Aeldari", + "recipe": [ + { + "material": "Spirit Stone", + "count": 2 + }, + { + "material": "Ominous Xenos Glyphs", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "resplendent spirit stone.jpg" + }, + "Resurrection Protocols": { + "material": "Resurrection Protocols", + "rarity": "Epic", + "stat": "Health", + "faction": "Necrons", + "recipe": [ + { + "material": "Reconstitution Protocols", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "resurrection protocols.png" + }, + "Roses of Sacrifice": { + "material": "Roses of Sacrifice", + "rarity": "Epic", + "stat": "Health", + "faction": "Adepta Sororitas", + "recipe": [ + { + "material": "Rose of Martyrs", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "roses of sacrifice.png" + }, + "Roses of the Divine": { + "material": "Roses of the Divine", + "rarity": "Legendary", + "stat": "Health", + "faction": "Adepta Sororitas", + "recipe": [ + { + "material": "Roses of Sacrifice", + "count": 2 + }, + { + "material": "Greater Reliquary of Protection", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "roses of the divine.png" + }, + "Runic Talisman": { + "material": "Runic Talisman", + "rarity": "Epic", + "stat": "Health", + "faction": "Space Wolves", + "recipe": [ + { + "material": "Wolf Tail Talisman", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "runic talisman.jpg" + }, + "Runic Tasset Plate": { + "material": "Runic Tasset Plate", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Space Wolves", + "recipe": [ + { + "material": "Mjod", + "count": 9 + }, + { + "material": "Ancient Tasset Plate", + "count": 1 + }, + { + "material": "Terminator Honours", + "count": 5 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "runic tasset plate.png" + }, + "Sabbat-Pattern Visor": { + "material": "Sabbat-Pattern Visor", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Adepta Sororitas", + "recipe": [ + { + "material": "Holy Chaplet", + "count": 9 + }, + { + "material": "Hymn of Martyrs", + "count": 8 + }, + { + "material": "Prey-Sight", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "sabbat-pattern visor.jpg" + }, + "Sanctified Corset Armor": { + "material": "Sanctified Corset Armor", + "rarity": "Epic", + "stat": "Armour", + "faction": "Adepta Sororitas", + "recipe": [ + { + "material": "Blessed Corset Armor", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "sanctified corset armor.png" + }, + "Sanctified Reliquary of Protection": { + "material": "Sanctified Reliquary of Protection", + "rarity": "Rare", + "stat": "Health", + "recipe": [ + { + "material": "Reliquary of Protection", + "count": 8 + }, + { + "material": "Lesser Reliquary of Protection", + "count": 7 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "sanctified reliquary of protection.png" + }, + "Sanctified Weapon Oils": { + "material": "Sanctified Weapon Oils", + "rarity": "Rare", + "stat": "Damage", + "recipe": [ + { + "material": "Blessed Weapon Oils", + "count": 2 + }, + { + "material": "Barrel of Promethium", + "count": 2 + }, + { + "material": "Can of Promethium", + "count": 2 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "sanctified weapon oils.jpg" + }, + "Sanctus Canister": { + "material": "Sanctus Canister", + "rarity": "Legendary", + "stat": "Health", + "faction": "Adeptus Mechanicus", + "recipe": [ + { + "material": "Blessed Cogitator", + "count": 9 + }, + { + "material": "Advanced Combat Stimms", + "count": 1 + }, + { + "material": "Blessed Promethium Canister", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "sanctus canister.png" + }, + "Sash of Honors": { + "material": "Sash of Honors", + "rarity": "Legendary", + "stat": "Health", + "faction": "Astra Militarum", + "recipe": [ + { + "material": "Honourifica Imperialis", + "count": 9 + }, + { + "material": "Decorated Cloak", + "count": 1 + }, + { + "material": "Golden Ornamental Skull", + "count": 5 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "sash of honors.jpg" + }, + "Scale-Plate Mantle": { + "material": "Scale-Plate Mantle", + "rarity": "Epic", + "stat": "Armour", + "recipe": [ + { + "material": "Scale-Plate Strand", + "count": 1 + }, + { + "material": "Reinforced Scale-Plates", + "count": 6 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "scale-plate mantle.jpg" + }, + "Scale-Plate Strand": { + "material": "Scale-Plate Strand", + "rarity": "Rare", + "stat": "Armour", + "recipe": [ + { + "material": "Reinforced Scale-Plates", + "count": 6 + }, + { + "material": "Metal Joints", + "count": 4 + }, + { + "material": "Weapon Parts", + "count": 4 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "scale-plate strand.png" + }, + "Scriptures of Battle": { + "material": "Scriptures of Battle", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Aeldari", + "recipe": [ + { + "material": "Runes of Fate", + "count": 9 + }, + { + "material": "Battle Plan", + "count": 1 + }, + { + "material": "Warp Locus", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "scriptures of battle.jpg" + }, + "Scriptures of Fate": { + "material": "Scriptures of Fate", + "rarity": "Legendary", + "stat": "Health", + "faction": "Aeldari", + "recipe": [ + { + "material": "Runes of Fate", + "count": 9 + }, + { + "material": "Supernatural Sight", + "count": 1 + }, + { + "material": "Warp Locus", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "scriptures of fate.jpg" + }, + "Scriptures of Fortune": { + "material": "Scriptures of Fortune", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Aeldari", + "recipe": [ + { + "material": "Runes of Fate", + "count": 9 + }, + { + "material": "Filligrane Wraithbone Plate", + "count": 1 + }, + { + "material": "Warp Locus", + "count": 5 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "scriptures of fortune.jpg" + }, + "Seal of the Emperor's Protection": { + "material": "Seal of the Emperor's Protection", + "rarity": "Legendary", + "stat": "Armour", + "recipe": [ + { + "material": "Grand Purity Seal", + "count": 1 + }, + { + "material": "Terminator Honours", + "count": 7 + }, + { + "material": "The Iron Phoenix", + "count": 9 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "seal of the emperor_s protection.jpg" + }, + "Sentry AI Drone Controller": { + "material": "Sentry AI Drone Controller", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Tau Empire", + "recipe": [ + { + "material": "Advanced Drone Controller", + "count": 2 + }, + { + "material": "Advanced Mesh Weave Garment", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "sentry ai drone controller.jpg" + }, + "Servo-Arc Claw": { + "material": "Servo-Arc Claw", + "rarity": "Epic", + "stat": "Health", + "faction": "Adeptus Mechanicus", + "recipe": [ + { + "material": "Repair-Kit", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "servo-arc claw.png" + }, + "Shiny Boss Teef": { + "material": "Shiny Boss Teef", + "rarity": "Legendary", + "stat": "Health", + "faction": "Orks", + "recipe": [ + { + "material": "Nob Teef", + "count": 2 + }, + { + "material": "Ominous Xenos Glyphs", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "shiny boss teef.jpg" + }, + "Shroud of Heroes": { + "material": "Shroud of Heroes", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Dark Angels", + "recipe": [ + { + "material": "Stone Guardian Fragment", + "count": 9 + }, + { + "material": "Decorated Cloak", + "count": 1 + }, + { + "material": "Terminator Honours", + "count": 5 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "shroud of heroes.jpg" + }, + "Sigil of Eternal Decay": { + "material": "Sigil of Eternal Decay", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Death Guard", + "recipe": [ + { + "material": "Sigil of Inevitable Decay", + "count": 2 + }, + { + "material": "Murderous Spikes", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "sigil of eternal decay.jpg" + }, + "Sigil of Inevitable Decay": { + "material": "Sigil of Inevitable Decay", + "rarity": "Epic", + "stat": "Damage", + "faction": "Death Guard", + "recipe": [ + { + "material": "Sigil of Decay", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "sigil of inevitable decay.jpg" + }, + "Simulacrum Sanctorum": { + "material": "Simulacrum Sanctorum", + "rarity": "Legendary", + "stat": "Health", + "faction": "Adepta Sororitas", + "recipe": [ + { + "material": "Holy Chaplet", + "count": 9 + }, + { + "material": "Grand Skull Trophy", + "count": 1 + }, + { + "material": "Blessed Promethium Canister", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "simulacrum sanctorum.jpg" + }, + "Snazzy Dakka": { + "material": "Snazzy Dakka", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Orks", + "recipe": [ + { + "material": "Kustom Gubbinz", + "count": 9 + }, + { + "material": "Box of Ammo", + "count": 1 + }, + { + "material": "Bionic Neural Pathways", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "snazzy dakka.jpg" + }, + "Sophisticated Material Bar": { + "material": "Sophisticated Material Bar", + "rarity": "Rare", + "stat": "Armour", + "recipe": [ + { + "material": "Sophisticated Material", + "count": 8 + }, + { + "material": "Pile of Salvage", + "count": 4 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "sophisticated material bar.png" + }, + "Sophisticated Material Ingot": { + "material": "Sophisticated Material Ingot", + "rarity": "Uncommon", + "stat": "Armour", + "recipe": [ + { + "material": "Sophisticated Material", + "count": 6 + }, + { + "material": "Gold", + "count": 25 + } + ], + "craftable": true, + "icon": "sophisticated material ingot.png" + }, + "Sophisticated Material Plates": { + "material": "Sophisticated Material Plates", + "rarity": "Legendary", + "stat": "Armour", + "recipe": [ + { + "material": "Sophisticated Material Sheet", + "count": 1 + }, + { + "material": "Crate of Salvage", + "count": 8 + }, + { + "material": "Sophisticated Material Ingot", + "count": 2 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "sophisticated material plates.jpg" + }, + "Sophisticated Material Sheet": { + "material": "Sophisticated Material Sheet", + "rarity": "Epic", + "stat": "Armour", + "recipe": [ + { + "material": "Sophisticated Material Bar", + "count": 1 + }, + { + "material": "Box of Salvage", + "count": 6 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "sophisticated material sheet.png" + }, + "Soul-Bonded Psytronome": { + "material": "Soul-Bonded Psytronome", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Aeldari", + "recipe": [ + { + "material": "Filligrane Psytronome", + "count": 2 + }, + { + "material": "Ratiocination Targeting", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "soul-bonded psytronome.jpg" + }, + "Soul-Bonded Wraithbone Plate": { + "material": "Soul-Bonded Wraithbone Plate", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Aeldari", + "recipe": [ + { + "material": "Filligrane Wraithbone Plate", + "count": 2 + }, + { + "material": "Advanced Mesh Weave Garment", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "soul-bonded wraithbone plate.jpg" + }, + "Spirit Stone": { + "material": "Spirit Stone", + "rarity": "Epic", + "stat": "Health", + "faction": "Aeldari", + "recipe": [ + { + "material": "Waystone", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "spirit stone.jpg" + }, + "Supernatural Sight": { + "material": "Supernatural Sight", + "rarity": "Rare", + "stat": "Damage", + "recipe": [ + { + "material": "Ballistics Data", + "count": 6 + }, + { + "material": "Writings", + "count": 5 + }, + { + "material": "Scrolls", + "count": 6 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "supernatural sight.png" + }, + "Symbiotic Carapace": { + "material": "Symbiotic Carapace", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Tyranids", + "recipe": [ + { + "material": "Synaptic Augmentation", + "count": 9 + }, + { + "material": "Mutation: Regenerative Blood", + "count": 1 + }, + { + "material": "Hypermaterial Shifter", + "count": 4 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "symbiotic carapace.png" + }, + "Tabbard of Righteous Wrath": { + "material": "Tabbard of Righteous Wrath", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Black Templars", + "recipe": [ + { + "material": "Crusader's Tabbard", + "count": 2 + }, + { + "material": "Grand Purity Seal", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "tabbard of righteous wrath.jpg" + }, + "Talisman of Storms": { + "material": "Talisman of Storms", + "rarity": "Legendary", + "stat": "Health", + "faction": "Space Wolves", + "recipe": [ + { + "material": "Runic Talisman", + "count": 2 + }, + { + "material": "Greater Reliquary of Protection", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "talisman of storms.jpg" + }, + "Ta'Lissera Bond": { + "material": "Ta'Lissera Bond", + "rarity": "Legendary", + "stat": "Health", + "faction": "Tau Empire", + "recipe": [ + { + "material": "Engram Neurochip", + "count": 9 + }, + { + "material": "Medical Supply Crate", + "count": 1 + }, + { + "material": "Relic Hilt", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "ta_lissera bond.jpg" + }, + "Tannhauser's Bones": { + "material": "Tannhauser's Bones", + "rarity": "Legendary", + "stat": "Health", + "faction": "Black Templars", + "recipe": [ + { + "material": "Bones of the Paragons", + "count": 9 + }, + { + "material": "Grand Skull Trophy", + "count": 1 + }, + { + "material": "Terminator Honours", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "tannhauser_s bones.jpg" + }, + "Target Lock": { + "material": "Target Lock", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Tau Empire", + "recipe": [ + { + "material": "Engram Neurochip", + "count": 9 + }, + { + "material": "Prey-Sight", + "count": 1 + }, + { + "material": "Bionic Neural Pathways", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "target lock.jpg" + }, + "Targeting Matrix": { + "material": "Targeting Matrix", + "rarity": "Uncommon", + "stat": "Damage", + "recipe": [ + { + "material": "Targeting Link", + "count": 6 + }, + { + "material": "Ballistics Data", + "count": 3 + }, + { + "material": "Gold", + "count": 25 + } + ], + "craftable": true, + "icon": "targeting matrix.png" + }, + "Thunderwolf Tooth Necklace": { + "material": "Thunderwolf Tooth Necklace", + "rarity": "Epic", + "stat": "Damage", + "faction": "Space Wolves", + "recipe": [ + { + "material": "Wolf Tooth Necklace", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "thunderwolf tooth necklace.jpg" + }, + "Tome of Arcane Knowledge": { + "material": "Tome of Arcane Knowledge", + "rarity": "Legendary", + "stat": "Health", + "recipe": [ + { + "material": "Ominous Xenos Glyphs", + "count": 1 + }, + { + "material": "Mutation: Regenerative Blood", + "count": 1 + }, + { + "material": "Greater Reliquary of Protection", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "tome of arcane knowledge.png" + }, + "Transdimensional Sanctum": { + "material": "Transdimensional Sanctum", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Necrons", + "recipe": [ + { + "material": "Engrammatic Entangler", + "count": 9 + }, + { + "material": "Viridian Energy Tesseract", + "count": 9 + }, + { + "material": "Hypermaterial Shifter", + "count": 5 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "transdimensional sanctum.png" + }, + "Utilitarian Belt": { + "material": "Utilitarian Belt", + "rarity": "Rare", + "stat": "Health", + "recipe": [ + { + "material": "Holster and Pockets", + "count": 2 + }, + { + "material": "Standard-Issue Tourniquet", + "count": 5 + }, + { + "material": "Gold", + "count": 75 + } + ], + "craftable": true, + "icon": "utilitarian belt.png" + }, + "Veteran's Entrenching Tool": { + "material": "Veteran's Entrenching Tool", + "rarity": "Epic", + "stat": "Damage", + "faction": "Astra Militarum", + "recipe": [ + { + "material": "Entrenching Tool", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "veteran_s entrenching tool.png" + }, + "Virulent Rounds": { + "material": "Virulent Rounds", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Death Guard", + "recipe": [ + { + "material": "Blessing of Nurgle", + "count": 9 + }, + { + "material": "Supernatural Sight", + "count": 1 + }, + { + "material": "Special Issue Ammo", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "virulent rounds.jpg" + }, + "Warp Touched Eye of Horus": { + "material": "Warp Touched Eye of Horus", + "rarity": "Epic", + "stat": "Health", + "faction": "Black Legion", + "recipe": [ + { + "material": "Eye of Horus", + "count": 9 + }, + { + "material": "Gold", + "count": 215 + } + ], + "craftable": true, + "icon": "warp touched eye of horus.png" + }, + "Warpflame Infusion": { + "material": "Warpflame Infusion", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Thousand Sons", + "recipe": [ + { + "material": "Ensorcelled Infusion", + "count": 2 + }, + { + "material": "Murderous Spikes", + "count": 1 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "warpflame infusion.jpg" + }, + "Warpweave Robe": { + "material": "Warpweave Robe", + "rarity": "Legendary", + "stat": "Armour", + "faction": "Thousand Sons", + "recipe": [ + { + "material": "Blessing of Tzeentch", + "count": 9 + }, + { + "material": "Decorated Cloak", + "count": 1 + }, + { + "material": "Warp Locus", + "count": 5 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "warpweave robe.jpg" + }, + "Witchseeker Bolts": { + "material": "Witchseeker Bolts", + "rarity": "Legendary", + "stat": "Damage", + "faction": "Black Templars", + "recipe": [ + { + "material": "Bones of the Paragons", + "count": 9 + }, + { + "material": "Prey-Sight", + "count": 1 + }, + { + "material": "Special Issue Ammo", + "count": 6 + }, + { + "material": "Gold", + "count": 650 + } + ], + "craftable": true, + "icon": "witchseeker bolts.jpg" + }, + "Vindicta": { + "material": "Vindicta", + "craftable": false, + "stat": "Shard", + "faction": "Adepta Sororitas", + "rarity": "Shard" + }, + "Celestine": { + "material": "Celestine", + "craftable": false, + "stat": "Shard", + "faction": "Adepta Sororitas", + "rarity": "Shard" + }, + "Sibyll Devine": { + "material": "Sibyll Devine", + "craftable": false, + "stat": "Shard", + "faction": "Astra Militarum", + "rarity": "Shard" + }, + "Kut Skoden": { + "material": "Kut Skoden", + "craftable": false, + "stat": "Shard", + "faction": "Astra Militarum", + "rarity": "Shard" + }, + "Thaddeus Noble": { + "material": "Thaddeus Noble", + "craftable": false, + "stat": "Shard", + "faction": "Astra Militarum", + "rarity": "Shard" + }, + "Castellan Creed": { + "material": "Castellan Creed", + "craftable": false, + "stat": "Shard", + "faction": "Astra Militarum", + "rarity": "Shard" + }, + "Sword Brother Godswyl": { + "material": "Sword Brother Godswyl", + "craftable": false, + "stat": "Shard", + "faction": "Black Templars", + "rarity": "Shard" + }, + "Brother Burchard": { + "material": "Brother Burchard", + "craftable": false, + "stat": "Shard", + "faction": "Black Templars", + "rarity": "Shard" + }, + "Ancient Thoread": { + "material": "Ancient Thoread", + "craftable": false, + "stat": "Shard", + "faction": "Black Templars", + "rarity": "Shard" + }, + "Brother Jaeger": { + "material": "Brother Jaeger", + "craftable": false, + "stat": "Shard", + "faction": "Black Templars", + "rarity": "Shard" + }, + "High Marshal Helbrecht": { + "material": "High Marshal Helbrecht", + "craftable": false, + "stat": "Shard", + "faction": "Black Templars", + "rarity": "Shard" + }, + "Varro Tigurius": { + "material": "Varro Tigurius", + "craftable": false, + "stat": "Shard", + "faction": "Ultramarines", + "rarity": "Shard" + }, + "Certus": { + "material": "Certus", + "craftable": false, + "stat": "Shard", + "faction": "Ultramarines", + "rarity": "Shard" + }, + "Bellator": { + "material": "Bellator", + "craftable": false, + "stat": "Shard", + "faction": "Ultramarines", + "rarity": "Shard" + }, + "Incisus": { + "material": "Incisus", + "craftable": false, + "stat": "Shard", + "faction": "Ultramarines", + "rarity": "Shard" + }, + "Marneus Calgar": { + "material": "Marneus Calgar", + "craftable": false, + "stat": "Shard", + "faction": "Ultramarines", + "rarity": "Shard" + }, + "Makhotep": { + "material": "Makhotep", + "craftable": false, + "stat": "Shard", + "faction": "Necrons", + "rarity": "Shard" + }, + "Imospekh": { + "material": "Imospekh", + "craftable": false, + "stat": "Shard", + "faction": "Necrons", + "rarity": "Shard" + }, + "Aleph-Null": { + "material": "Aleph-Null", + "craftable": false, + "stat": "Shard", + "faction": "Necrons", + "rarity": "Shard" + }, + "Thutmose": { + "material": "Thutmose", + "craftable": false, + "stat": "Shard", + "faction": "Necrons", + "rarity": "Shard" + }, + "Anuphet": { + "material": "Anuphet", + "craftable": false, + "stat": "Shard", + "faction": "Necrons", + "rarity": "Shard" + }, + "Snotflogga": { + "material": "Snotflogga", + "craftable": false, + "stat": "Shard", + "faction": "Orks", + "rarity": "Shard" + }, + "Gibbascrapz": { + "material": "Gibbascrapz", + "craftable": false, + "stat": "Shard", + "faction": "Orks", + "rarity": "Shard" + }, + "Snappawrecka": { + "material": "Snappawrecka", + "craftable": false, + "stat": "Shard", + "faction": "Orks", + "rarity": "Shard" + }, + "Tanksmasha": { + "material": "Tanksmasha", + "craftable": false, + "stat": "Shard", + "faction": "Orks", + "rarity": "Shard" + }, + "Boss Gulgortz": { + "material": "Boss Gulgortz", + "craftable": false, + "stat": "Shard", + "faction": "Orks", + "rarity": "Shard" + }, + "Angrax": { + "material": "Angrax", + "craftable": false, + "stat": "Shard", + "faction": "Black Legion", + "rarity": "Shard" + }, + "Volk": { + "material": "Volk", + "craftable": false, + "stat": "Shard", + "faction": "Black Legion", + "rarity": "Shard" + }, + "Archimatos": { + "material": "Archimatos", + "craftable": false, + "stat": "Shard", + "faction": "Black Legion", + "rarity": "Shard" + }, + "Haarken Worldclaimer": { + "material": "Haarken Worldclaimer", + "craftable": false, + "stat": "Shard", + "faction": "Black Legion", + "rarity": "Shard" + }, + "Abaddon The Despoiler": { + "material": "Abaddon The Despoiler", + "craftable": false, + "stat": "Shard", + "faction": "Black Legion", + "rarity": "Shard" + }, + "Yazaghor": { + "material": "Yazaghor", + "craftable": false, + "stat": "Shard", + "faction": "Thousand Sons", + "rarity": "Shard" + }, + "Toth": { + "material": "Toth", + "craftable": false, + "stat": "Shard", + "faction": "Thousand Sons", + "rarity": "Shard" + }, + "Abraxas": { + "material": "Abraxas", + "craftable": false, + "stat": "Shard", + "faction": "Thousand Sons", + "rarity": "Shard" + }, + "Thaumachus": { + "material": "Thaumachus", + "craftable": false, + "stat": "Shard", + "faction": "Thousand Sons", + "rarity": "Shard" + }, + "Ahriman": { + "material": "Ahriman", + "craftable": false, + "stat": "Shard", + "faction": "Thousand Sons", + "rarity": "Shard" + } } diff --git a/src/assets/shardsData.json b/src/assets/shardsData.json index e42bb526..db89bdda 100644 --- a/src/assets/shardsData.json +++ b/src/assets/shardsData.json @@ -1,391 +1,290 @@ { - "Vindicta": { - "material": "Vindicta", - "craftable": false, - "stat": "Shard", - "faction": "Adepta Sororitas", - "rarity": "Shard", - "locations": [ - "I29", - "IM15", - "IME8" - ] - }, - "Celestine": { - "material": "Celestine", - "craftable": false, - "stat": "Shard", - "faction": "Adepta Sororitas", - "rarity": "Shard", - "locations": [ - "FoC60", - "FoC32" - ] - }, - "Sibyll Devine": { - "material": "Sibyll Devine", - "craftable": false, - "stat": "Shard", - "faction": "Astra Militarum", - "rarity": "Shard", - "locations": [ - "FoC30", - "FoC16" - ] - }, - "Kut Skoden": { - "material": "Kut Skoden", - "craftable": false, - "stat": "Shard", - "faction": "Astra Militarum", - "rarity": "Shard", - "locations": [ - "FoC15", - "FoC8" - ] - }, - "Thaddeus Noble": { - "material": "Thaddeus Noble", - "craftable": false, - "stat": "Shard", - "faction": "Astra Militarum", - "rarity": "Shard", - "locations": [ - "FoC45", - "FoC24" - ] - }, - "Castellan Creed": { - "material": "Castellan Creed", - "craftable": false, - "stat": "Shard", - "faction": "Astra Militarum", - "rarity": "Shard", - "locations": [ - "FoC75", - "FoC40" - ] - }, - "Sword Brother Godswyl": { - "material": "Sword Brother Godswyl", - "craftable": false, - "stat": "Shard", - "faction": "Black Templars", - "rarity": "Shard", - "locations": [ - "O30", - "OE16" - ] - }, - "Brother Burchard": { - "material": "Brother Burchard", - "craftable": false, - "stat": "Shard", - "faction": "Black Templars", - "rarity": "Shard", - "locations": [ - "O15", - "OE8" - ] - }, - "Ancient Thoread": { - "material": "Ancient Thoread", - "craftable": false, - "stat": "Shard", - "faction": "Black Templars", - "rarity": "Shard", - "locations": [ - "O45", - "OE24" - ] - }, - "Brother Jaeger": { - "material": "Brother Jaeger", - "craftable": false, - "stat": "Shard", - "faction": "Black Templars", - "rarity": "Shard", - "locations": [ - "O60", - "OE32" - ] - }, - "High Marshal Helbrecht": { - "material": "High Marshal Helbrecht", - "craftable": false, - "stat": "Shard", - "faction": "Black Templars", - "rarity": "Shard", - "locations": [ - "O75", - "OE40" - ] - }, - "Varro Tigurius": { - "material": "Varro Tigurius", - "craftable": false, - "stat": "Shard", - "faction": "Ultramarines", - "rarity": "Shard", - "locations": [ - "I18", - "IM60", - "IME32" - ] - }, - "Certus": { - "material": "Certus", - "craftable": false, - "stat": "Shard", - "faction": "Ultramarines", - "rarity": "Shard", - "locations": [ - "I21", - "IM45", - "IME24" - ] - }, - "Bellator": { - "material": "Bellator", - "craftable": false, - "stat": "Shard", - "faction": "Ultramarines", - "rarity": "Shard", - "locations": [ - "I24", - "IM30", - "IME16" - ] - }, - "Incisus": { - "material": "Incisus", - "craftable": false, - "stat": "Shard", - "faction": "Ultramarines", - "rarity": "Shard", - "locations": [ - "I27" - ] - }, - "Marneus Calgar": { - "material": "Marneus Calgar", - "craftable": false, - "stat": "Shard", - "faction": "Ultramarines", - "rarity": "Shard", - "locations": [ - "IM75", - "IME4" - ] - }, - "Makhotep": { - "material": "Makhotep", - "craftable": false, - "stat": "Shard", - "faction": "Necrons", - "rarity": "Shard", - "locations": [ - "I15", - "IE8" - ] - }, - "Imospekh": { - "material": "Imospekh", - "craftable": false, - "stat": "Shard", - "faction": "Necrons", - "rarity": "Shard", - "locations": [ - "I30", - "IE16" - ] - }, - "Aleph-Null": { - "material": "Aleph-Null", - "craftable": false, - "stat": "Shard", - "faction": "Necrons", - "rarity": "Shard", - "locations": [ - "I45", - "IE24" - ] - }, - "Thutmose": { - "material": "Thutmose", - "craftable": false, - "stat": "Shard", - "faction": "Necrons", - "rarity": "Shard", - "locations": [ - "I60", - "IE32" - ] - }, - "Anuphet": { - "material": "Anuphet", - "craftable": false, - "stat": "Shard", - "faction": "Necrons", - "rarity": "Shard", - "locations": [ - "I75", - "IE40" - ] - }, - "Snotflogga": { - "material": "Snotflogga", - "craftable": false, - "stat": "Shard", - "faction": "Orks", - "rarity": "Shard", - "locations": [ - "OM45" - ] - }, - "Gibbascrapz": { - "material": "Gibbascrapz", - "craftable": false, - "stat": "Shard", - "faction": "Orks", - "rarity": "Shard", - "locations": [ - "OM30" - ] - }, - "Snappawrecka": { - "material": "Snappawrecka", - "craftable": false, - "stat": "Shard", - "faction": "Orks", - "rarity": "Shard", - "locations": [ - "OM15" - ] - }, - "Tanksmasha": { - "material": "Tanksmasha", - "craftable": false, - "stat": "Shard", - "faction": "Orks", - "rarity": "Shard", - "locations": [ - "OM60" - ] - }, - "Boss Gulgortz": { - "material": "Boss Gulgortz", - "craftable": false, - "stat": "Shard", - "faction": "Orks", - "rarity": "Shard", - "locations": [ - "OM75" - ] - }, - "Angrax": { - "material": "Angrax", - "craftable": false, - "stat": "Shard", - "faction": "Black Legion", - "rarity": "Shard", - "locations": [ - "FoCM15", - "FoCME8" - ] - }, - "Volk": { - "material": "Volk", - "craftable": false, - "stat": "Shard", - "faction": "Black Legion", - "rarity": "Shard", - "locations": [ - "FoCM45", - "FoCME24" - ] - }, - "Archimatos": { - "material": "Archimatos", - "craftable": false, - "stat": "Shard", - "faction": "Black Legion", - "rarity": "Shard", - "locations": [ - "FoCM30", - "FoCME16" - ] - }, - "Haarken Worldclaimer": { - "material": "Haarken Worldclaimer", - "craftable": false, - "stat": "Shard", - "faction": "Black Legion", - "rarity": "Shard", - "locations": [ - "FoCM60", - "FoCME32" - ] - }, - "Abaddon The Despoiler": { - "material": "Abaddon The Despoiler", - "craftable": false, - "stat": "Shard", - "faction": "Black Legion", - "rarity": "Shard", - "locations": [ - "FoCM75", - "FoCME40" - ] - }, - "Yazaghor": { - "material": "Yazaghor", - "craftable": false, - "stat": "Shard", - "faction": "Thousand Sons", - "rarity": "Shard", - "locations": [ - "SH45" - ] - }, - "Toth": { - "material": "Toth", - "craftable": false, - "stat": "Shard", - "faction": "Thousand Sons", - "rarity": "Shard", - "locations": [ - "SH15" - ] - }, - "Abraxas": { - "material": "Abraxas", - "craftable": false, - "stat": "Shard", - "faction": "Thousand Sons", - "rarity": "Shard", - "locations": [ - "SH30" - ] - }, - "Thaumachus": { - "material": "Thaumachus", - "craftable": false, - "stat": "Shard", - "faction": "Thousand Sons", - "rarity": "Shard", - "locations": [ - "SH60" - ] - }, - "Ahriman": { - "material": "Ahriman", - "craftable": false, - "stat": "Shard", - "faction": "Thousand Sons", - "rarity": "Shard", - "locations": [ - "SH75" - ] - } -} \ No newline at end of file + "Vindicta": { + "material": "Vindicta", + "craftable": false, + "stat": "Shard", + "faction": "Adepta Sororitas", + "rarity": "Shard", + "locations": ["I29", "IM15", "IME8"] + }, + "Celestine": { + "material": "Celestine", + "craftable": false, + "stat": "Shard", + "faction": "Adepta Sororitas", + "rarity": "Shard", + "locations": ["FoC60", "FoC32"] + }, + "Sibyll Devine": { + "material": "Sibyll Devine", + "craftable": false, + "stat": "Shard", + "faction": "Astra Militarum", + "rarity": "Shard", + "locations": ["FoC30", "FoC16"] + }, + "Kut Skoden": { + "material": "Kut Skoden", + "craftable": false, + "stat": "Shard", + "faction": "Astra Militarum", + "rarity": "Shard", + "locations": ["FoC15", "FoC8"] + }, + "Thaddeus Noble": { + "material": "Thaddeus Noble", + "craftable": false, + "stat": "Shard", + "faction": "Astra Militarum", + "rarity": "Shard", + "locations": ["FoC45", "FoC24"] + }, + "Castellan Creed": { + "material": "Castellan Creed", + "craftable": false, + "stat": "Shard", + "faction": "Astra Militarum", + "rarity": "Shard", + "locations": ["FoC75", "FoC40"] + }, + "Sword Brother Godswyl": { + "material": "Sword Brother Godswyl", + "craftable": false, + "stat": "Shard", + "faction": "Black Templars", + "rarity": "Shard", + "locations": ["O30", "OE16"] + }, + "Brother Burchard": { + "material": "Brother Burchard", + "craftable": false, + "stat": "Shard", + "faction": "Black Templars", + "rarity": "Shard", + "locations": ["O15", "OE8"] + }, + "Ancient Thoread": { + "material": "Ancient Thoread", + "craftable": false, + "stat": "Shard", + "faction": "Black Templars", + "rarity": "Shard", + "locations": ["O45", "OE24"] + }, + "Brother Jaeger": { + "material": "Brother Jaeger", + "craftable": false, + "stat": "Shard", + "faction": "Black Templars", + "rarity": "Shard", + "locations": ["O60", "OE32"] + }, + "High Marshal Helbrecht": { + "material": "High Marshal Helbrecht", + "craftable": false, + "stat": "Shard", + "faction": "Black Templars", + "rarity": "Shard", + "locations": ["O75", "OE40"] + }, + "Varro Tigurius": { + "material": "Varro Tigurius", + "craftable": false, + "stat": "Shard", + "faction": "Ultramarines", + "rarity": "Shard", + "locations": ["I18", "IM60", "IME32"] + }, + "Certus": { + "material": "Certus", + "craftable": false, + "stat": "Shard", + "faction": "Ultramarines", + "rarity": "Shard", + "locations": ["I21", "IM45", "IME24"] + }, + "Bellator": { + "material": "Bellator", + "craftable": false, + "stat": "Shard", + "faction": "Ultramarines", + "rarity": "Shard", + "locations": ["I24", "IM30", "IME16"] + }, + "Incisus": { + "material": "Incisus", + "craftable": false, + "stat": "Shard", + "faction": "Ultramarines", + "rarity": "Shard", + "locations": ["I27"] + }, + "Marneus Calgar": { + "material": "Marneus Calgar", + "craftable": false, + "stat": "Shard", + "faction": "Ultramarines", + "rarity": "Shard", + "locations": ["IM75", "IME4"] + }, + "Makhotep": { + "material": "Makhotep", + "craftable": false, + "stat": "Shard", + "faction": "Necrons", + "rarity": "Shard", + "locations": ["I15", "IE8"] + }, + "Imospekh": { + "material": "Imospekh", + "craftable": false, + "stat": "Shard", + "faction": "Necrons", + "rarity": "Shard", + "locations": ["I30", "IE16"] + }, + "Aleph-Null": { + "material": "Aleph-Null", + "craftable": false, + "stat": "Shard", + "faction": "Necrons", + "rarity": "Shard", + "locations": ["I45", "IE24"] + }, + "Thutmose": { + "material": "Thutmose", + "craftable": false, + "stat": "Shard", + "faction": "Necrons", + "rarity": "Shard", + "locations": ["I60", "IE32"] + }, + "Anuphet": { + "material": "Anuphet", + "craftable": false, + "stat": "Shard", + "faction": "Necrons", + "rarity": "Shard", + "locations": ["I75", "IE40"] + }, + "Snotflogga": { + "material": "Snotflogga", + "craftable": false, + "stat": "Shard", + "faction": "Orks", + "rarity": "Shard", + "locations": ["OM45"] + }, + "Gibbascrapz": { + "material": "Gibbascrapz", + "craftable": false, + "stat": "Shard", + "faction": "Orks", + "rarity": "Shard", + "locations": ["OM30"] + }, + "Snappawrecka": { + "material": "Snappawrecka", + "craftable": false, + "stat": "Shard", + "faction": "Orks", + "rarity": "Shard", + "locations": ["OM15"] + }, + "Tanksmasha": { + "material": "Tanksmasha", + "craftable": false, + "stat": "Shard", + "faction": "Orks", + "rarity": "Shard", + "locations": ["OM60"] + }, + "Boss Gulgortz": { + "material": "Boss Gulgortz", + "craftable": false, + "stat": "Shard", + "faction": "Orks", + "rarity": "Shard", + "locations": ["OM75"] + }, + "Angrax": { + "material": "Angrax", + "craftable": false, + "stat": "Shard", + "faction": "Black Legion", + "rarity": "Shard", + "locations": ["FoCM15", "FoCME8"] + }, + "Volk": { + "material": "Volk", + "craftable": false, + "stat": "Shard", + "faction": "Black Legion", + "rarity": "Shard", + "locations": ["FoCM45", "FoCME24"] + }, + "Archimatos": { + "material": "Archimatos", + "craftable": false, + "stat": "Shard", + "faction": "Black Legion", + "rarity": "Shard", + "locations": ["FoCM30", "FoCME16"] + }, + "Haarken Worldclaimer": { + "material": "Haarken Worldclaimer", + "craftable": false, + "stat": "Shard", + "faction": "Black Legion", + "rarity": "Shard", + "locations": ["FoCM60", "FoCME32"] + }, + "Abaddon The Despoiler": { + "material": "Abaddon The Despoiler", + "craftable": false, + "stat": "Shard", + "faction": "Black Legion", + "rarity": "Shard", + "locations": ["FoCM75", "FoCME40"] + }, + "Yazaghor": { + "material": "Yazaghor", + "craftable": false, + "stat": "Shard", + "faction": "Thousand Sons", + "rarity": "Shard", + "locations": ["SH45"] + }, + "Toth": { + "material": "Toth", + "craftable": false, + "stat": "Shard", + "faction": "Thousand Sons", + "rarity": "Shard", + "locations": ["SH15"] + }, + "Abraxas": { + "material": "Abraxas", + "craftable": false, + "stat": "Shard", + "faction": "Thousand Sons", + "rarity": "Shard", + "locations": ["SH30"] + }, + "Thaumachus": { + "material": "Thaumachus", + "craftable": false, + "stat": "Shard", + "faction": "Thousand Sons", + "rarity": "Shard", + "locations": ["SH60"] + }, + "Ahriman": { + "material": "Ahriman", + "craftable": false, + "stat": "Shard", + "faction": "Thousand Sons", + "rarity": "Shard", + "locations": ["SH75"] + } +} diff --git a/src/contexts/auth.tsx b/src/contexts/auth.tsx index f90dc1d8..f77ebadc 100644 --- a/src/contexts/auth.tsx +++ b/src/contexts/auth.tsx @@ -18,11 +18,11 @@ const AuthContext = createContext({ isAuthenticated: !!localStorage.getItem(localStorageKey), token: localStorage.getItem(localStorageKey) ?? '', // eslint-disable-next-line @typescript-eslint/no-empty-function - login(token: string): void {}, + login(): void {}, // eslint-disable-next-line @typescript-eslint/no-empty-function logout(): void {}, // eslint-disable-next-line @typescript-eslint/no-empty-function - setUser(username: string, shareToken?: string): void {}, + setUser(): void {}, }); export function AuthProvider({ children }: PropsWithChildren) { diff --git a/src/hooks/pop-up-controls.ts b/src/hooks/pop-up-controls.ts index 77adc4d1..c2e20e0f 100644 --- a/src/hooks/pop-up-controls.ts +++ b/src/hooks/pop-up-controls.ts @@ -9,6 +9,6 @@ export const usePopUpControls = () => { const handleClose = () => { setAnchorEl(null); }; - + return { anchorEl, open, handleClick, handleClose }; }; diff --git a/src/index.css b/src/index.css index 4f164253..cb916066 100644 --- a/src/index.css +++ b/src/index.css @@ -1,17 +1,17 @@ -html, body, #root { +html, +body, +#root { height: 100%; width: 100%; margin: 0; - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', - 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', - sans-serif; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', + 'Droid Sans', 'Helvetica Neue', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } code { - font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', - monospace; + font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', monospace; } .bold { @@ -19,87 +19,87 @@ code { } .alpha { - background-color: #93C47D; + background-color: #93c47d; } .beta { - background-color: #C9DAF8; + background-color: #c9daf8; } .gamma { - background-color: #FCE5CD; + background-color: #fce5cd; } .stone1 { - background-color: #CDB3A0; + background-color: #cdb3a0; } .stone2 { - background-color: #B09A8A; + background-color: #b09a8a; } .stone3 { - background-color: #8C827A; + background-color: #8c827a; } .iron1 { - background-color: #D9EAD3; + background-color: #d9ead3; } .iron2 { - background-color: #B6D7A8; + background-color: #b6d7a8; } .iron3 { - background-color: #93C47D; + background-color: #93c47d; } .bronze1 { - background-color: #F9CB9C; + background-color: #f9cb9c; } .bronze2 { - background-color: #F6B26B; + background-color: #f6b26b; } .bronze3 { - background-color: #E69138; + background-color: #e69138; } .silver1 { - background-color: #EFEFEF; + background-color: #efefef; } .silver2 { - background-color: #D9D9D9; + background-color: #d9d9d9; } .silver3 { - background-color: #CCCCCC; + background-color: #cccccc; } .gold1 { - background-color: #FFE599; + background-color: #ffe599; } .gold2 { - background-color: #FFD966; + background-color: #ffd966; } .gold3 { - background-color: #F1C232; + background-color: #f1c232; } .diamond1 { - background-color: #CFE2F3; + background-color: #cfe2f3; } .diamond2 { - background-color: #9FC5E8; + background-color: #9fc5e8; } .diamond3 { - background-color: #6FA8DC; + background-color: #6fa8dc; } .ag-theme-material { @@ -120,45 +120,45 @@ code { } .common { - background-color: #CDB3A0; + background-color: #cdb3a0; } .uncommon { - background-color: #F9CB9C; + background-color: #f9cb9c; } .rare { - background-color: #EFEFEF; + background-color: #efefef; } .epic { - background-color: #FFE599; + background-color: #ffe599; } .legendary { - background-color: #CFE2F3; + background-color: #cfe2f3; } .upgrade { - background-color: #012A41; + background-color: #012a41; } .common-upgrade { - border: 2px solid #CDB3A0; + border: 2px solid #cdb3a0; } .uncommon-upgrade { - border: 2px solid #F9CB9C; + border: 2px solid #f9cb9c; } .rare-upgrade { - border: 2px solid #EFEFEF; + border: 2px solid #efefef; } .epic-upgrade { - border: 2px solid #FFE599; + border: 2px solid #ffe599; } .legendary-upgrade { - border: 2px solid #CFE2F3; -} \ No newline at end of file + border: 2px solid #cfe2f3; +} diff --git a/src/mobile-routes/legendary-events/legendary-event.tsx b/src/mobile-routes/legendary-events/legendary-event.tsx index 591f39bc..97139d6a 100644 --- a/src/mobile-routes/legendary-events/legendary-event.tsx +++ b/src/mobile-routes/legendary-events/legendary-event.tsx @@ -5,34 +5,35 @@ import { ILegendaryEvent } from '../../models/interfaces'; import { LegendaryEventTrack } from './legendary-event-track'; import ExpandMoreIcon from '@mui/icons-material/ExpandMore'; -export const LegendaryEvent = (props: { legendaryEvent: ILegendaryEvent}) => { +export const LegendaryEvent = (props: { legendaryEvent: ILegendaryEvent }) => { return ( - - }>{props.legendaryEvent.alpha.name} - {props.legendaryEvent.alpha.killPoints} kill points + }> + {props.legendaryEvent.alpha.name} - {props.legendaryEvent.alpha.killPoints} kill points + - + - + - }>{props.legendaryEvent.beta.name} - {props.legendaryEvent.beta.killPoints} kill points + }> + {props.legendaryEvent.beta.name} - {props.legendaryEvent.beta.killPoints} kill points + - + - + - }>{props.legendaryEvent.gamma.name} - {props.legendaryEvent.gamma.killPoints} kill points + }> + {props.legendaryEvent.gamma.name} - {props.legendaryEvent.gamma.killPoints} kill points + - + ); }; - diff --git a/src/routes/characters/multiple-select.tsx b/src/routes/characters/multiple-select.tsx index b4827ce8..dc054f40 100644 --- a/src/routes/characters/multiple-select.tsx +++ b/src/routes/characters/multiple-select.tsx @@ -20,10 +20,10 @@ const MenuProps = { }; export default function MultipleSelectCheckmarks(props: { - values: string[], - selectedValues: string[], - placeholder: string, - selectionChanges: (value: string[]) => void + values: string[]; + selectedValues: string[]; + placeholder: string; + selectionChanges: (value: string[]) => void; }) { const [selectedLabels, setSelectedLabels] = React.useState(props.selectedValues); const handleChange = (event: SelectChangeEvent) => { @@ -45,18 +45,17 @@ export default function MultipleSelectCheckmarks(props: { multiple value={selectedLabels} onChange={handleChange} - input={} - renderValue={(selected) => selected.join(', ')} - MenuProps={MenuProps} - > - {props.values.map((label) => ( + input={} + renderValue={selected => selected.join(', ')} + MenuProps={MenuProps}> + {props.values.map(label => ( - -1}/> - + -1} /> + ))} ); -} \ No newline at end of file +} diff --git a/src/routes/dirty-dozen/dirty-dozen.css b/src/routes/dirty-dozen/dirty-dozen.css index fbcea8b8..92734f4a 100644 --- a/src/routes/dirty-dozen/dirty-dozen.css +++ b/src/routes/dirty-dozen/dirty-dozen.css @@ -1,4 +1,4 @@ -.ag-header-cell.score .ag-header-cell-label{ +.ag-header-cell.score .ag-header-cell-label { justify-content: center; } @@ -18,25 +18,25 @@ } .dirty-dozen-score.pvp { - background-color: #F06E6D; + background-color: #f06e6d; } .dirty-dozen-score.tyranids { - background-color: #F8A95F; + background-color: #f8a95f; } .dirty-dozen-score.necron { - background-color: #FAFD5D; + background-color: #fafd5d; } .dirty-dozen-score.ork { - background-color: #A0CC90; + background-color: #a0cc90; } .dirty-dozen-score.mortarion { - background-color: #8BABF8; + background-color: #8babf8; } .dirty-dozen-score.screamer { - background-color: #C86BE6; + background-color: #c86be6; } diff --git a/src/routes/inventory.scss b/src/routes/inventory.scss index 750810cc..73d88c3c 100644 --- a/src/routes/inventory.scss +++ b/src/routes/inventory.scss @@ -1,41 +1,41 @@ .inventory-controls { - display: flex; - align-items: center; - justify-content: center; - flex-wrap: wrap; - gap: 20px; - margin: 20px; + display: flex; + align-items: center; + justify-content: center; + flex-wrap: wrap; + gap: 20px; + margin: 20px; } .inventory-items-group { - display: flex; - flex-direction: column; - gap: 5px; - padding-bottom: 20px; - - h2 { - text-align: center; - } + display: flex; + flex-direction: column; + gap: 5px; + padding-bottom: 20px; + + h2 { + text-align: center; + } } .inventory-items { - display: flex; - gap: 20px; - flex-wrap: wrap; - justify-content: center; - - .inventory-item { display: flex; - flex-direction: column; - } + gap: 20px; + flex-wrap: wrap; + justify-content: center; + + .inventory-item { + display: flex; + flex-direction: column; + } } input.item-quantity-input::-webkit-outer-spin-button, input.item-quantity-input::-webkit-inner-spin-button { - -webkit-appearance: none; - margin: 0; + -webkit-appearance: none; + margin: 0; } /* Firefox */ -input.item-quantity-input[type=number] { - -moz-appearance: textfield; -} \ No newline at end of file +input.item-quantity-input[type='number'] { + -moz-appearance: textfield; +} diff --git a/src/routes/legendary-events/my-progress-dialog.tsx b/src/routes/legendary-events/my-progress-dialog.tsx index f82995cd..050ed4c9 100644 --- a/src/routes/legendary-events/my-progress-dialog.tsx +++ b/src/routes/legendary-events/my-progress-dialog.tsx @@ -10,7 +10,7 @@ import { ILegendaryEvent } from '../../models/interfaces'; import { LeProgress } from '../../shared-components/le-progress'; import { LegendaryEventEnum } from '../../models/enums'; -export function MyProgressDialog({ legendaryEvent }: { legendaryEvent: ILegendaryEvent}) { +export function MyProgressDialog({ legendaryEvent }: { legendaryEvent: ILegendaryEvent }) { const [open, setOpen] = React.useState(false); const [myProgressSection, setMyProgressSection] = React.useState('Overview'); const handleClickOpen = () => { @@ -20,34 +20,31 @@ export function MyProgressDialog({ legendaryEvent }: { legendaryEvent: ILegendar const handleClose = () => { setOpen(false); }; - + return (
- + - + {LegendaryEventEnum[legendaryEvent.id]} - My Progress - {myProgressSection} - WIKI + + WIKI + - +
); diff --git a/src/routes/root/about.css b/src/routes/root/about.css index e8b88f31..e447795d 100644 --- a/src/routes/root/about.css +++ b/src/routes/root/about.css @@ -1,4 +1,3 @@ - -p { +p { margin-inline-start: 1em; -} \ No newline at end of file +} diff --git a/src/routes/who-you-own/who-you-own.scss b/src/routes/who-you-own/who-you-own.scss index 7b4f89f7..4d0b9ac7 100644 --- a/src/routes/who-you-own/who-you-own.scss +++ b/src/routes/who-you-own/who-you-own.scss @@ -6,48 +6,48 @@ $columnCount3: 3; $columnCount2: 2; @mixin responsiveGrid($columns, $maxWidth) { - $roundedRows: round($factionsCount / $columns); - @media (max-width: #{$maxWidth}px) { - grid-template-rows: repeat(#{$roundedRows}, 1fr); - } + $roundedRows: round($factionsCount / $columns); + @media (max-width: #{$maxWidth}px) { + grid-template-rows: repeat(#{$roundedRows}, 1fr); + } } .box { - color: white; - column-gap: 25px; - display: grid; - grid-auto-flow: column; - justify-content: center; - - /* 5 columns */ - $roundedRows5: round($factionsCount / $columnCount5); - grid-template-rows: repeat(#{$roundedRows5}, 1fr); - - /* Media queries for different column configurations */ - @include responsiveGrid($columnCount4, 2000); /* 4 columns */ - @include responsiveGrid($columnCount3, 1600); /* 3 columns */ - @include responsiveGrid($columnCount2, 1200); /* 2 columns */ - - /* 1 column */ - @media (max-width: 800px) { - display: flex; - flex-wrap: wrap; - } + color: white; + column-gap: 25px; + display: grid; + grid-auto-flow: column; + justify-content: center; + + /* 5 columns */ + $roundedRows5: round($factionsCount / $columnCount5); + grid-template-rows: repeat(#{$roundedRows5}, 1fr); + + /* Media queries for different column configurations */ + @include responsiveGrid($columnCount4, 2000); /* 4 columns */ + @include responsiveGrid($columnCount3, 1600); /* 3 columns */ + @include responsiveGrid($columnCount2, 1200); /* 2 columns */ + + /* 1 column */ + @media (max-width: 800px) { + display: flex; + flex-wrap: wrap; + } } .faction-title { - margin-bottom: 0; - margin-top: 5px; - border-top: 2px solid gold; - font-weight: 500; + margin-bottom: 0; + margin-top: 5px; + border-top: 2px solid gold; + font-weight: 500; } .characters-box { - //background-color: rgba(0, 0, 0, 0.5); - box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.6); - - &.mixed { - display: flex; - flex-wrap: wrap; - } -} \ No newline at end of file + //background-color: rgba(0, 0, 0, 0.5); + box-shadow: 1px 2px 3px rgba(0, 0, 0, 0.6); + + &.mixed { + display: flex; + flex-wrap: wrap; + } +} diff --git a/src/shared-components/character-title.css b/src/shared-components/character-title.css index 5eb66682..73322a62 100644 --- a/src/shared-components/character-title.css +++ b/src/shared-components/character-title.css @@ -23,14 +23,14 @@ .ability-level { width: 15px; height: 15px; - + line-height: 15px; text-align: center; - + border-radius: 50%; border: 1px solid gold; - background-color: #012A41; + background-color: #012a41; color: white; - + font-size: 12px; -} \ No newline at end of file +} diff --git a/src/shared-components/character-upgrades.css b/src/shared-components/character-upgrades.css index 0e9bf250..0c53a3d7 100644 --- a/src/shared-components/character-upgrades.css +++ b/src/shared-components/character-upgrades.css @@ -1,9 +1,9 @@ .upgrades-column { display: flex; flex-direction: column; - + align-items: center; justify-content: center; - - gap: 5px ; -} \ No newline at end of file + + gap: 5px; +} diff --git a/src/shared-components/user-menu/login-user-dialog.tsx b/src/shared-components/user-menu/login-user-dialog.tsx index b079b1c4..69bcd48c 100644 --- a/src/shared-components/user-menu/login-user-dialog.tsx +++ b/src/shared-components/user-menu/login-user-dialog.tsx @@ -6,8 +6,8 @@ import { DialogActions, DialogContent, DialogTitle, - FormControl, - Input + FormControl, + Input, } from '@mui/material'; import Button from '@mui/material/Button'; import { loginUser } from '../../api/api-functions'; @@ -18,15 +18,15 @@ import { enqueueSnackbar } from 'notistack'; import Box from '@mui/material/Box'; import InputLabel from '@mui/material/InputLabel'; -export const LoginUserDialog = ({ isOpen, onClose }: { isOpen: boolean, onClose: () => void }) => { +export const LoginUserDialog = ({ isOpen, onClose }: { isOpen: boolean; onClose: () => void }) => { const [loginForm, setLoginForm] = useState({ username: '', password: '', }); const [open, setOpen] = React.useState(false); - + const { login } = useAuth(); - + return ( Login @@ -34,42 +34,51 @@ export const LoginUserDialog = ({ isOpen, onClose }: { isOpen: boolean, onClose: event.preventDefault()}> Username - setLoginForm(curr => ({ ...curr, username: event.target.value }))} /> + setLoginForm(curr => ({ ...curr, username: event.target.value }))} + /> Password - setLoginForm(curr => ({ ...curr, password: event.target.value }))} /> + setLoginForm(curr => ({ ...curr, password: event.target.value }))} + /> - + - theme.zIndex.drawer + 1 }} - open={open} - > + theme.zIndex.drawer + 1 }} open={open}> ); -}; \ No newline at end of file +}; diff --git a/src/shared-components/user-menu/register-user-dialog.tsx b/src/shared-components/user-menu/register-user-dialog.tsx index 770ccbd6..9672f334 100644 --- a/src/shared-components/user-menu/register-user-dialog.tsx +++ b/src/shared-components/user-menu/register-user-dialog.tsx @@ -5,10 +5,10 @@ import { CircularProgress, DialogActions, DialogContent, - DialogTitle, + DialogTitle, FormControl, - FormHelperText, - Input + FormHelperText, + Input, } from '@mui/material'; import Button from '@mui/material/Button'; import { registerUser } from '../../api/api-functions'; @@ -18,11 +18,11 @@ import { enqueueSnackbar } from 'notistack'; import InputLabel from '@mui/material/InputLabel'; import Box from '@mui/material/Box'; -export const RegisterUserDialog = ({ isOpen, onClose }: { isOpen: boolean, onClose: (success: boolean) => void }) => { +export const RegisterUserDialog = ({ isOpen, onClose }: { isOpen: boolean; onClose: (success: boolean) => void }) => { const [registerForm, setRegisterForm] = useState({ username: '', password: '', - confirmPassword: '' + confirmPassword: '', }); const [open, setOpen] = React.useState(false); @@ -35,66 +35,93 @@ export const RegisterUserDialog = ({ isOpen, onClose }: { isOpen: boolean, onClo event.preventDefault()}> Username - setRegisterForm(curr => ({ ...curr, username: event.target.value }))} /> - Should be between 3 to 20 characters long. Only [a-zA-Z0-9_-] characters are allowed. + setRegisterForm(curr => ({ ...curr, username: event.target.value }))} + /> + + Should be between 3 to 20 characters long. Only [a-zA-Z0-9_-] characters are allowed. + Password - setRegisterForm(curr => ({ ...curr, password: event.target.value }))} /> - Should be between 5 to 64 characters long. + setRegisterForm(curr => ({ ...curr, password: event.target.value }))} + /> + + Should be between 5 to 64 characters long. + Confirm password - setRegisterForm(curr => ({ ...curr, confirmPassword: event.target.value }))} /> + + setRegisterForm(curr => ({ ...curr, confirmPassword: event.target.value })) + } + /> - + if (!usernamePattern.test(registerForm.username)) { + alert( + 'Username should be between 3 to 20 characters long. Only [a-zA-Z0-9_-] characters are allowed.' + ); + return; + } + + if (registerForm.password.length < 5 || registerForm.password.length > 64) { + alert('Password should be between 5 to 64 characters long.'); + return; + } + + if (registerForm.password !== registerForm.confirmPassword) { + alert('Passwords are not matching.'); + return; + } + setOpen(true); + registerUser(registerForm.username, registerForm.password) + .then(() => { + onClose(true); + enqueueSnackbar( + registerForm.username + + ' is successfully registered. Use your username and password to login.', + { variant: 'success' } + ); + }) + .catch((err: AxiosError) => { + if (err.response?.status === 401) { + enqueueSnackbar('Session expired. Please re-login.', { variant: 'error' }); + } else if (err.response?.status === 400) { + alert(err.response.data.message); + } else { + enqueueSnackbar('Something went wrong. Try again later', { variant: 'error' }); + } + }) + .finally(() => setOpen(false)); + }}> + Submit + - theme.zIndex.drawer + 1 }} - open={open} - > + theme.zIndex.drawer + 1 }} open={open}> diff --git a/src/shared-components/whats-new-dialog.css b/src/shared-components/whats-new-dialog.css index e7cf6e7e..731016b7 100644 --- a/src/shared-components/whats-new-dialog.css +++ b/src/shared-components/whats-new-dialog.css @@ -4,4 +4,4 @@ .whats-new img { padding-top: 10px; -} \ No newline at end of file +} diff --git a/tsconfig.json b/tsconfig.json index cdd146a3..8be0c0f1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,28 +1,22 @@ { - "compilerOptions": { - "target": "ESNext", - "lib": [ - "dom", - "dom.iterable", - "esnext" - ], - "types": ["vite/client", "node"], - "allowJs": true, - "skipLibCheck": true, - "esModuleInterop": true, - "allowSyntheticDefaultImports": true, - "strict": true, - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "module": "esnext", - "moduleResolution": "node", - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "sourceMap": true, - "jsx": "react-jsx", - }, - "include": [ - "src" - ] -} \ No newline at end of file + "compilerOptions": { + "target": "ESNext", + "lib": ["dom", "dom.iterable", "esnext"], + "types": ["vite/client", "node"], + "allowJs": true, + "skipLibCheck": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "sourceMap": true, + "jsx": "react-jsx" + }, + "include": ["src"] +} diff --git a/vite.config.mts b/vite.config.mts index d5877f08..0aa7e247 100644 --- a/vite.config.mts +++ b/vite.config.mts @@ -2,6 +2,7 @@ import react from '@vitejs/plugin-react'; import viteTsconfigPaths from 'vite-tsconfig-paths'; import browserslistToEsbuild from 'browserslist-to-esbuild'; +import eslint from 'vite-plugin-eslint'; export default defineConfig({ // depending on your application, base can also be "/" @@ -14,6 +15,7 @@ export default defineConfig({ }, }), viteTsconfigPaths(), + eslint(), ], server: { // this ensures that the browser opens upon server start