gitextract_ffd8hvvc/ ├── .devcontainer/ │ ├── Dockerfile │ ├── devcontainer.json │ └── docker-compose.yml ├── .github/ │ ├── CODEOWNERS │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug.yml │ │ ├── config.yml │ │ └── feature-request.yml │ ├── dependabot.yml │ ├── exclude.txt │ ├── new-pr-comment.md │ ├── pull_request_template.md │ └── workflows/ │ ├── branch-deploy.yml │ ├── ci.yml │ ├── codeql-analysis.yml │ ├── combine-prs.yml │ ├── deploy.yml │ ├── new-pr.yml │ └── unlock-on-merge.yml ├── .gitignore ├── .husky/ │ └── pre-commit ├── .node-version ├── .nvmrc ├── .prettierignore ├── .stylelintignore ├── .vscode/ │ ├── launch.json │ └── settings.json ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── SECURITY.md ├── additional.d.ts ├── dependabot.yml ├── i18next-parser.config.mjs ├── package.json ├── prettier.config.mjs ├── public/ │ ├── browserconfig.xml │ ├── data/ │ │ └── .gitignore │ ├── index.html │ ├── robots.txt │ └── site.webmanifest ├── rsbuild.config.ts ├── rstest.config.ts ├── rstest.setup.ts ├── scripts/ │ ├── build-redirects.mjs │ ├── build-sitemap.mjs │ ├── critical.mjs │ ├── custom-loader.mjs │ ├── generate-thumbnails.mjs │ ├── generate_api-users_thumbs_macOS.sh │ ├── generate_items_thumbs.mjs │ ├── generate_items_thumbs_macOS.sh │ ├── generate_known_icons_macOS.sh │ ├── get-contributors.mjs │ ├── get-supported-languages.mjs │ ├── test-redirects.mjs │ └── update-props.mjs ├── src/ │ ├── App.css │ ├── App.jsx │ ├── __tests__/ │ │ ├── App.test.jsx │ │ ├── test-utils.js │ │ └── tsconfig.json │ ├── components/ │ │ ├── Debug.jsx │ │ ├── FilterIcon.jsx │ │ ├── FleaMarketLoadingIcon.jsx │ │ ├── Graph.jsx │ │ ├── GraphLabel.jsx │ │ ├── SEO.jsx │ │ ├── Symbol.jsx │ │ ├── Time.jsx │ │ ├── api-metrics-graph/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── barter-tooltip/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── barters-table/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── boss-list/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── canvas-grid/ │ │ │ └── index.jsx │ │ ├── center-cell/ │ │ │ └── index.jsx │ │ ├── cheeki-breeki-effect/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── contained-items-list/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── contributors/ │ │ │ └── index.jsx │ │ ├── cost-items-cell/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── countdown/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── crafts-table/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── data-table/ │ │ │ ├── Arrow.tsx │ │ │ ├── TableHead.tsx │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── em-item-tag/ │ │ │ └── index.jsx │ │ ├── filter/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── flea-price-cell/ │ │ │ └── index.jsx │ │ ├── footer/ │ │ │ ├── index.css │ │ │ └── index.tsx │ │ ├── item-cost/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── item-grid/ │ │ │ ├── Item.jsx │ │ │ ├── ItemIcon.jsx │ │ │ ├── ItemTooltip.jsx │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── item-icon-list/ │ │ │ └── index.jsx │ │ ├── item-image/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── item-name-cell/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── item-search/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── items-for-hideout/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── items-summary-table/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── loading/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── loading-small/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── loyalty-level-icon/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── menu/ │ │ │ ├── CategoryMenu.jsx │ │ │ ├── MenuItem.jsx │ │ │ ├── alert-config.js │ │ │ ├── index.css │ │ │ ├── index.jsx │ │ │ ├── menu-data.js │ │ │ └── useMenuOverflow.js │ │ ├── open-collective-button/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── patreon-button/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── points/ │ │ │ ├── Circle.jsx │ │ │ ├── Diamond.jsx │ │ │ ├── Plus.jsx │ │ │ ├── Square.jsx │ │ │ ├── TriangleDown.jsx │ │ │ ├── TriangleUp.jsx │ │ │ └── index.jsx │ │ ├── preset-selector/ │ │ │ └── index.jsx │ │ ├── price-graph/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── property-list/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── quest-items-cell/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── quest-table/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── remote-control-id/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── reward-cell/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── reward-image/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── scroll-to-top/ │ │ │ └── index.jsx │ │ ├── server-status/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── small-item-table/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── station-skill-trader-setting/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── supporter/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── supporters-list/ │ │ │ └── index.jsx │ │ ├── trader-image/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── trader-price-cell/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── trader-reset-time/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── ukraine-button/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ └── value-cell/ │ │ ├── index.css │ │ └── index.jsx │ ├── data/ │ │ ├── api-users.json │ │ ├── bosses.json │ │ ├── category-pages.json │ │ ├── game-modes.json │ │ ├── item-grids.json │ │ ├── maps.json │ │ ├── maps_static.json │ │ ├── patreons.json │ │ └── wipe-details.json │ ├── features/ │ │ ├── barters/ │ │ │ ├── do-fetch-barters.mjs │ │ │ └── index.js │ │ ├── crafts/ │ │ │ ├── do-fetch-crafts.mjs │ │ │ └── index.js │ │ ├── hideout/ │ │ │ ├── do-fetch-hideout.mjs │ │ │ └── index.js │ │ ├── items/ │ │ │ ├── do-fetch-items.mjs │ │ │ └── index.js │ │ ├── maps/ │ │ │ ├── do-fetch-maps.mjs │ │ │ └── index.js │ │ ├── quests/ │ │ │ ├── do-fetch-quests.mjs │ │ │ └── index.js │ │ ├── settings/ │ │ │ └── settingsSlice.mjs │ │ ├── sockets/ │ │ │ └── socketsSlice.js │ │ ├── status/ │ │ │ ├── do-fetch-status.mjs │ │ │ └── index.mjs │ │ └── traders/ │ │ ├── do-fetch-traders.mjs │ │ └── index.js │ ├── hooks/ │ │ ├── useDate.jsx │ │ ├── useKeyPress.jsx │ │ ├── useObserver.jsx │ │ ├── useRepositoryContributors.js │ │ └── useStateWithLocalStorage.jsx │ ├── i18n.js │ ├── index.jsx │ ├── modules/ │ │ ├── api-query.mjs │ │ ├── api-request.mjs │ │ ├── best-price.js │ │ ├── camelcase-to-dashes.js │ │ ├── capitalize-first.js │ │ ├── dogtags.js │ │ ├── flea-market-fee.mjs │ │ ├── format-ammo.mjs │ │ ├── format-category-name.js │ │ ├── format-cost-items.js │ │ ├── format-duration.js │ │ ├── format-price.js │ │ ├── graphql-request.mjs │ │ ├── item-can-contain.js │ │ ├── item-search.js │ │ ├── lang-helpers.js │ │ ├── leaflet-control-coordinates.js │ │ ├── leaflet-control-groupedlayer.js │ │ ├── leaflet-control-map-search.js │ │ ├── leaflet-control-map-settings.js │ │ ├── leaflet-control-raid-info.js │ │ ├── leaflet-control-remote.js │ │ ├── make-id.js │ │ ├── mui-theme.mjs │ │ ├── player-stats.mjs │ │ ├── polyfills.js │ │ ├── property-format.js │ │ ├── queue-browser-task.js │ │ ├── remote-websocket.mjs │ │ ├── task-elements.css │ │ ├── task-elements.mjs │ │ ├── window-focus-handler.mjs │ │ └── wipe-length.js │ ├── pages/ │ │ ├── about/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── achievements/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── ammo/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── api-docs/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── api-users/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── barters/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── bitcoin-farm-calculator/ │ │ │ ├── data.js │ │ │ ├── graph.jsx │ │ │ ├── index.css │ │ │ ├── index.jsx │ │ │ ├── profit-info.jsx │ │ │ └── profitable-graph.jsx │ │ ├── boss/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── bosses/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── control/ │ │ │ ├── Connect.jsx │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── converter/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── crafts/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── error-page/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── hideout/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── item/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── item-tracker/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── items/ │ │ │ ├── armors/ │ │ │ │ └── index.jsx │ │ │ ├── backpacks/ │ │ │ │ └── index.jsx │ │ │ ├── barter-items/ │ │ │ │ └── index.jsx │ │ │ ├── bsg-category/ │ │ │ │ └── index.jsx │ │ │ ├── containers/ │ │ │ │ └── index.jsx │ │ │ ├── glasses/ │ │ │ │ └── index.jsx │ │ │ ├── grenades/ │ │ │ │ └── index.jsx │ │ │ ├── guns/ │ │ │ │ └── index.jsx │ │ │ ├── handbook-category/ │ │ │ │ └── index.jsx │ │ │ ├── headsets/ │ │ │ │ └── index.jsx │ │ │ ├── helmets/ │ │ │ │ └── index.jsx │ │ │ ├── index.css │ │ │ ├── index.jsx │ │ │ ├── keys/ │ │ │ │ └── index.jsx │ │ │ ├── mods/ │ │ │ │ └── index.jsx │ │ │ ├── pistol-grips/ │ │ │ │ └── index.jsx │ │ │ ├── provisions/ │ │ │ │ └── index.jsx │ │ │ ├── rigs/ │ │ │ │ └── index.jsx │ │ │ └── suppressors/ │ │ │ └── index.jsx │ │ ├── loot-tiers/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── map/ │ │ │ ├── index.css │ │ │ ├── index.jsx │ │ │ └── map-images.mjs │ │ ├── maps/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── moobot/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── nightbot/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── other-tools/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── player/ │ │ │ ├── index.css │ │ │ ├── index.jsx │ │ │ └── player-forward.jsx │ │ ├── players/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── prestige/ │ │ │ ├── index.css │ │ │ ├── index.jsx │ │ │ └── list.jsx │ │ ├── quest/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── quests/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── settings/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── start/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── stash-bot/ │ │ │ ├── index.css │ │ │ └── index.js │ │ ├── stream-elements/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── tarkov-monitor/ │ │ │ ├── index.css │ │ │ └── index.js │ │ ├── trader/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ ├── traders/ │ │ │ ├── index.css │ │ │ └── index.jsx │ │ └── wipe-length/ │ │ ├── index.css │ │ └── index.jsx │ ├── serviceWorker.js │ ├── setupTests.js │ ├── store.js │ ├── styles/ │ │ ├── mapRemote.css │ │ ├── mapSearch.css │ │ ├── mapSettings.css │ │ └── singleEntity.css │ └── translations/ │ ├── de/ │ │ ├── bosses.json │ │ ├── maps.json │ │ ├── properties.json │ │ └── translation.json │ ├── en/ │ │ ├── bosses.json │ │ ├── maps.json │ │ ├── properties.json │ │ └── translation.json │ ├── es/ │ │ ├── bosses.json │ │ ├── maps.json │ │ ├── properties.json │ │ └── translation.json │ ├── fr/ │ │ ├── bosses.json │ │ ├── maps.json │ │ ├── properties.json │ │ └── translation.json │ ├── it/ │ │ ├── bosses.json │ │ ├── maps.json │ │ ├── properties.json │ │ └── translation.json │ ├── ja/ │ │ ├── bosses.json │ │ ├── maps.json │ │ ├── properties.json │ │ └── translation.json │ ├── pl/ │ │ ├── bosses.json │ │ ├── maps.json │ │ ├── properties.json │ │ └── translation.json │ ├── pt/ │ │ ├── bosses.json │ │ ├── maps.json │ │ ├── properties.json │ │ └── translation.json │ ├── remove_equal_key_value.py │ ├── ru/ │ │ ├── bosses.json │ │ ├── maps.json │ │ ├── properties.json │ │ └── translation.json │ ├── sync_key_value.py │ └── zh/ │ ├── bosses.json │ ├── maps.json │ ├── properties.json │ └── translation.json ├── stylelint.config.mjs ├── tsconfig.json ├── workers-site/ │ ├── .cargo-ok │ ├── .gitignore │ ├── index-template.js │ └── package.json └── wrangler.toml